mirror of
https://github.com/cookiengineer/audacity
synced 2025-08-12 06:01:13 +02:00
Norm's patch to improve selection speed on large projects by reducing the number of unnecessary auto-saves. Maybe vertical zooming should also not trigger an auto-save?
This commit is contained in:
parent
2c47926141
commit
65e4f56126
@ -1922,7 +1922,7 @@ void AudacityProject::OnPlayStopSelect()
|
||||
if( mViewInfo.sel1 < mViewInfo.sel0 ) {
|
||||
mViewInfo.sel1 = mViewInfo.sel0;
|
||||
}
|
||||
ModifyState();
|
||||
ModifyState(false); // without bWantsAutoSave
|
||||
toolbar->OnStop(evt);
|
||||
}
|
||||
else if (!gAudioIO->IsBusy()) {
|
||||
@ -1945,7 +1945,7 @@ void AudacityProject::OnStopSelect()
|
||||
mViewInfo.sel1 = mViewInfo.sel0;
|
||||
}
|
||||
GetControlToolBar()->OnStop(evt);
|
||||
ModifyState();
|
||||
ModifyState(false); // without bWantsAutoSave
|
||||
}
|
||||
}
|
||||
|
||||
@ -2114,7 +2114,7 @@ void AudacityProject::OnSkipStart()
|
||||
wxCommandEvent evt;
|
||||
|
||||
GetControlToolBar()->OnRewind(evt);
|
||||
ModifyState();
|
||||
ModifyState(false);
|
||||
}
|
||||
|
||||
void AudacityProject::OnSkipEnd()
|
||||
@ -2122,7 +2122,7 @@ void AudacityProject::OnSkipEnd()
|
||||
wxCommandEvent evt;
|
||||
|
||||
GetControlToolBar()->OnFF(evt);
|
||||
ModifyState();
|
||||
ModifyState(false);
|
||||
}
|
||||
|
||||
void AudacityProject::OnSeekLeftShort()
|
||||
@ -2148,13 +2148,13 @@ void AudacityProject::OnSeekRightLong()
|
||||
void AudacityProject::OnSelToStart()
|
||||
{
|
||||
Rewind(true);
|
||||
ModifyState();
|
||||
ModifyState(false);
|
||||
}
|
||||
|
||||
void AudacityProject::OnSelToEnd()
|
||||
{
|
||||
SkipEnd(true);
|
||||
ModifyState();
|
||||
ModifyState(false);
|
||||
}
|
||||
|
||||
void AudacityProject::OnCursorUp()
|
||||
@ -2281,7 +2281,7 @@ void AudacityProject::OnSetLeftSelection()
|
||||
|
||||
if (bSelChanged)
|
||||
{
|
||||
ModifyState();
|
||||
ModifyState(false);
|
||||
mTrackPanel->Refresh(false);
|
||||
}
|
||||
}
|
||||
@ -2323,7 +2323,7 @@ void AudacityProject::OnSetRightSelection()
|
||||
|
||||
if (bSelChanged)
|
||||
{
|
||||
ModifyState();
|
||||
ModifyState(false);
|
||||
mTrackPanel->Refresh(false);
|
||||
}
|
||||
}
|
||||
@ -2642,7 +2642,7 @@ void AudacityProject::OnZeroCrossing()
|
||||
mViewInfo.sel1 = mViewInfo.sel0;
|
||||
}
|
||||
|
||||
ModifyState();
|
||||
ModifyState(false);
|
||||
|
||||
mTrackPanel->Refresh(false);
|
||||
}
|
||||
@ -4174,7 +4174,7 @@ void AudacityProject::OnSelectAll()
|
||||
mViewInfo.sel0 = mTracks->GetMinOffset();
|
||||
mViewInfo.sel1 = mTracks->GetEndTime();
|
||||
|
||||
ModifyState();
|
||||
ModifyState(false);
|
||||
|
||||
mTrackPanel->Refresh(false);
|
||||
if (mMixerBoard)
|
||||
@ -4185,7 +4185,7 @@ void AudacityProject::OnSelectNone()
|
||||
{
|
||||
this->SelectNone();
|
||||
mViewInfo.sel1 = mViewInfo.sel0;
|
||||
ModifyState();
|
||||
ModifyState(false);
|
||||
}
|
||||
|
||||
void AudacityProject::OnSelectCursorEnd()
|
||||
@ -4206,7 +4206,7 @@ void AudacityProject::OnSelectCursorEnd()
|
||||
|
||||
mViewInfo.sel1 = maxEndOffset;
|
||||
|
||||
ModifyState();
|
||||
ModifyState(false);
|
||||
|
||||
mTrackPanel->Refresh(false);
|
||||
}
|
||||
@ -4229,7 +4229,7 @@ void AudacityProject::OnSelectStartCursor()
|
||||
|
||||
mViewInfo.sel0 = minOffset;
|
||||
|
||||
ModifyState();
|
||||
ModifyState(false);
|
||||
|
||||
mTrackPanel->Refresh(false);
|
||||
}
|
||||
@ -4247,7 +4247,7 @@ void AudacityProject::OnSelectSyncLockSel()
|
||||
}
|
||||
|
||||
if (selected)
|
||||
ModifyState();
|
||||
ModifyState(false);
|
||||
|
||||
mTrackPanel->Refresh(false);
|
||||
if (mMixerBoard)
|
||||
@ -4261,7 +4261,7 @@ void AudacityProject::OnSelectAllTracks()
|
||||
t->SetSelected(true);
|
||||
}
|
||||
|
||||
ModifyState();
|
||||
ModifyState(false);
|
||||
|
||||
mTrackPanel->Refresh(false);
|
||||
if (mMixerBoard)
|
||||
@ -4447,7 +4447,7 @@ void AudacityProject::OnZoomFitV()
|
||||
|
||||
mVsbar->SetThumbPosition(0);
|
||||
RedrawProject();
|
||||
ModifyState();
|
||||
ModifyState(true);
|
||||
}
|
||||
|
||||
void AudacityProject::OnZoomSel()
|
||||
@ -4867,7 +4867,7 @@ void AudacityProject::OnSelectionRestore()
|
||||
mViewInfo.sel0 = mSel0save;
|
||||
mViewInfo.sel1 = mSel1save;
|
||||
|
||||
ModifyState();
|
||||
ModifyState(false);
|
||||
|
||||
mTrackPanel->Refresh(false);
|
||||
}
|
||||
@ -4891,7 +4891,7 @@ void AudacityProject::OnCursorTrackStart()
|
||||
if (minOffset < 0.0) minOffset = 0.0;
|
||||
mViewInfo.sel0 = minOffset;
|
||||
mViewInfo.sel1 = minOffset;
|
||||
ModifyState();
|
||||
ModifyState(false);
|
||||
mTrackPanel->ScrollIntoView(mViewInfo.sel0);
|
||||
mTrackPanel->Refresh(false);
|
||||
}
|
||||
@ -4916,7 +4916,7 @@ void AudacityProject::OnCursorTrackEnd()
|
||||
|
||||
mViewInfo.sel0 = maxEndOffset;
|
||||
mViewInfo.sel1 = maxEndOffset;
|
||||
ModifyState();
|
||||
ModifyState(false);
|
||||
mTrackPanel->ScrollIntoView(mViewInfo.sel1);
|
||||
mTrackPanel->Refresh(false);
|
||||
}
|
||||
@ -4924,7 +4924,7 @@ void AudacityProject::OnCursorTrackEnd()
|
||||
void AudacityProject::OnCursorSelStart()
|
||||
{
|
||||
mViewInfo.sel1 = mViewInfo.sel0;
|
||||
ModifyState();
|
||||
ModifyState(false);
|
||||
mTrackPanel->ScrollIntoView(mViewInfo.sel0);
|
||||
mTrackPanel->Refresh(false);
|
||||
}
|
||||
@ -4932,7 +4932,7 @@ void AudacityProject::OnCursorSelStart()
|
||||
void AudacityProject::OnCursorSelEnd()
|
||||
{
|
||||
mViewInfo.sel0 = mViewInfo.sel1;
|
||||
ModifyState();
|
||||
ModifyState(false);
|
||||
mTrackPanel->ScrollIntoView(mViewInfo.sel1);
|
||||
mTrackPanel->Refresh(false);
|
||||
}
|
||||
@ -5791,7 +5791,7 @@ void AudacityProject::OnCollapseAllTracks()
|
||||
t = iter.Next();
|
||||
}
|
||||
|
||||
ModifyState();
|
||||
ModifyState(true);
|
||||
RedrawProject();
|
||||
}
|
||||
|
||||
@ -5806,7 +5806,7 @@ void AudacityProject::OnExpandAllTracks()
|
||||
t = iter.Next();
|
||||
}
|
||||
|
||||
ModifyState();
|
||||
ModifyState(true);
|
||||
RedrawProject();
|
||||
}
|
||||
|
||||
@ -5822,7 +5822,7 @@ void AudacityProject::OnMuteAllTracks()
|
||||
t = iter.Next();
|
||||
}
|
||||
|
||||
ModifyState();
|
||||
ModifyState(true);
|
||||
RedrawProject();
|
||||
if (mMixerBoard)
|
||||
mMixerBoard->UpdateMute();
|
||||
@ -5839,7 +5839,7 @@ void AudacityProject::OnUnMuteAllTracks()
|
||||
t = iter.Next();
|
||||
}
|
||||
|
||||
ModifyState();
|
||||
ModifyState(true);
|
||||
RedrawProject();
|
||||
if (mMixerBoard)
|
||||
mMixerBoard->UpdateMute();
|
||||
|
@ -1235,7 +1235,7 @@ void AudacityProject::AS_ModifySelection(double &start, double &end, bool done)
|
||||
mViewInfo.sel1 = end;
|
||||
mTrackPanel->Refresh(false);
|
||||
if (done) {
|
||||
ModifyState();
|
||||
ModifyState(false);
|
||||
}
|
||||
}
|
||||
|
||||
@ -3706,10 +3706,11 @@ void AudacityProject::PushState(wxString desc,
|
||||
AutoSave();
|
||||
}
|
||||
|
||||
void AudacityProject::ModifyState()
|
||||
void AudacityProject::ModifyState(bool bWantsAutoSave)
|
||||
{
|
||||
mUndoManager.ModifyState(mTracks, mViewInfo.sel0, mViewInfo.sel1);
|
||||
AutoSave();
|
||||
if (bWantsAutoSave)
|
||||
AutoSave();
|
||||
}
|
||||
|
||||
// LL: Is there a memory leak here as "l" and "t" are not deleted???
|
||||
@ -4381,9 +4382,9 @@ void AudacityProject::TP_PushState(wxString desc, wxString shortDesc,
|
||||
}
|
||||
|
||||
// TrackPanel callback method
|
||||
void AudacityProject::TP_ModifyState()
|
||||
void AudacityProject::TP_ModifyState(bool bWantsAutoSave)
|
||||
{
|
||||
ModifyState();
|
||||
ModifyState(bWantsAutoSave);
|
||||
}
|
||||
|
||||
// TrackPanel callback method
|
||||
@ -4685,7 +4686,7 @@ void AudacityProject::HandleTrackMute(Track *t, const bool exclusive)
|
||||
}
|
||||
}
|
||||
}
|
||||
ModifyState();
|
||||
ModifyState(true);
|
||||
}
|
||||
|
||||
// Type of solo (standard or simple) follows the set preference, unless
|
||||
@ -4744,6 +4745,6 @@ void AudacityProject::HandleTrackSolo(Track *t, const bool alternate)
|
||||
i = iter.Next();
|
||||
}
|
||||
}
|
||||
ModifyState();
|
||||
ModifyState(true);
|
||||
}
|
||||
|
||||
|
@ -339,7 +339,8 @@ class AUDACITY_DLL_API AudacityProject: public wxFrame,
|
||||
virtual void TP_OnPlayKey();
|
||||
virtual void TP_PushState(wxString longDesc, wxString shortDesc,
|
||||
int flags);
|
||||
virtual void TP_ModifyState();
|
||||
virtual void TP_ModifyState(bool bWantsAutoSave); // if true, writes auto-save file. Should set only if you really want the state change restored after
|
||||
// a crash, as it can take many seconds for large (eg. 10 track-hours) projects
|
||||
virtual void TP_RedrawScrollbars();
|
||||
virtual void TP_ScrollLeft();
|
||||
virtual void TP_ScrollRight();
|
||||
@ -410,7 +411,8 @@ class AUDACITY_DLL_API AudacityProject: public wxFrame,
|
||||
|
||||
void ClearClipboard();
|
||||
void InitialState();
|
||||
void ModifyState();
|
||||
void ModifyState(bool bWantsAutoSave); // if true, writes auto-save file. Should set only if you really want the state change restored after
|
||||
// a crash, as it can take many seconds for large (eg. 10 track-hours) projects
|
||||
void PopState(TrackList * l);
|
||||
|
||||
void UpdateLyrics();
|
||||
|
@ -1416,9 +1416,9 @@ void TrackPanel::MakeParentPushState(wxString desc, wxString shortDesc,
|
||||
mListener->TP_PushState(desc, shortDesc, flags);
|
||||
}
|
||||
|
||||
void TrackPanel::MakeParentModifyState()
|
||||
void TrackPanel::MakeParentModifyState(bool bWantsAutoSave)
|
||||
{
|
||||
mListener->TP_ModifyState();
|
||||
mListener->TP_ModifyState(bWantsAutoSave);
|
||||
}
|
||||
|
||||
void TrackPanel::MakeParentRedrawScrollbars()
|
||||
@ -1858,7 +1858,7 @@ void TrackPanel::HandleSelect(wxMouseEvent & event)
|
||||
|
||||
SetCapturedTrack( NULL );
|
||||
//Send the new selection state to the undo/redo stack:
|
||||
MakeParentModifyState();
|
||||
MakeParentModifyState(false);
|
||||
|
||||
} else if (event.LeftDClick() && !event.ShiftDown()) {
|
||||
if (!mCapturedTrack) {
|
||||
@ -1898,7 +1898,7 @@ void TrackPanel::HandleSelect(wxMouseEvent & event)
|
||||
|
||||
Refresh(false);
|
||||
SetCapturedTrack( NULL );
|
||||
MakeParentModifyState();
|
||||
MakeParentModifyState(false);
|
||||
}
|
||||
done:
|
||||
SelectionHandleDrag(event, t);
|
||||
@ -1983,7 +1983,7 @@ void TrackPanel::SelectionHandleClick(wxMouseEvent & event,
|
||||
|
||||
// If the shift button is down, extend the current selection.
|
||||
ExtendSelection(event.m_x, r.x, pTrack);
|
||||
MakeParentModifyState();
|
||||
MakeParentModifyState(false);
|
||||
return;
|
||||
}
|
||||
|
||||
@ -2197,7 +2197,7 @@ void TrackPanel::StartSelection(int mouseXCoordinate, int trackLeftEdge)
|
||||
mViewInfo->sel1 = s;
|
||||
|
||||
SonifyBeginModifyState();
|
||||
MakeParentModifyState();
|
||||
MakeParentModifyState(false);
|
||||
SonifyEndModifyState();
|
||||
}
|
||||
|
||||
@ -3392,7 +3392,7 @@ void TrackPanel::HandleVZoomButtonUp( wxMouseEvent & event )
|
||||
mZoomEnd = mZoomStart = 0;
|
||||
Refresh(false);
|
||||
mCapturedTrack = NULL;
|
||||
MakeParentModifyState();
|
||||
MakeParentModifyState(true);
|
||||
return;
|
||||
}
|
||||
#endif
|
||||
@ -3640,7 +3640,7 @@ void TrackPanel::HandleVZoomButtonUp( wxMouseEvent & event )
|
||||
UpdateVRuler(mCapturedTrack);
|
||||
Refresh(false);
|
||||
mCapturedTrack = NULL;
|
||||
MakeParentModifyState();
|
||||
MakeParentModifyState(true);
|
||||
}
|
||||
|
||||
/// Determines if we can edit samples in a wave track.
|
||||
@ -4161,7 +4161,7 @@ void TrackPanel::HandleMinimizing(wxMouseEvent & event)
|
||||
if (mTracks->GetLink(t))
|
||||
mTracks->GetLink(t)->SetMinimized(t->GetMinimized());
|
||||
MakeParentRedrawScrollbars();
|
||||
MakeParentModifyState();
|
||||
MakeParentModifyState(true);
|
||||
}
|
||||
|
||||
SetCapturedTrack(NULL);
|
||||
@ -4424,7 +4424,7 @@ void TrackPanel::HandleLabelClick(wxMouseEvent & event)
|
||||
pMixerBoard->RefreshTrackClusters();
|
||||
|
||||
if (!unsafe)
|
||||
MakeParentModifyState();
|
||||
MakeParentModifyState(true);
|
||||
}
|
||||
|
||||
/// The user is dragging one of the tracks: change the track order
|
||||
@ -4717,7 +4717,7 @@ void TrackPanel::HandleResizeButtonUp(wxMouseEvent & WXUNUSED(event))
|
||||
{
|
||||
SetCapturedTrack( NULL );
|
||||
MakeParentRedrawScrollbars();
|
||||
MakeParentModifyState(); //v Probably doesn't really warrant AutoSave. Maybe add bWantAutoSave param if there are more.
|
||||
MakeParentModifyState(false);
|
||||
}
|
||||
|
||||
/// Resize dragging means that the mouse button IS down and has moved
|
||||
@ -6291,7 +6291,7 @@ void TrackPanel::OnPrevTrack( bool shift )
|
||||
t = iter.Last();
|
||||
SetFocusedTrack( t );
|
||||
EnsureVisible( t );
|
||||
MakeParentModifyState();
|
||||
MakeParentModifyState(false);
|
||||
return;
|
||||
}
|
||||
|
||||
@ -6325,7 +6325,7 @@ void TrackPanel::OnPrevTrack( bool shift )
|
||||
mTracks->Select( t, false );
|
||||
SetFocusedTrack( p ); // move focus to next track down
|
||||
EnsureVisible( p );
|
||||
MakeParentModifyState();
|
||||
MakeParentModifyState(false);
|
||||
return;
|
||||
}
|
||||
if( tSelected && !pSelected )
|
||||
@ -6333,7 +6333,7 @@ void TrackPanel::OnPrevTrack( bool shift )
|
||||
mTracks->Select( p, true );
|
||||
SetFocusedTrack( p ); // move focus to next track down
|
||||
EnsureVisible( p );
|
||||
MakeParentModifyState();
|
||||
MakeParentModifyState(false);
|
||||
return;
|
||||
}
|
||||
if( !tSelected && pSelected )
|
||||
@ -6341,7 +6341,7 @@ void TrackPanel::OnPrevTrack( bool shift )
|
||||
mTracks->Select( p, false );
|
||||
SetFocusedTrack( p ); // move focus to next track down
|
||||
EnsureVisible( p );
|
||||
MakeParentModifyState();
|
||||
MakeParentModifyState(false);
|
||||
return;
|
||||
}
|
||||
if( !tSelected && !pSelected )
|
||||
@ -6349,7 +6349,7 @@ void TrackPanel::OnPrevTrack( bool shift )
|
||||
mTracks->Select( t, true );
|
||||
SetFocusedTrack( p ); // move focus to next track down
|
||||
EnsureVisible( p );
|
||||
MakeParentModifyState();
|
||||
MakeParentModifyState(false);
|
||||
return;
|
||||
}
|
||||
}
|
||||
@ -6368,7 +6368,7 @@ void TrackPanel::OnPrevTrack( bool shift )
|
||||
}
|
||||
SetFocusedTrack( p ); // Wrap to the first track
|
||||
EnsureVisible( p );
|
||||
MakeParentModifyState();
|
||||
MakeParentModifyState(false);
|
||||
return;
|
||||
}
|
||||
else
|
||||
@ -6381,7 +6381,7 @@ void TrackPanel::OnPrevTrack( bool shift )
|
||||
{
|
||||
SetFocusedTrack( p ); // move focus to next track down
|
||||
EnsureVisible( p );
|
||||
MakeParentModifyState();
|
||||
MakeParentModifyState(false);
|
||||
return;
|
||||
}
|
||||
}
|
||||
@ -6403,7 +6403,7 @@ void TrackPanel::OnNextTrack( bool shift )
|
||||
t = iter.First();
|
||||
SetFocusedTrack( t );
|
||||
EnsureVisible( t );
|
||||
MakeParentModifyState();
|
||||
MakeParentModifyState(false);
|
||||
return;
|
||||
}
|
||||
|
||||
@ -6431,7 +6431,7 @@ void TrackPanel::OnNextTrack( bool shift )
|
||||
mTracks->Select( t, false );
|
||||
SetFocusedTrack( n ); // move focus to next track down
|
||||
EnsureVisible( n );
|
||||
MakeParentModifyState();
|
||||
MakeParentModifyState(false);
|
||||
return;
|
||||
}
|
||||
if( tSelected && !nSelected )
|
||||
@ -6439,7 +6439,7 @@ void TrackPanel::OnNextTrack( bool shift )
|
||||
mTracks->Select( n, true );
|
||||
SetFocusedTrack( n ); // move focus to next track down
|
||||
EnsureVisible( n );
|
||||
MakeParentModifyState();
|
||||
MakeParentModifyState(false);
|
||||
return;
|
||||
}
|
||||
if( !tSelected && nSelected )
|
||||
@ -6447,7 +6447,7 @@ void TrackPanel::OnNextTrack( bool shift )
|
||||
mTracks->Select( n, false );
|
||||
SetFocusedTrack( n ); // move focus to next track down
|
||||
EnsureVisible( n );
|
||||
MakeParentModifyState();
|
||||
MakeParentModifyState(false);
|
||||
return;
|
||||
}
|
||||
if( !tSelected && !nSelected )
|
||||
@ -6455,7 +6455,7 @@ void TrackPanel::OnNextTrack( bool shift )
|
||||
mTracks->Select( t, true );
|
||||
SetFocusedTrack( n ); // move focus to next track down
|
||||
EnsureVisible( n );
|
||||
MakeParentModifyState();
|
||||
MakeParentModifyState(false);
|
||||
return;
|
||||
}
|
||||
}
|
||||
@ -6471,7 +6471,7 @@ void TrackPanel::OnNextTrack( bool shift )
|
||||
n = iter.First();
|
||||
SetFocusedTrack( n ); // Wrap to the first track
|
||||
EnsureVisible( n );
|
||||
MakeParentModifyState();
|
||||
MakeParentModifyState(false);
|
||||
return;
|
||||
}
|
||||
else
|
||||
@ -6484,7 +6484,7 @@ void TrackPanel::OnNextTrack( bool shift )
|
||||
{
|
||||
SetFocusedTrack( n ); // move focus to next track down
|
||||
EnsureVisible( n );
|
||||
MakeParentModifyState();
|
||||
MakeParentModifyState(false);
|
||||
return;
|
||||
}
|
||||
}
|
||||
@ -6500,7 +6500,7 @@ void TrackPanel::OnToggle()
|
||||
|
||||
mTracks->Select( t, !t->GetSelected() );
|
||||
EnsureVisible( t );
|
||||
MakeParentModifyState();
|
||||
MakeParentModifyState(false);
|
||||
|
||||
mAx->Updated();
|
||||
|
||||
@ -6536,7 +6536,7 @@ void TrackPanel::OnCursorLeft( bool shift, bool ctrl, bool keyup )
|
||||
return;
|
||||
}
|
||||
|
||||
MakeParentModifyState();
|
||||
MakeParentModifyState(false);
|
||||
return;
|
||||
}
|
||||
|
||||
@ -6650,7 +6650,7 @@ void TrackPanel::OnCursorRight( bool shift, bool ctrl, bool keyup )
|
||||
return;
|
||||
}
|
||||
|
||||
MakeParentModifyState();
|
||||
MakeParentModifyState(false);
|
||||
return;
|
||||
}
|
||||
|
||||
@ -6812,7 +6812,7 @@ void TrackPanel::OnBoundaryMove(bool left, bool boundaryContract)
|
||||
mViewInfo->sel1 = indicator;
|
||||
}
|
||||
|
||||
MakeParentModifyState();
|
||||
MakeParentModifyState(false);
|
||||
Refresh(false);
|
||||
}
|
||||
else
|
||||
@ -6869,7 +6869,7 @@ void TrackPanel::OnBoundaryMove(bool left, bool boundaryContract)
|
||||
}
|
||||
}
|
||||
Refresh( false );
|
||||
MakeParentModifyState();
|
||||
MakeParentModifyState(false);
|
||||
}
|
||||
}
|
||||
|
||||
@ -6943,7 +6943,7 @@ void TrackPanel::OnCursorMove(bool forward, bool jump, bool longjump )
|
||||
// Make sure it's visible
|
||||
ScrollIntoView( mViewInfo->sel0 );
|
||||
|
||||
MakeParentModifyState();
|
||||
MakeParentModifyState(false);
|
||||
}
|
||||
}
|
||||
|
||||
@ -7574,7 +7574,7 @@ void TrackPanel::OnSetDisplay(wxCommandEvent & event)
|
||||
#endif
|
||||
UpdateVRuler(wt);
|
||||
}
|
||||
MakeParentModifyState(); //v Doesn't really warrant AutoSave. Maybe add bWantAutoSave param if there are more.
|
||||
MakeParentModifyState(true);
|
||||
mPopupMenuTarget = NULL;
|
||||
Refresh(false);
|
||||
}
|
||||
@ -7931,7 +7931,7 @@ void TrackPanel::OnChangeOctave(wxCommandEvent & event)
|
||||
bool bDown = (OnDownOctaveID == event.GetId());
|
||||
t->SetBottomNote(t->GetBottomNote() + ((bDown) ? -12 : 12));
|
||||
|
||||
MakeParentModifyState();
|
||||
MakeParentModifyState(true);
|
||||
Refresh(false);
|
||||
#endif
|
||||
}
|
||||
|
@ -70,7 +70,8 @@ class AUDACITY_DLL_API TrackPanelListener {
|
||||
virtual void TP_OnPlayKey() = 0;
|
||||
virtual void TP_PushState(wxString shortDesc, wxString longDesc,
|
||||
int flags = PUSH_AUTOSAVE | PUSH_CALC_SPACE) = 0;
|
||||
virtual void TP_ModifyState() = 0;
|
||||
virtual void TP_ModifyState(bool bWantsAutoSave) = 0; // if true, writes auto-save file. Should set only if you really want the state change restored after
|
||||
// a crash, as it can take many seconds for large (eg. 10 track-hours) projects
|
||||
virtual void TP_RedrawScrollbars() = 0;
|
||||
virtual void TP_ScrollLeft() = 0;
|
||||
virtual void TP_ScrollRight() = 0;
|
||||
@ -426,8 +427,8 @@ class AUDACITY_DLL_API TrackPanel:public wxPanel {
|
||||
// AS: Pushing the state preserves state for Undo operations.
|
||||
virtual void MakeParentPushState(wxString desc, wxString shortDesc,
|
||||
int flags = PUSH_AUTOSAVE | PUSH_CALC_SPACE);
|
||||
virtual void MakeParentModifyState();
|
||||
|
||||
virtual void MakeParentModifyState(bool bWantsAutoSave); // if true, writes auto-save file. Should set only if you really want the state change restored after
|
||||
// a crash, as it can take many seconds for large (eg. 10 track-hours) projects
|
||||
virtual void MakeParentResize();
|
||||
|
||||
virtual void OnSetName(wxCommandEvent &event);
|
||||
|
Loading…
x
Reference in New Issue
Block a user