@@ -36,12 +36,48 @@ inline constexpr ch_cnt_t DEFAULT_CHANNELS = 2;
3636inline constexpr unsigned MaxScaleCount = 10 ; // !< number of scales per project
3737inline constexpr unsigned MaxKeymapCount = 10 ; // !< number of keyboard mappings per project
3838
39- inline constexpr char LADSPA_PATH_SEPERATOR =
40- #ifdef LMMS_BUILD_WIN32
41- ' ;' ;
42- #else
43- ' :' ;
44- #endif
39+ // Frequency ranges (in Hz).
40+ // Arbitrary low limit for logarithmic frequency scale; >1 Hz.
41+ inline constexpr auto LOWEST_LOG_FREQ = 5 ;
42+
43+ // Full range is defined by LOWEST_LOG_FREQ and current sample rate.
44+ enum class FrequencyRange
45+ {
46+ Full = 0 ,
47+ Audible,
48+ Bass,
49+ Mids,
50+ High
51+ };
52+
53+ inline constexpr auto FRANGE_AUDIBLE_START = 20 ;
54+ inline constexpr auto FRANGE_AUDIBLE_END = 20000 ;
55+ inline constexpr auto FRANGE_BASS_START = 20 ;
56+ inline constexpr auto FRANGE_BASS_END = 300 ;
57+ inline constexpr auto FRANGE_MIDS_START = 200 ;
58+ inline constexpr auto FRANGE_MIDS_END = 5000 ;
59+ inline constexpr auto FRANGE_HIGH_START = 4000 ;
60+ inline constexpr auto FRANGE_HIGH_END = 20000 ;
61+
62+ // Amplitude ranges (in dBFS).
63+ // Reference: full scale sine wave (-1.0 to 1.0) is 0 dB.
64+ // Doubling or halving the amplitude produces 3 dB difference.
65+ enum class AmplitudeRange
66+ {
67+ Extended = 0 ,
68+ Audible,
69+ Loud,
70+ Silent
71+ };
72+
73+ inline constexpr auto ARANGE_EXTENDED_START = -80 ;
74+ inline constexpr auto ARANGE_EXTENDED_END = 20 ;
75+ inline constexpr auto ARANGE_AUDIBLE_START = -50 ;
76+ inline constexpr auto ARANGE_AUDIBLE_END = 0 ;
77+ inline constexpr auto ARANGE_LOUD_START = -30 ;
78+ inline constexpr auto ARANGE_LOUD_END = 0 ;
79+ inline constexpr auto ARANGE_SILENT_START = -60 ;
80+ inline constexpr auto ARANGE_SILENT_END = -10 ;
4581
4682} // namespace lmms
4783
0 commit comments