Audacity 3.2.0
|
#include <functional>
#include <set>
#include <vector>
#include "ComponentInterfaceSymbol.h"
#include "wxArrayStringEx.h"
#include <wx/filename.h>
#include <wx/textfile.h>
#include "GlobalVariable.h"
#include "BasicSettings.h"
#include "MemoryX.h"
Go to the source code of this file.
Classes | |
struct | ByColumns_t |
struct | SettingPath |
class | SettingBase |
Base class for settings objects. It holds a configuration key path. More... | |
class | TransactionalSettingBase |
class | SettingScope |
Makes temporary changes to preferences, then rolls them back at destruction. More... | |
class | SettingTransaction |
Extend SettingScope with Commit() which flushes updates in a batch. More... | |
class | CachingSettingBase< T > |
Class template adds an in-memory cache of a value to TransactionalSettingBase and support for SettingTransaction. More... | |
class | Setting< T > |
class | BoolSetting |
This specialization of Setting for bool adds a Toggle method to negate the saved value. More... | |
class | IntSetting |
Specialization of Setting for int. More... | |
class | DoubleSetting |
Specialization of Setting for double. More... | |
class | StringSetting |
Specialization of Setting for strings. More... | |
class | EnumValueSymbols |
class | ChoiceSetting |
class | EnumSettingBase |
class | EnumSetting< Enum > |
Adapts EnumSettingBase to a particular enumeration type. More... | |
class | PreferencesResetHandler |
Allows custom logic for preferences reset event. More... | |
struct | PreferencesResetHandler::Registration< HandlerType > |
Performs single-time global handler registration. More... | |
class | StickySetting< SettingType > |
class | StickySetting< SettingType >::ResetHandler |
class | PrefsListener |
A listener notified of changes in preferences. More... | |
struct | PreferenceInitializer |
Macros | |
#define | AUDACITY_PREFS_VERSION_STRING "1.1.1r1" |
Typedefs | |
using | EnumValueSymbol = ComponentInterfaceSymbol |
Functions | |
PREFERENCES_API void | InitPreferences (std::unique_ptr< audacity::BasicSettings > uPrefs) |
PREFERENCES_API void | GetPreferencesVersion (int &vMajor, int &vMinor, int &vMicro) |
PREFERENCES_API void | SetPreferencesVersion (int vMajor, int vMinor, int vMicor) |
PREFERENCES_API void | ResetPreferences () |
Call this to reset preferences to an (almost)-"new" default state. More... | |
PREFERENCES_API void | FinishPreferences () |
PREFERENCES_API wxString | WarningDialogKey (const wxString &internalDialogName) |
Variables | |
PREFERENCES_API audacity::BasicSettings * | gPrefs |
int | gMenusDirty |
PREFERENCES_API ByColumns_t | ByColumns |
PREFERENCES_API StickySetting< BoolSetting > | DefaultUpdatesCheckingFlag |
PREFERENCES_API void FinishPreferences | ( | ) |
Definition at line 262 of file Prefs.cpp.
References gPrefs, and ugPrefs.
Referenced by AudacityApp::InitPart2(), AudacityApp::OnExit(), and AudacityApp::OnInit().
PREFERENCES_API void GetPreferencesVersion | ( | int & | vMajor, |
int & | vMinor, | ||
int & | vMicro | ||
) |
Definition at line 239 of file Prefs.cpp.
References gVersionMajorKeyInit, gVersionMicroKeyInit, and gVersionMinorKeyInit.
Referenced by AudacityApp::InitPart2(), and ToolManager::ReadConfig().
PREFERENCES_API void InitPreferences | ( | std::unique_ptr< audacity::BasicSettings > | uPrefs | ) |
Definition at line 231 of file Prefs.cpp.
References PrefsListener::Broadcast(), gPrefs, and ugPrefs.
Referenced by AudacityApp::OnInit(), and PluginHost::PluginHost().
PREFERENCES_API void ResetPreferences | ( | ) |
Call this to reset preferences to an (almost)-"new" default state.
There is at least one exception to that: user preferences we want to make more "sticky." Notably, whether automatic update checking is preferred.
Definition at line 253 of file Prefs.cpp.
References audacity::BasicSettings::Clear(), BasicUI::Get(), and gPrefs.
Referenced by anonymous_namespace{PluginMenus.cpp}::OnResetConfig(), and anonymous_namespace{AudacityApp.cpp}::PopulatePreferences().
PREFERENCES_API void SetPreferencesVersion | ( | int | vMajor, |
int | vMinor, | ||
int | vMicor | ||
) |
Definition at line 246 of file Prefs.cpp.
References gVersionMajorKeyInit, gVersionMicroKeyInit, and gVersionMinorKeyInit.
Referenced by anonymous_namespace{AudacityApp.cpp}::PopulatePreferences().
PREFERENCES_API wxString WarningDialogKey | ( | const wxString & | internalDialogName | ) |
Return the config file key associated with a warning dialog identified by internalDialogName. When the box is checked, the value at the key becomes false.
Definition at line 510 of file Prefs.cpp.
References wxT().
Referenced by RecordingPrefs::PopulateOrExchange(), ShowWarningDialog(), and AudioIO::StartStream().
|
extern |
Definition at line 515 of file Prefs.cpp.
Referenced by DevicePrefs::PopulateOrExchange(), GUIPrefs::PopulateOrExchange(), MidiIOPrefs::PopulateOrExchange(), and ShuttleGuiBase::TieNumberAsChoice().
|
extern |
Definition at line 63 of file Prefs.cpp.
Referenced by ApplicationPrefs::Commit(), UpdatePopupDialog::OnDontShow(), UpdateManager::OnTimer(), ApplicationPrefs::PopulateOrExchange(), UpdateManager::Start(), and UpdatePopupDialog::UpdatePopupDialog().
|
extern |
Definition at line 68 of file Prefs.cpp.
Referenced by AdornedRulerPanel::AdornedRulerPanel(), PluginManager::Iterator::Advance(), TruncSilenceBase::Analyze(), ExportCommand::Apply(), GetPreferenceCommand::Apply(), SetPreferenceCommand::Apply(), MacroCommands::ApplyMacro(), ApplyMacroDialog::ApplyMacroToProject(), AudacityApp::AssociateFileTypes(), audacity::cloud::audiocom::sync::AudioComDialogBase::AudioComDialogBase(), ProgressDialog::Beep(), DeviceToolBar::ChangeHost(), AudioSetupToolBar::ChangeHost(), ExportMP3::CheckFileName(), audacity::cloud::audiocom::UserService::ClearUserData(), SettingTransaction::Commit(), DevicePrefs::Commit(), GUIPrefs::Commit(), KeyConfigPrefs::Commit(), MidiIOPrefs::Commit(), RecordingPrefs::Commit(), TracksPrefs::Commit(), ControlToolBar::ControlToolBar(), DeduceSnapTo(), anonymous_namespace{LabelMenus.cpp}::DoAddLabel(), LabelTrackView::DoCaptureKey(), LabelTrackView::DoChar(), anonymous_namespace{FileMenus.cpp}::DoExport(), ProjectAudioManager::DoRecord(), SpectrumView::DoSetMinimized(), WaveformView::DoSetMinimized(), ToolsToolBar::DoToolChanged(), audacity::cloud::audiocom::UserService::DownloadAvatar(), EffectPreview(), ExportFFmpegOptions::ExportFFmpegOptions(), ExportOptionsHandler::ExportOptionsHandler(), anonymous_namespace{ExtraMenus.cpp}::ExtraMenu(), AudioSetupToolBar::FillHostDevices(), DeviceToolBar::FillHostDevices(), MP3Exporter::FindLibrary(), FinishPreferences(), anonymous_namespace{Registry.cpp}::ItemOrdering::Get(), ModulePrefs::GetAllModuleStatuses(), SettingBase::GetConfig(), ExportPCM::GetFormatInfo(), anonymous_namespace{TimeAndPitchExperimentalSettings.cpp}::GetFromFile(), ModuleSettings::GetModuleStatus(), TracksPrefs::GetPinnedHeadPositionPreference(), TracksPrefs::GetPinnedHeadPreference(), GlobalPrefsDialog::GetPreferredPage(), PlaybackPrefs::GetUnpinnedScrubbingPreference(), FileHistory::Global(), Importer::Import(), AudioIO::Init(), MP3ExportProcessor::Initialize(), AudacityApp::InitPart2(), InitPreferences(), UpdateManager::IsTimeForUpdatesChecking(), EQCurveReader::LoadCurves(), Tags::LoadDefaults(), LoadFFmpeg(), MenuRegistry::Options::MakeCheckFn(), EnumSettingBase::Migrate(), SpectrogramSettings::ColorSchemeEnumSetting::Migrate(), TracksViewModeEnumSetting::Migrate(), MP3Exporter::MP3Exporter(), CommandManager::Populator::NewIdentifier(), FileHistory::NotifyMenus(), NyqBench::NyqBench(), anonymous_namespace{TrackMenus.cpp}::OnAlign(), ApplyMacroDialog::OnApplyToFiles(), AdornedRulerPanel::OnAutoScroll(), PrefsDialog::OnCancel(), SpectralSelectionBar::OnChoice(), BrowserDialog::OnClose(), FrequencyPlotDialog::OnCloseButton(), AudioPasteDialog::OnContinue(), anonymous_namespace{EditMenus.cpp}::OnCut(), anonymous_namespace{LabelMenus.cpp}::OnCutLabels(), AudacityApp::OnExit(), ExportFFmpegOptions::OnExportPresets(), NyqBench::OnFind(), NyqBench::OnFindDialog(), KeyConfigPrefs::OnImportDefaults(), ExportFFmpegOptions::OnImportPresets(), anonymous_namespace{TrackMenus.cpp}::OnMoveSelectionWithTracks(), WhatsNewDialog::OnOK(), PrefsDialog::OnOK(), ExportFFmpegOptions::OnOK(), SoundActivatedRecordDialog::OnOK(), TagsEditorDialog::OnOk(), TimerRecordDialog::OnOK(), FFmpegNotFoundDialog::OnOk(), anonymous_namespace{ExportFFmpeg.cpp}::ExportOptionsFFmpegCustomEditor::OnOpen(), NyqBench::OnOpen(), anonymous_namespace{EditMenus.cpp}::OnPaste(), anonymous_namespace{TransportMenus.cpp}::OnPlayAfterSelectionEnd(), anonymous_namespace{TransportMenus.cpp}::OnPlayAfterSelectionStart(), anonymous_namespace{TransportMenus.cpp}::OnPlayBeforeAndAfterSelectionEnd(), anonymous_namespace{TransportMenus.cpp}::OnPlayBeforeAndAfterSelectionStart(), anonymous_namespace{TransportMenus.cpp}::OnPlayBeforeSelectionEnd(), anonymous_namespace{TransportMenus.cpp}::OnPlayBeforeSelectionStart(), MeterPanel::OnPreferences(), anonymous_namespace{TransportMenus.cpp}::OnPunchAndRoll(), ProjectAudioManager::OnRecord(), anonymous_namespace{PluginMenus.cpp}::OnResetConfig(), NyqBench::OnSaveAs(), TagsEditorDialog::OnSaveDefaults(), LabelTrackMenuTable::OnSetFont(), ModuleSettingsResetHandler::OnSettingResetBegin(), ModuleSettingsResetHandler::OnSettingResetEnd(), anonymous_namespace{ViewMenus.cpp}::OnShowClipping(), anonymous_namespace{ViewMenus.cpp}::OnShowExtraMenus(), anonymous_namespace{ViewMenus.cpp}::OnShowRMS(), anonymous_namespace{TrackMenus.cpp}::OnSyncLock(), AdornedRulerPanel::OnSyncSelToQuickPlay(), DirectoriesPrefs::OnTempBrowse(), anonymous_namespace{TimerRecordDialog.cpp}::OnTimerRecord(), anonymous_namespace{TransportMenus.cpp}::OnTogglePlayRecording(), Scrubber::OnToggleScrubRuler(), anonymous_namespace{TransportMenus.cpp}::OnToggleSoundActivated(), anonymous_namespace{TransportMenus.cpp}::OnToggleSWPlaythrough(), anonymous_namespace{LabelMenus.cpp}::OnToggleTypeToCreateLabel(), FFmpegImportPlugin::Open(), Registry::OrderingPreferenceInitializer::operator()(), audacity::cloud::audiocom::OAuthService::ParseTokenResponse(), TranscriptionToolBar::PlayAtSpeed(), ProjectAudioManager::PlayPlayRegion(), PlotSpectrumBase::PlotSpectrumBase(), ApplyMacroDialog::Populate(), MacrosWindow::Populate(), ControlToolBar::Populate(), SpectralSelectionBar::Populate(), WhatsNewDialog::Populate(), ExportFFmpegOptions::PopulateOrExchange(), anonymous_namespace{HelpMenus.cpp}::QuickFixDialog::PopulateOrExchange(), TimerRecordDialog::PopulateOrExchange(), anonymous_namespace{AudacityApp.cpp}::PopulatePreferences(), ExportOptionsCLEditor::PopulateUI(), PrefsDialog::PrefsDialog(), NoiseReductionBase::Settings::PrefsIO(), NyquistBase::Process(), PaulstretchBase::ProcessOne(), PerTrackEffect::ProcessPass(), ProjectRate::ProjectRate(), ProjectSettings::ProjectSettings(), ToolBarConfiguration::Read(), ToolManager::ReadConfig(), Importer::ReadImportItems(), anonymous_namespace{NoiseReductionBase.cpp}::readPrefs(), anonymous_namespace{Scrubbing.cpp}::ReadScrubEnabledPref(), LabelDialog::ReadSize(), ReadSnapMode(), ReadSnapTo(), ChoiceSetting::ReadWithDefault(), RecordingPrefs::RecordingPrefs(), ControlToolBar::RegenerateTooltips(), LabelStruct::RegionRelation(), MenuCreator::RemoveDuplicateShortcuts(), MacroCommands::ReportAndSkip(), CommandManager::ReportDuplicateShortcuts(), LabelTrackView::ResetFont(), ResetPreferences(), MacrosWindow::SaveChanges(), DependencyDialog::SaveFutureActionChoice(), GlobalPrefsDialog::SavePreferredPage(), NyqBench::SavePrefs(), SelectUtilities::SelectAllIfNoneAndAllowed(), Importer::SelectDefaultOpenType(), ProjectSelectionManager::SetAudioTimeFormat(), ProjectSelectionManager::SetBandwidthSelectionFormatName(), Importer::SetDefaultOpenType(), AudioSetupToolBar::SetDevices(), DeviceToolBar::SetDevices(), ProjectSelectionManager::SetFrequencySelectionFormatName(), GUISettings::SetLang(), Importer::SetLastOpenType(), ProjectTimeSignature::SetLowerTimeSignature(), CommandManager::Populator::SetMaxList(), ModuleSettings::SetModuleStatus(), TracksPrefs::SetPinnedHeadPositionPreference(), TracksPrefs::SetPinnedHeadPreference(), Journal::SetRecordEnabled(), ProjectSelectionManager::SetSelectionFormat(), ProjectSnap::SetSnapMode(), ProjectSnap::SetSnapTo(), ProjectTimeSignature::SetTempo(), ProjectTimeSignature::SetUpperTimeSignature(), anonymous_namespace{ExportPCM.cpp}::ExportOptionsSFEditor::SetValue(), audacity::cloud::audiocom::sync::CloudLocationDialog::ShowDialog(), audacity::cloud::audiocom::sync::AudioComDialogBase::ShowDialog(), HelpSystem::ShowHelp(), ShowWarningDialog(), UpdateManager::Start(), WaveTrackAffordanceControls::StartEditClipName(), AudioIO::StartMonitoring(), ControlToolBar::StartScrolling(), AudioIO::StartStream(), TagsEditorDialog::TagsEditorDialog(), TempDirectory::TempDir(), ToolsToolBar::ToolsToolBar(), ShuttlePrefs::TransferBool(), ExportOptionsHandler::TransferDataFromEditor(), ExportOptionsCLEditor::TransferDataFromWindow(), anonymous_namespace{ExportFFmpeg.cpp}::ExportOptionsFFmpegCustomEditor::TransferDataFromWindow(), TimerRecordDialog::TransferDataFromWindow(), ShuttlePrefs::TransferDouble(), ShuttlePrefs::TransferInt(), ShuttlePrefs::TransferString(), anonymous_namespace{TransportMenus.cpp}::TransportMenu(), audacity::cloud::audiocom::OAuthService::UnlinkAccount(), anonymous_namespace{ExportFFmpeg.cpp}::ExportOptionsFFmpegCustomEditor::UpdateCodecAndFormat(), EQCurveReader::UpdateDefaultCurves(), CommandManager::UpdatePrefs(), NavigationActions::Handler::UpdatePrefs(), SelectActions::Handler::UpdatePrefs(), ProjectSettings::UpdatePrefs(), ControlToolBar::UpdatePrefs(), SelectionBar::UpdatePrefs(), MeterPanel::UpdatePrefs(), ViewInfo::UpdateSelectedPrefs(), anonymous_namespace{SelectionBar.cpp}::UpdateSelectionMode(), audacity::cloud::audiocom::UserService::UpdateUserData(), ProjectAudioManager::UseDuplex(), Registry::detail::Visit(), anonymous_namespace{Registry.cpp}::VisitItems(), FileNames::WithDefaultPath(), ToolBarConfiguration::Write(), ChoiceSetting::Write(), ToolManager::WriteConfig(), Importer::WriteImportItems(), anonymous_namespace{NoiseReductionBase.cpp}::writePrefs(), anonymous_namespace{Scrubbing.cpp}::WriteScrubEnabledPref(), and LabelDialog::WriteSize().