38 m_spectrogramSmoothing(SpectrogramInterpolated),
39 m_spectrogramXSmoothing(SpectrogramXInterpolated),
40 m_tuningFrequency(440),
41 m_propertyBoxLayout(VerticallyStacked),
44 m_omitRecentTemps(true),
47 m_resampleOnLoad(false),
48 m_normaliseAudio(false),
50 m_backgroundMode(BackgroundFromTheme),
51 m_timeToTextMode(TimeToTextMs),
56 settings.beginGroup(
"Preferences");
73 (settings.value(
"time-to-text-mode",
int(
TimeToTextMs)).toInt());
74 m_octave = (settings.value(
"octave-of-middle-c", 4)).toInt();
76 m_showSplash = settings.value(
"show-splash",
true).toBool();
79 settings.beginGroup(
"TempDirectory");
80 m_tempDirRoot = settings.value(
"create-in",
"$HOME").toString();
92 props.push_back(
"Spectrogram Y Smoothing");
93 props.push_back(
"Spectrogram X Smoothing");
94 props.push_back(
"Tuning Frequency");
95 props.push_back(
"Property Box Layout");
96 props.push_back(
"Window Type");
97 props.push_back(
"Resample Quality");
98 props.push_back(
"Omit Temporaries from Recent Files");
99 props.push_back(
"Resample On Load");
100 props.push_back(
"Normalise Audio");
101 props.push_back(
"Fixed Sample Rate");
102 props.push_back(
"Temporary Directory Root");
103 props.push_back(
"Background Mode");
104 props.push_back(
"Time To Text Mode");
105 props.push_back(
"Octave Numbering System");
106 props.push_back(
"View Font Size");
107 props.push_back(
"Show Splash Screen");
114 if (name ==
"Spectrogram Y Smoothing") {
115 return tr(
"Spectrogram y-axis interpolation:");
117 if (name ==
"Spectrogram X Smoothing") {
118 return tr(
"Spectrogram x-axis interpolation:");
120 if (name ==
"Tuning Frequency") {
121 return tr(
"Frequency of concert A");
123 if (name ==
"Property Box Layout") {
124 return tr(
"Property box layout");
126 if (name ==
"Window Type") {
127 return tr(
"Spectral analysis window shape");
129 if (name ==
"Resample Quality") {
130 return tr(
"Playback resampler type");
132 if (name ==
"Normalise Audio") {
133 return tr(
"Normalise audio signal when reading from audio file");
135 if (name ==
"Omit Temporaries from Recent Files") {
136 return tr(
"Omit temporaries from Recent Files menu");
138 if (name ==
"Resample On Load") {
139 return tr(
"Resample mismatching files on import");
141 if (name ==
"Fixed Sample Rate") {
142 return tr(
"Single fixed sample rate to resample all files to");
144 if (name ==
"Temporary Directory Root") {
145 return tr(
"Location for cache file directory");
147 if (name ==
"Background Mode") {
148 return tr(
"Background colour preference");
150 if (name ==
"Time To Text Mode") {
151 return tr(
"Time display format");
153 if (name ==
"Octave Numbering System") {
154 return tr(
"Label middle C as");
156 if (name ==
"View Font Size") {
157 return tr(
"Font size for text overlays");
159 if (name ==
"Show Splash Screen") {
160 return tr(
"Show splash screen on startup");
168 if (name ==
"Spectrogram Y Smoothing") {
171 if (name ==
"Spectrogram X Smoothing") {
174 if (name ==
"Tuning Frequency") {
177 if (name ==
"Property Box Layout") {
180 if (name ==
"Window Type") {
183 if (name ==
"Resample Quality") {
186 if (name ==
"Normalise Audio") {
189 if (name ==
"Omit Temporaries from Recent Files") {
192 if (name ==
"Resample On Load") {
195 if (name ==
"Fixed Sample Rate") {
198 if (name ==
"Temporary Directory Root") {
202 if (name ==
"Background Mode") {
205 if (name ==
"Time To Text Mode") {
208 if (name ==
"Octave Numbering System") {
211 if (name ==
"View Font Size") {
214 if (name ==
"Show Splash Screen") {
222 int *min,
int *max,
int *deflt)
const 224 if (name ==
"Spectrogram Y Smoothing") {
230 if (name ==
"Spectrogram X Smoothing") {
239 if (name ==
"Property Box Layout") {
242 if (deflt) *deflt = 0;
246 if (name ==
"Window Type") {
253 if (name ==
"Resample Quality") {
256 if (deflt) *deflt = 1;
260 if (name ==
"Omit Temporaries from Recent Files") {
261 if (deflt) *deflt = 1;
264 if (name ==
"Background Mode") {
267 if (deflt) *deflt = 0;
271 if (name ==
"Time To Text Mode") {
274 if (deflt) *deflt = 0;
278 if (name ==
"Octave Numbering System") {
284 if (deflt) *deflt = 2;
288 if (name ==
"View Font Size") {
291 if (deflt) *deflt = 10;
295 if (name ==
"Show Splash Screen") {
296 if (deflt) *deflt = 1;
306 if (name ==
"Property Box Layout") {
307 if (value == 0)
return tr(
"Show boxes for all panes");
308 else return tr(
"Show box for current pane only");
310 if (name ==
"Window Type") {
323 if (name ==
"Resample Quality") {
325 case 0:
return tr(
"Fastest");
326 case 1:
return tr(
"Standard");
327 case 2:
return tr(
"Highest quality");
330 if (name ==
"Spectrogram Y Smoothing") {
338 if (name ==
"Spectrogram X Smoothing") {
344 if (name ==
"Background Mode") {
351 if (name ==
"Time To Text Mode") {
353 case TimeToTextMs:
return tr(
"Standard (to millisecond)");
354 case TimeToTextUs:
return tr(
"High resolution (to microsecond)");
362 if (name ==
"Octave Numbering System") {
364 case C0_Centre:
return tr(
"C0 - middle of octave scale");
365 case C3_Logic:
return tr(
"C3 - common MIDI sequencer convention");
366 case C4_ASA:
return tr(
"C4 - ASA American standard");
367 case C5_Sonar:
return tr(
"C5 - used in Cakewalk and others");
377 return tr(
"Preferences");
383 return "preferences";
389 if (name ==
"Spectrogram Y Smoothing") {
391 }
else if (name ==
"Spectrogram X Smoothing") {
393 }
else if (name ==
"Tuning Frequency") {
395 }
else if (name ==
"Property Box Layout") {
397 }
else if (name ==
"Window Type") {
399 }
else if (name ==
"Resample Quality") {
401 }
else if (name ==
"Omit Temporaries from Recent Files") {
403 }
else if (name ==
"Background Mode") {
405 }
else if (name ==
"Time To Text Mode") {
407 }
else if (name ==
"Octave Numbering System") {
410 }
else if (name ==
"View Font Size") {
412 }
else if (name ==
"Show Splash Screen") {
427 settings.beginGroup(
"Preferences");
428 settings.setValue(
"spectrogram-y-smoothing",
int(smoothing));
444 settings.beginGroup(
"Preferences");
445 settings.setValue(
"spectrogram-x-smoothing",
int(smoothing));
457 settings.beginGroup(
"Preferences");
458 settings.setValue(
"tuning-frequency", freq);
470 settings.beginGroup(
"Preferences");
471 settings.setValue(
"property-box-layout",
int(layout));
483 settings.beginGroup(
"Preferences");
484 settings.setValue(
"window-type",
int(type));
496 settings.beginGroup(
"Preferences");
497 settings.setValue(
"resample-quality", q);
509 settings.beginGroup(
"Preferences");
510 settings.setValue(
"omit-recent-temporaries", omit);
519 if (root == QDir::home().absolutePath()) {
525 settings.beginGroup(
"TempDirectory");
526 settings.setValue(
"create-in", root);
538 settings.beginGroup(
"Preferences");
539 settings.setValue(
"resample-on-load", resample);
551 settings.beginGroup(
"Preferences");
552 settings.setValue(
"fixed-sample-rate", rate);
564 settings.beginGroup(
"Preferences");
565 settings.setValue(
"normalise-audio", norm);
579 settings.beginGroup(
"Preferences");
580 settings.setValue(
"background-mode",
int(mode));
594 settings.beginGroup(
"Preferences");
595 settings.setValue(
"time-to-text-mode",
int(mode));
609 settings.beginGroup(
"Preferences");
610 settings.setValue(
"octave-of-middle-c",
int(oct));
648 settings.beginGroup(
"Preferences");
649 settings.setValue(
"view-font-size", size);
663 settings.beginGroup(
"Preferences");
664 settings.setValue(
"show-splash", show);
void setOctaveOfMiddleC(int oct)
virtual PropertyList getProperties() const
Get a list of the names of all the supported properties on this container.
void setResampleOnLoad(bool)
SpectrogramSmoothing m_spectrogramSmoothing
void propertyChanged(PropertyContainer::PropertyName)
virtual QString getPropertyLabel(const PropertyName &) const
Return the human-readable (and i18n'ised) name of a property.
PropertyBoxLayout m_propertyBoxLayout
void setSpectrogramXSmoothing(SpectrogramXSmoothing smoothing)
static Preferences * getInstance()
void setTimeToTextMode(TimeToTextMode mode)
void setNormaliseAudio(bool)
void setWindowType(WindowType type)
SpectrogramXSmoothing m_spectrogramXSmoothing
static int getOctaveOfMiddleCInSystem(OctaveNumberingSystem s)
virtual PropertyType getPropertyType(const PropertyName &) const
Return the type of the given property, or InvalidProperty if the property is not supported on this co...
void setSpectrogramSmoothing(SpectrogramSmoothing smoothing)
void setOmitTempsFromRecentFiles(bool omit)
virtual QString getPropertyValueLabel(const PropertyName &, int value) const
If the given property is a ValueProperty, return the display label to be used for the given value for...
BackgroundMode m_backgroundMode
PropertyBoxLayout
!! harmonise with PaneStack
static Preferences * m_instance
void setPropertyBoxLayout(PropertyBoxLayout layout)
void setTemporaryDirectoryRoot(QString tempDirRoot)
static OctaveNumberingSystem getSystemWithMiddleCInOctave(int o)
virtual QString getPropertyContainerName() const
virtual void setProperty(const PropertyName &, int)
void setViewFontSize(int size)
virtual int getPropertyRangeAndValue(const PropertyName &, int *, int *, int *) const
Return the minimum and maximum values for the given property and its current value in this container.
void setFixedSampleRate(int)
std::vector< PropertyName > PropertyList
TimeToTextMode m_timeToTextMode
virtual QString getPropertyContainerIconName() const
void setTuningFrequency(float freq)
void setBackgroundMode(BackgroundMode mode)
void setResampleQuality(int quality)