36 return wxT(
"/AudioIO/PinnedHead");
46 return wxT(
"/AudioIO/PinnedHeadPosition");
65 {
wxT(
"Linear"),
XO(
"Linear (amp)") },
82 const auto key0 =
wxT(
"/GUI/DefaultViewMode");
83 const auto key1 =
wxT(
"/GUI/DefaultViewModeNew");
84 const auto key2 =
wxT(
"/GUI/DefaultViewModeChoice");
85 const auto key3 =
wxT(
"/GUI/DefaultViewModeChoiceNew");
91 :
public EnumSetting< WaveTrackViewConstants::Display > {
114 return spectrumSymbol.Internal();
118 return waveformSymbol.Internal();
126 newValue = stringValue( viewMode );
132 newValue = stringValue( viewMode );
139 newValue = waveformSymbol.Internal();
143 Write( value = newValue );
155 auto symbols = transform_container< EnumValueSymbols >(
157 auto ids = transform_container< std::vector< WaveTrackSubViewType::Display > >(
185 wxT(
"/GUI/SampleViewChoice"),
187 {
wxT(
"ConnectDots"),
XO(
"Connect dots") },
188 {
wxT(
"StemPlot"),
XO(
"Stem plot") }
197 wxT(
"/GUI/SampleView")
207 {
wxT(
"FitToWidth"),
XO(
"Fit to Width") },
208 {
wxT(
"ZoomToSelection"),
XO(
"Zoom to Selection") },
209 {
wxT(
"ZoomDefault"),
XO(
"Zoom Default") },
212 {
wxT(
"FifthsOfSeconds"),
XO(
"5ths of Seconds") },
213 {
wxT(
"TenthsOfSeconds"),
XO(
"10ths of Seconds") },
214 {
wxT(
"TwentiethsOfSeconds"),
XO(
"20ths of Seconds") },
215 {
wxT(
"FiftiethsOfSeconds"),
XO(
"50ths of Seconds") },
216 {
wxT(
"HundredthsOfSeconds"),
XO(
"100ths of Seconds") },
217 {
wxT(
"FiveHundredthsOfSeconds"),
XO(
"500ths of Seconds") },
218 {
XO(
"MilliSeconds") },
220 {
wxT(
"FourPixelsPerSample"),
XO(
"4 Pixels per Sample") },
221 {
wxT(
"MaxZoom"),
XO(
"Max Zoom") },
242 wxT(
"/GUI/ZoomPreset1Choice"),
248 wxT(
"/GUI/ZoomPreset1")
252 wxT(
"/GUI/ZoomPreset2Choice"),
258 wxT(
"/GUI/ZoomPreset2")
292 return XO(
"Preferences for Tracks");
297 return "Tracks_Preferences";
325 S.StartStatic(
XO(
"Display"));
327 S.TieCheckBox(
XXO(
"Auto-&fit track height"),
328 {
wxT(
"/GUI/TracksFitVerticallyZoomed"),
330 S.TieCheckBox(
XXO(
"Sho&w track name as overlay"),
331 {
wxT(
"/GUI/ShowTrackNameInWaveform"),
333#ifdef EXPERIMENTAL_HALF_WAVE
334 S.TieCheckBox(
XXO(
"Use &half-wave display when collapsed"),
335 {
wxT(
"/GUI/CollapseToHalfWave"),
338#ifdef SHOW_PINNED_UNPINNED_IN_PREFS
339 S.TieCheckBox(
XXO(
"&Pinned Recording/Playback head"),
343 S.TieCheckBox(
XXO(
"A&uto-scroll if head unpinned"),
344 {
wxT(
"/GUI/AutoScroll"),
349 S.StartMultiColumn(2);
351#ifdef SHOW_PINNED_POSITION_IN_PREFS
353 XXO(
"Pinned &head position"),
360 S.TieChoice(
XXO(
"Default &view mode:"),
363 S.TieChoice(
XXO(
"Default Waveform scale:"),
366 S.TieChoice(
XXO(
"Display &samples:"),
369 S.TieTextBox(
XXO(
"Default audio track &name:"),
377 S.StartStatic(
XO(
"Zoom Toggle"));
379 S.StartMultiColumn(4);
381 S.TieChoice(
XXO(
"Preset 1:"),
384 S.TieChoice(
XXO(
"Preset 2:"),
413 auto value =
gPrefs->ReadDouble(
416 return std::max(0.0,
std::min(1.0, value));
421 value = std::max(0.0,
std::min(1.0, value));
XXO("&Cut/Copy/Paste Toolbar")
static EnumSetting< WaveTrackViewConstants::ZoomPresets > zoom2Setting
static const std::initializer_list< EnumValueSymbol > choicesZoom
static EnumSetting< WaveTrackViewConstants::ZoomPresets > zoom1Setting
static TracksViewModeEnumSetting ViewModeSetting()
static EnumSetting< WaveTrackViewConstants::SampleDisplay > sampleDisplaySetting
static EnumSetting< WaveformSettings::ScaleTypeValues > waveformScaleSetting
static auto enumChoicesZoom
#define TRACKS_PREFS_PLUGIN_SYMBOL
StringSetting AudioTrackNameSetting
The top-level handle to an Audacity project. It serves as a source of events that other objects can b...
bool Write(const wxString &value)
ComponentInterfaceSymbol pairs a persistent string identifier used internally with an optional,...
Adapts EnumSettingBase to a particular enumeration type.
virtual bool Flush(bool bCurrentOnly=false) wxOVERRIDE
Base class for a panel in the PrefsDialog. Classes derived from this class include BatchPrefs,...
bool Delete()
Delete the key if present, and return true iff it was.
void Invalidate() override
const T & GetDefault() const
Derived from ShuttleGuiBase, an Audacity specific class for shuttling data to and from GUI.
A PrefsPanel for track display and behavior properties.
static WaveformSettings::ScaleTypeValues WaveformScaleChoice()
TracksPrefs(wxWindow *parent, wxWindowID winid)
static void SetPinnedHeadPreference(bool value, bool flush=false)
static bool GetPinnedHeadPreference()
TranslatableString GetDescription() const override
ManualPageID HelpPageName() override
If not empty string, the Help button is added below the panel.
static double GetPinnedHeadPositionPreference()
static WaveTrackViewConstants::ZoomPresets Zoom1Choice()
void PopulateOrExchange(ShuttleGui &S) override
static void SetPinnedHeadPositionPreference(double value, bool flush=false)
static int iPreferencePinned
static WaveTrackViewConstants::ZoomPresets Zoom2Choice()
static WaveTrackViewConstants::SampleDisplay SampleViewChoice()
ComponentInterfaceSymbol GetSymbol() const override
static WaveTrackViewConstants::Display ViewModeChoice()
void Migrate(wxString &value) override
Holds a msgid for the translation catalog; may also bind format arguments.
static wxString GetDefaultAudioTrackNamePreference()
@ MultiView
"Multi" is special, not really a view type on par with the others.
@ obsoleteWaveformDBDisplay
AUDACITY_DLL_API const EnumValueSymbol MultiViewSymbol
String identifier for a preference for one of each type of view.
Display ConvertLegacyDisplayValue(int oldValue)
const wxChar * PinnedHeadPositionPreferenceKey()
const auto waveformScaleKey
const auto dbLogValueString
const auto dbLinValueString
const wxString obsoleteValue
const wxChar * PinnedHeadPreferenceKey()
double PinnedHeadPositionPreferenceDefault()
bool PinnedHeadPreferenceDefault()
PrefsPanel::Registration sAttachment
static const std::vector< WaveTrackSubViewType > & All()
Discover all registered types.