mirror of
https://github.com/cookiengineer/audacity
synced 2025-06-15 15:49:36 +02:00
Bug 2527 - Reset Configuration does not reset Project rate or selection timers
This commit is contained in:
parent
11076f00e0
commit
9445393876
@ -91,13 +91,13 @@ double ProjectSelectionManager::AS_GetRate()
|
|||||||
return settings.GetRate();
|
return settings.GetRate();
|
||||||
}
|
}
|
||||||
|
|
||||||
// Typically this came from the SelectionToolbar and does not need to
|
|
||||||
// be communicated back to it.
|
|
||||||
void ProjectSelectionManager::AS_SetRate(double rate)
|
void ProjectSelectionManager::AS_SetRate(double rate)
|
||||||
{
|
{
|
||||||
auto &project = mProject;
|
auto &project = mProject;
|
||||||
auto &settings = ProjectSettings::Get( project );
|
auto &settings = ProjectSettings::Get( project );
|
||||||
settings.SetRate( rate );
|
settings.SetRate( rate );
|
||||||
|
|
||||||
|
SelectionBar::Get( project ).SetRate(rate);
|
||||||
}
|
}
|
||||||
|
|
||||||
int ProjectSelectionManager::AS_GetSnapTo()
|
int ProjectSelectionManager::AS_GetSnapTo()
|
||||||
|
@ -389,9 +389,7 @@ void OnResetConfig(const CommandContext &context)
|
|||||||
|
|
||||||
// Directory will be reset on next restart.
|
// Directory will be reset on next restart.
|
||||||
FileNames::UpdateDefaultPath(FileNames::Operation::Temp, TempDirectory::DefaultTempDir());
|
FileNames::UpdateDefaultPath(FileNames::Operation::Temp, TempDirectory::DefaultTempDir());
|
||||||
gPrefs->Write("/GUI/SyncLockTracks", 0);
|
|
||||||
gPrefs->Write("/SnapTo", 0 );
|
|
||||||
ProjectSelectionManager::Get( project ).AS_SetSnapTo( 0 );
|
|
||||||
// There are many more things we could reset here.
|
// There are many more things we could reset here.
|
||||||
// Beeds discussion as to which make sense to.
|
// Beeds discussion as to which make sense to.
|
||||||
// Maybe in future versions?
|
// Maybe in future versions?
|
||||||
@ -401,8 +399,9 @@ void OnResetConfig(const CommandContext &context)
|
|||||||
// - Reset Play-at-speed speed to x1
|
// - Reset Play-at-speed speed to x1
|
||||||
// - Stop playback/recording and unapply pause.
|
// - Stop playback/recording and unapply pause.
|
||||||
// - Set Zoom sensibly.
|
// - Set Zoom sensibly.
|
||||||
//ProjectSelectionManager::Get(project).AS_SetRate(44100.0);
|
gPrefs->Write("/GUI/SyncLockTracks", 0);
|
||||||
gPrefs->Write("/AudioIO/SoundActivatedRecord", 0);
|
gPrefs->Write("/AudioIO/SoundActivatedRecord", 0);
|
||||||
|
gPrefs->Write("/SelectionToolbarMode", 0);
|
||||||
gPrefs->Flush();
|
gPrefs->Flush();
|
||||||
DoReloadPreferences(project);
|
DoReloadPreferences(project);
|
||||||
ToolManager::OnResetToolBars(context);
|
ToolManager::OnResetToolBars(context);
|
||||||
@ -411,12 +410,18 @@ void OnResetConfig(const CommandContext &context)
|
|||||||
// In particular the Device Toolbar ends up short on next restart,
|
// In particular the Device Toolbar ends up short on next restart,
|
||||||
// if they are left out.
|
// if they are left out.
|
||||||
gPrefs->Write(wxT("/PrefsVersion"), wxString(wxT(AUDACITY_PREFS_VERSION_STRING)));
|
gPrefs->Write(wxT("/PrefsVersion"), wxString(wxT(AUDACITY_PREFS_VERSION_STRING)));
|
||||||
|
|
||||||
// write out the version numbers to the prefs file for future checking
|
// write out the version numbers to the prefs file for future checking
|
||||||
gPrefs->Write(wxT("/Version/Major"), AUDACITY_VERSION);
|
gPrefs->Write(wxT("/Version/Major"), AUDACITY_VERSION);
|
||||||
gPrefs->Write(wxT("/Version/Minor"), AUDACITY_RELEASE);
|
gPrefs->Write(wxT("/Version/Minor"), AUDACITY_RELEASE);
|
||||||
gPrefs->Write(wxT("/Version/Micro"), AUDACITY_REVISION);
|
gPrefs->Write(wxT("/Version/Micro"), AUDACITY_REVISION);
|
||||||
|
|
||||||
gPrefs->Flush();
|
gPrefs->Flush();
|
||||||
|
|
||||||
|
ProjectSelectionManager::Get( project )
|
||||||
|
.AS_SetSnapTo(gPrefs->ReadLong("/SnapTo", SNAP_OFF));
|
||||||
|
ProjectSelectionManager::Get( project )
|
||||||
|
.AS_SetRate(gPrefs->ReadDouble("/DefaultProjectSampleRate", 44100.0));
|
||||||
}
|
}
|
||||||
|
|
||||||
void OnManageGenerators(const CommandContext &context)
|
void OnManageGenerators(const CommandContext &context)
|
||||||
|
@ -357,8 +357,18 @@ void SelectionBar::UpdatePrefs()
|
|||||||
// As of 13-Sep-2018, changes to the sample rate pref will only affect
|
// As of 13-Sep-2018, changes to the sample rate pref will only affect
|
||||||
// creation of new projects, not the sample rate in existing ones.
|
// creation of new projects, not the sample rate in existing ones.
|
||||||
|
|
||||||
|
// This will only change the selection mode during a "Reset Configuration"
|
||||||
|
// action since the read value will be the same during a normal preferences
|
||||||
|
// update.
|
||||||
|
mSelectionMode = gPrefs->ReadLong(wxT("/SelectionToolbarMode"), 0);
|
||||||
|
|
||||||
|
// This will only change the time format during a "Reset Configuration"
|
||||||
|
// action since the read value will be the same during a normal preferences
|
||||||
|
// update.
|
||||||
wxCommandEvent e;
|
wxCommandEvent e;
|
||||||
e.SetInt(mStartTime->GetFormatIndex());
|
e.SetString(NumericTextCtrl::LookupFormat(
|
||||||
|
NumericConverter::TIME,
|
||||||
|
gPrefs->Read(wxT("/SelectionFormat"), wxT(""))).Internal());
|
||||||
OnUpdate(e);
|
OnUpdate(e);
|
||||||
|
|
||||||
// Set label to pull in language change
|
// Set label to pull in language change
|
||||||
@ -497,7 +507,6 @@ void SelectionBar::OnChangedTime(wxCommandEvent & event)
|
|||||||
// Called when one of the format drop downs is changed.
|
// Called when one of the format drop downs is changed.
|
||||||
void SelectionBar::OnUpdate(wxCommandEvent &evt)
|
void SelectionBar::OnUpdate(wxCommandEvent &evt)
|
||||||
{
|
{
|
||||||
int index = evt.GetInt();
|
|
||||||
wxWindow *w = FindFocus();
|
wxWindow *w = FindFocus();
|
||||||
NumericTextCtrl ** Ctrls[5] = { &mStartTime, &mEndTime, &mLengthTime, &mCenterTime, &mAudioTime };
|
NumericTextCtrl ** Ctrls[5] = { &mStartTime, &mEndTime, &mLengthTime, &mCenterTime, &mAudioTime };
|
||||||
int i;
|
int i;
|
||||||
@ -508,10 +517,11 @@ void SelectionBar::OnUpdate(wxCommandEvent &evt)
|
|||||||
|
|
||||||
evt.Skip(false);
|
evt.Skip(false);
|
||||||
|
|
||||||
|
auto format = NumericTextCtrl::LookupFormat(NumericConverter::TIME, evt.GetString());
|
||||||
|
|
||||||
// Save format name before recreating the controls so they resize properly
|
// Save format name before recreating the controls so they resize properly
|
||||||
if (mStartTime)
|
if (mStartTime)
|
||||||
{
|
{
|
||||||
auto format = mStartTime->GetBuiltinName(index);
|
|
||||||
if (mListener)
|
if (mListener)
|
||||||
mListener->AS_SetSelectionFormat(format);
|
mListener->AS_SetSelectionFormat(format);
|
||||||
}
|
}
|
||||||
@ -530,10 +540,9 @@ void SelectionBar::OnUpdate(wxCommandEvent &evt)
|
|||||||
|
|
||||||
ValuesToControls();
|
ValuesToControls();
|
||||||
|
|
||||||
auto format = mStartTime->GetBuiltinFormat(index);
|
|
||||||
for( i=0;i<5;i++)
|
for( i=0;i<5;i++)
|
||||||
if( *Ctrls[i] )
|
if( *Ctrls[i] )
|
||||||
(*Ctrls[i])->SetFormatString( format );
|
(*Ctrls[i])->SetFormatName( format );
|
||||||
|
|
||||||
if( iFocus >=0 )
|
if( iFocus >=0 )
|
||||||
if( *Ctrls[iFocus] )
|
if( *Ctrls[iFocus] )
|
||||||
@ -712,7 +721,7 @@ void SelectionBar::SetSelectionFormat(const NumericFormatSymbol & format)
|
|||||||
// Test first whether changed, to avoid infinite recursion from OnUpdate
|
// Test first whether changed, to avoid infinite recursion from OnUpdate
|
||||||
if ( changed ) {
|
if ( changed ) {
|
||||||
wxCommandEvent e;
|
wxCommandEvent e;
|
||||||
e.SetInt(mStartTime->GetFormatIndex());
|
e.SetString(format.Internal());
|
||||||
OnUpdate(e);
|
OnUpdate(e);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
Loading…
x
Reference in New Issue
Block a user