1
0
mirror of https://github.com/cookiengineer/audacity synced 2025-07-20 06:37:42 +02:00
audacity/src/prefs/WaveformSettings.h
2020-02-03 15:34:48 -05:00

72 lines
1.4 KiB
C++

/**********************************************************************
Audacity: A Digital Audio Editor
WaveformSettings.h
Paul Licameli
**********************************************************************/
#ifndef __AUDACITY_WAVEFORM_SETTINGS__
#define __AUDACITY_WAVEFORM_SETTINGS__
#include "../Internat.h" // for TranslatableStrings
class EnumValueSymbols;
class WaveformSettings
{
public:
// Singleton for settings that are not per-track
class Globals
{
public:
static Globals &Get();
void SavePrefs();
private:
Globals();
void LoadPrefs();
};
static WaveformSettings &defaults();
WaveformSettings();
WaveformSettings(const WaveformSettings &other);
WaveformSettings& operator= (const WaveformSettings &other);
~WaveformSettings();
bool IsDefault() const
{
return this == &defaults();
}
bool Validate(bool quiet);
void LoadPrefs();
void SavePrefs();
void Update();
void ConvertToEnumeratedDBRange();
void ConvertToActualDBRange();
void NextLowerDBRange();
void NextHigherDBRange();
typedef int ScaleType;
enum ScaleTypeValues : int {
stLinear,
stLogarithmic,
stNumScaleTypes,
};
static const EnumValueSymbols &GetScaleNames();
ScaleType scaleType;
int dBRange;
// Convenience
bool isLinear() const { return stLinear == scaleType; }
};
#endif