@@ -140,34 +140,36 @@ namespace lsp
140140 { NULL , NULL }
141141 };
142142
143+ #define SATURATOR_CONTROLS (id, label, alias ) \
144+ COMBO (" ov" id, " Oversampler Mode" label, " Oversampler Mode" alias, saturator::SAT_OVS_DFL , sat_oversampler_mode), \
145+ AMP_GAIN_RANGE (" ge" id, " Pre gain" label, " Pre gain" alias, saturator::PRE_GAIN_DFL , saturator::PRE_GAIN_MIN , saturator::PRE_GAIN_MAX ), \
146+ AMP_GAIN_RANGE (" gt" id, " Post gain" label, " Post gain" alias, saturator::POST_GAIN_DFL , saturator::POST_GAIN_MIN , saturator::POST_GAIN_MAX ), \
147+ CONTROL (" sl" id, " Slope" label, " Slope" alias, U_NONE , saturator::SLOPE ), \
148+ CONTROL (" sh" id, " Shape" label, " Shape" alias, U_NONE , saturator::SHAPE ), \
149+ CONTROL (" hl" id, " High Level" label, " High Level" alias, U_NONE , saturator::HIGH_LEVEL ), \
150+ CONTROL (" ll" id, " Low Level" label, " Low Level" alias, U_NONE , saturator::LOW_LEVEL ), \
151+ CONTROL (" rd" id, " Radius" label, " Radius" alias, U_NONE , saturator::RADIUS ), \
152+ CONTROL (" lv" id, " Levels" label, " Levels" alias, U_NONE , saturator::LEVELS ), \
153+ CONTROL (" cp" id, " Continuous Companding" label, " Continuous Companding" alias, U_NONE , saturator::C_COMPANDING ), \
154+ CONTROL (" qp" id, " Quantized Companding" label, " Quantized Companding" alias, U_NONE , saturator::Q_COMPANDING ), \
155+ CONTROL (" bs" id, " Bias" label, " Bias" alias, U_NONE , saturator::BIAS ), \
156+ CONTROL (" bl" id, " Blend" label, " Blend" alias, U_NONE , saturator::BLEND ), \
157+ COMBO (" sp" id, " Shaping Function" label, " Shaping Function" alias, saturator::SAT_SH_FCN_DEFAULT , sat_shaping_fcn)
158+
159+ #define SATURATOR_CONTROLS_MONO SATURATOR_CONTROLS (" " , " " , " " )
160+ #define SATURATOR_CONTROLS_STEREO SATURATOR_CONTROLS (" " , " " , " " )
161+ #define SATURATOR_CONTROLS_LR SATURATOR_CONTROLS (" l" , " Left" , " L" ), SATURATOR_CONTROLS(" r" , " Right" , " R" )
162+
143163 #define EQ_BAND (id, label, alias, x, f) \
144164 SWITCH(" xs" id " _" #x, " Band solo" label " " f, " Solo " f alias, 0 .0f ), \
145165 SWITCH(" xm" id " _" #x, " Band mute" label " " f, " Mute " f alias, 0 .0f ), \
146166 SWITCH(" xe" id " _" #x, " Band on" label " " f, " On " f alias, 1 .0f ), \
147- BLINK (" fv" id " _" #x, " Filter visibility " label " " f), \
148167 LOG_CONTROL(" g" id " _" #x, " Band gain" label " " f, " Gain " f alias, U_GAIN_AMP , saturator::BAND_GAIN )
149168
150169 #define EQ_BAND_MONO (x, f) EQ_BAND(" " , " " , " " , x, f)
151170 #define EQ_BAND_STEREO (x, f) EQ_BAND(" " , " " , " " , x, f)
152171 #define EQ_BAND_LR (x, f) EQ_BAND(" l" , " Left" , " L" , x, f), EQ_BAND(" r" , " Right" , " R" , x, f)
153172
154- #define SATURATOR_COMMON \
155- BYPASS , \
156- COMBO (" scom" , " Oversampler Mode" , " Oversample" , saturator::SAT_OVS_DFL , sat_oversampler_mode), \
157- AMP_GAIN_RANGE (" g_pre" , " Pre gain" , " Pre gain" , saturator::PRE_GAIN_DFL , saturator::PRE_GAIN_MIN , saturator::PRE_GAIN_MAX ), \
158- AMP_GAIN_RANGE (" g_pst" , " Post gain" , " Ppost gain" , saturator::POST_GAIN_DFL , saturator::POST_GAIN_MIN , saturator::POST_GAIN_MAX ), \
159- CONTROL (" slp" , " Slope" , " Slope" , U_NONE , saturator::SLOPE ), \
160- CONTROL (" shp" , " Shape" , " Shape" , U_NONE , saturator::SHAPE ), \
161- CONTROL (" hlv" , " High Level" , " High Level" , U_NONE , saturator::HIGH_LEVEL ), \
162- CONTROL (" llv" , " Low Level" , " Low Level" , U_NONE , saturator::LOW_LEVEL ), \
163- CONTROL (" rdr" , " Radius" , " Radius" , U_NONE , saturator::RADIUS ), \
164- CONTROL (" lvl" , " Levels" , " Levels" , U_NONE , saturator::LEVELS ), \
165- CONTROL (" cmp" , " Continuous Companding" , " Continuous Companding" , U_NONE , saturator::C_COMPANDING ), \
166- CONTROL (" qmp" , " Quantized Companding" , " Quantized Companding" , U_NONE , saturator::Q_COMPANDING ), \
167- CONTROL (" bs" , " Bias" , " Bias" , U_NONE , saturator::BIAS ), \
168- CONTROL (" bld" , " Blend" , " Blend" , U_NONE , saturator::BLEND ), \
169- COMBO (" shp" , " Shaping Function" , " Shaping Function" , saturator::SAT_SH_FCN_DEFAULT , sat_shaping_fcn)
170-
171173 #define EQ_BANDS_3X (band) \
172174 band(0 , " 125" ), \
173175 band(1 , " 1K" ), \
@@ -245,7 +247,8 @@ namespace lsp
245247
246248 // Input controls
247249 BYPASS ,
248- SATURATOR_COMMON ,
250+ SATURATOR_CONTROLS_MONO ,
251+ EQ_BANDS_3X (EQ_BAND_MONO ),
249252 EQ_BANDS_3X (EQ_BAND_MONO ),
250253 OPT_STRING (" comment" , " Comment" , 128 ),
251254
@@ -262,7 +265,8 @@ namespace lsp
262265
263266 // Input controls
264267 BYPASS ,
265- SATURATOR_COMMON ,
268+ SATURATOR_CONTROLS_STEREO ,
269+ EQ_BANDS_3X (EQ_BAND_STEREO ),
266270 EQ_BANDS_3X (EQ_BAND_STEREO ),
267271 OPT_STRING (" comment" , " Comment" , 128 ),
268272
@@ -279,7 +283,8 @@ namespace lsp
279283
280284 // Input controls
281285 BYPASS ,
282- SATURATOR_COMMON ,
286+ SATURATOR_CONTROLS_MONO ,
287+ EQ_BANDS_8X (EQ_BAND_MONO ),
283288 EQ_BANDS_8X (EQ_BAND_MONO ),
284289 OPT_STRING (" comment" , " Comment" , 128 ),
285290
@@ -296,7 +301,8 @@ namespace lsp
296301
297302 // Input controls
298303 BYPASS ,
299- SATURATOR_COMMON ,
304+ SATURATOR_CONTROLS_STEREO ,
305+ EQ_BANDS_8X (EQ_BAND_STEREO ),
300306 EQ_BANDS_8X (EQ_BAND_STEREO ),
301307 OPT_STRING (" comment" , " Comment" , 128 ),
302308
@@ -313,7 +319,8 @@ namespace lsp
313319
314320 // Input controls
315321 BYPASS ,
316- SATURATOR_COMMON ,
322+ SATURATOR_CONTROLS_MONO ,
323+ EQ_BANDS_16X (EQ_BAND_MONO ),
317324 EQ_BANDS_16X (EQ_BAND_MONO ),
318325 OPT_STRING (" comment" , " Comment" , 128 ),
319326
@@ -330,7 +337,8 @@ namespace lsp
330337
331338 // Input controls
332339 BYPASS ,
333- SATURATOR_COMMON ,
340+ SATURATOR_CONTROLS_STEREO ,
341+ EQ_BANDS_16X (EQ_BAND_STEREO ),
334342 EQ_BANDS_16X (EQ_BAND_STEREO ),
335343 OPT_STRING (" comment" , " Comment" , 128 ),
336344
@@ -347,7 +355,8 @@ namespace lsp
347355
348356 // Input controls
349357 BYPASS ,
350- SATURATOR_COMMON ,
358+ SATURATOR_CONTROLS_MONO ,
359+ EQ_BANDS_32X (EQ_BAND_MONO ),
351360 EQ_BANDS_32X (EQ_BAND_MONO ),
352361 OPT_STRING (" comment" , " Comment" , 128 ),
353362
@@ -364,7 +373,8 @@ namespace lsp
364373
365374 // Input controls
366375 BYPASS ,
367- SATURATOR_COMMON ,
376+ SATURATOR_CONTROLS_STEREO ,
377+ EQ_BANDS_32X (EQ_BAND_STEREO ),
368378 EQ_BANDS_32X (EQ_BAND_STEREO ),
369379 OPT_STRING (" comment" , " Comment" , 128 ),
370380
0 commit comments