@@ -151,13 +151,13 @@ namespace lsp
151151 #define SA_CORRMETER (id, label ) \
152152 METER (id, label, U_PERCENT , spectrum_analyzer::CORRELATION )
153153
154- #define SA_INPUT (x, active ) \
155- AUDIO_INPUT_N (x ), \
156- AUDIO_OUTPUT_N (x ), \
157- SWITCH (" on_" #x, " Analyse " #x , " On " #x , active), \
158- SWITCH (" solo_" #x, " Solo " #x , " Solo " #x , 0 .0f ), \
159- SWITCH (" frz_" #x, " Freeze " #x , " Freeze " #x , 0 .0f ), \
160- AMP_GAIN (" sh_" #x, " Shift gain " #x , " Shift " #x , 1 .0f , 1000 .0f )
154+ #define SA_INPUT (x, xid, active ) \
155+ AUDIO_INPUT_NM (x, xid ), \
156+ AUDIO_OUTPUT_NM (x, xid ), \
157+ SWITCH (" on_" #x, " Analyse " #xid , " On " #xid , active), \
158+ SWITCH (" solo_" #x, " Solo " #xid , " Solo " #xid , 0 .0f ), \
159+ SWITCH (" frz_" #x, " Freeze " #xid , " Freeze " #xid , 0 .0f ), \
160+ AMP_GAIN (" sh_" #x, " Shift gain " #xid , " Shift " #xid , 1 .0f , 1000 .0f )
161161
162162 #define SA_MULTI_CHANNEL (...) __VA_ARGS__
163163 #define SA_SINGLE_CHANNEL (...)
@@ -191,28 +191,28 @@ namespace lsp
191191 MESH (" spd" , " Spectrum Data" , c*2 + 2 , spectrum_analyzer::MESH_POINTS + 4 ), \
192192 MESH (" ifmesh" , " Inspect filter mesh" , 2 , spectrum_analyzer::MESH_POINTS + 4 )
193193
194- #define SA_MGROUP (id ) \
195- OPT_RETURN_MONO (" ret_" #id, " rin_" #id , " Audio return group " #id )
194+ #define SA_MGROUP (id, sid ) \
195+ OPT_RETURN_MONO (" ret_" #id, " rin_" #sid , " Audio return group " #sid )
196196
197- #define SA_SGROUP (id ) \
198- OPT_RETURN_STEREO (" ret_" #id, " rin_" #id , " Audio return group " #id ), \
199- SWITCH (" ms_" #id, " Mid/Side switch for channel pair " #id , " M/S switch " #id , 0 ), \
200- SA_CORRMETER (" cm_" #id, " Correlometer for stereo channel pair " #id )
197+ #define SA_SGROUP (id, sid ) \
198+ OPT_RETURN_STEREO (" ret_" #id, " rin_" #sid , " Audio return group " #sid ), \
199+ SWITCH (" ms_" #id, " Mid/Side switch for channel pair " #sid , " M/S switch " #sid , 0 ), \
200+ SA_CORRMETER (" cm_" #id, " Correlometer for stereo channel pair " #sid )
201201
202202 static const port_t spectrum_analyzer_x1_ports[] =
203203 {
204- SA_INPUT (0 , 1 ),
205- SA_MGROUP (0 ),
204+ SA_INPUT (0 , 1 , 1 ),
205+ SA_MGROUP (0 , 1 ),
206206 SA_COMMON (1 , SA_SINGLE_CHANNEL ),
207207 FBUFFER (" fb" , " Spectralizer buffer" , spectrum_analyzer::FB_ROWS , spectrum_analyzer::MESH_POINTS ),
208208 PORTS_END
209209 };
210210
211211 static const port_t spectrum_analyzer_x2_ports[] =
212212 {
213- SA_INPUT (0 , 1 ),
214- SA_INPUT (1 , 1 ),
215- SA_SGROUP (0 ),
213+ SA_INPUT (0 , 1 , 1 ),
214+ SA_INPUT (1 , 2 , 1 ),
215+ SA_SGROUP (0 , 1 ),
216216 SA_COMMON (2 , SA_MULTI_CHANNEL ),
217217 SWITCH (" ms" , " Stereo analysis Mid/Side mode" , " M/S mode" , 0 ),
218218 COMBO (" spc" , " Spectralizer channel" , " SPC channel" , 0 , spectrum_analyzer_x2_channels),
@@ -223,12 +223,12 @@ namespace lsp
223223
224224 static const port_t spectrum_analyzer_x4_ports[] =
225225 {
226- SA_INPUT (0 , 1 ),
227- SA_INPUT (1 , 1 ),
228- SA_INPUT (2 , 0 ),
229- SA_INPUT (3 , 0 ),
230- SA_SGROUP (0 ),
231- SA_SGROUP (1 ),
226+ SA_INPUT (0 , 1 , 1 ),
227+ SA_INPUT (1 , 2 , 1 ),
228+ SA_INPUT (2 , 3 , 0 ),
229+ SA_INPUT (3 , 4 , 0 ),
230+ SA_SGROUP (0 , 1 ),
231+ SA_SGROUP (1 , 1 ),
232232 SA_COMMON (4 , SA_MULTI_CHANNEL ),
233233 SA_CORRMETER (" cccm" , " Correlometer for selected channels" ),
234234 SWITCH (" ms" , " Stereo analysis Mid/Side mode" , " M/S mode" , 0 ),
@@ -241,18 +241,18 @@ namespace lsp
241241
242242 static const port_t spectrum_analyzer_x8_ports[] =
243243 {
244- SA_INPUT (0 , 1 ),
245- SA_INPUT (1 , 1 ),
246- SA_INPUT (2 , 0 ),
247- SA_INPUT (3 , 0 ),
248- SA_INPUT (4 , 0 ),
249- SA_INPUT (5 , 0 ),
250- SA_INPUT (6 , 0 ),
251- SA_INPUT (7 , 0 ),
252- SA_SGROUP (0 ),
253- SA_SGROUP (1 ),
254- SA_SGROUP (2 ),
255- SA_SGROUP (3 ),
244+ SA_INPUT (0 , 1 , 1 ),
245+ SA_INPUT (1 , 2 , 1 ),
246+ SA_INPUT (2 , 3 , 0 ),
247+ SA_INPUT (3 , 4 , 0 ),
248+ SA_INPUT (4 , 5 , 0 ),
249+ SA_INPUT (5 , 6 , 0 ),
250+ SA_INPUT (6 , 7 , 0 ),
251+ SA_INPUT (7 , 8 , 0 ),
252+ SA_SGROUP (0 , 1 ),
253+ SA_SGROUP (1 , 2 ),
254+ SA_SGROUP (2 , 3 ),
255+ SA_SGROUP (3 , 4 ),
256256 SA_COMMON (8 , SA_MULTI_CHANNEL ),
257257 SA_CORRMETER (" cccm" , " Correlometer for selected channels" ),
258258 SWITCH (" ms" , " Stereo analysis Mid/Side mode" , " M/S mode" , 0 ),
@@ -265,24 +265,24 @@ namespace lsp
265265
266266 static const port_t spectrum_analyzer_x12_ports[] =
267267 {
268- SA_INPUT (0 , 1 ),
269- SA_INPUT (1 , 1 ),
270- SA_INPUT (2 , 0 ),
271- SA_INPUT (3 , 0 ),
272- SA_INPUT (4 , 0 ),
273- SA_INPUT (5 , 0 ),
274- SA_INPUT (6 , 0 ),
275- SA_INPUT (7 , 0 ),
276- SA_INPUT (8 , 0 ),
277- SA_INPUT (9 , 0 ),
278- SA_INPUT (10 , 0 ),
279- SA_INPUT (11 , 0 ),
280- SA_SGROUP (0 ),
281- SA_SGROUP (1 ),
282- SA_SGROUP (2 ),
283- SA_SGROUP (3 ),
284- SA_SGROUP (4 ),
285- SA_SGROUP (5 ),
268+ SA_INPUT (0 , 1 , 1 ),
269+ SA_INPUT (1 , 2 , 1 ),
270+ SA_INPUT (2 , 3 , 0 ),
271+ SA_INPUT (3 , 4 , 0 ),
272+ SA_INPUT (4 , 5 , 0 ),
273+ SA_INPUT (5 , 6 , 0 ),
274+ SA_INPUT (6 , 7 , 0 ),
275+ SA_INPUT (7 , 8 , 0 ),
276+ SA_INPUT (8 , 9 , 0 ),
277+ SA_INPUT (9 , 10 , 0 ),
278+ SA_INPUT (10 , 11 , 0 ),
279+ SA_INPUT (11 , 12 , 0 ),
280+ SA_SGROUP (0 , 1 ),
281+ SA_SGROUP (1 , 2 ),
282+ SA_SGROUP (2 , 3 ),
283+ SA_SGROUP (3 , 4 ),
284+ SA_SGROUP (4 , 5 ),
285+ SA_SGROUP (5 , 6 ),
286286 SA_COMMON (12 , SA_MULTI_CHANNEL ),
287287 SA_CORRMETER (" cccm" , " Correlometer for selected channels" ),
288288 SWITCH (" ms" , " Stereo analysis Mid/Side mode" , " M/S mode" , 0 ),
@@ -295,30 +295,30 @@ namespace lsp
295295
296296 static const port_t spectrum_analyzer_x16_ports[] =
297297 {
298- SA_INPUT (0 , 1 ),
299- SA_INPUT (1 , 1 ),
300- SA_INPUT (2 , 0 ),
301- SA_INPUT (3 , 0 ),
302- SA_INPUT (4 , 0 ),
303- SA_INPUT (5 , 0 ),
304- SA_INPUT (6 , 0 ),
305- SA_INPUT (7 , 0 ),
306- SA_INPUT (8 , 0 ),
307- SA_INPUT (9 , 0 ),
308- SA_INPUT (10 , 0 ),
309- SA_INPUT (11 , 0 ),
310- SA_INPUT (12 , 0 ),
311- SA_INPUT (13 , 0 ),
312- SA_INPUT (14 , 0 ),
313- SA_INPUT (15 , 0 ),
314- SA_SGROUP (0 ),
315- SA_SGROUP (1 ),
316- SA_SGROUP (2 ),
317- SA_SGROUP (3 ),
318- SA_SGROUP (4 ),
319- SA_SGROUP (5 ),
320- SA_SGROUP (6 ),
321- SA_SGROUP (7 ),
298+ SA_INPUT (0 , 1 , 1 ),
299+ SA_INPUT (1 , 2 , 1 ),
300+ SA_INPUT (2 , 3 , 0 ),
301+ SA_INPUT (3 , 4 , 0 ),
302+ SA_INPUT (4 , 5 , 0 ),
303+ SA_INPUT (5 , 6 , 0 ),
304+ SA_INPUT (6 , 7 , 0 ),
305+ SA_INPUT (7 , 8 , 0 ),
306+ SA_INPUT (8 , 9 , 0 ),
307+ SA_INPUT (9 , 10 , 0 ),
308+ SA_INPUT (10 , 11 , 0 ),
309+ SA_INPUT (11 , 12 , 0 ),
310+ SA_INPUT (12 , 13 , 0 ),
311+ SA_INPUT (13 , 14 , 0 ),
312+ SA_INPUT (14 , 15 , 0 ),
313+ SA_INPUT (15 , 16 , 0 ),
314+ SA_SGROUP (0 , 1 ),
315+ SA_SGROUP (1 , 2 ),
316+ SA_SGROUP (2 , 3 ),
317+ SA_SGROUP (3 , 4 ),
318+ SA_SGROUP (4 , 5 ),
319+ SA_SGROUP (5 , 6 ),
320+ SA_SGROUP (6 , 7 ),
321+ SA_SGROUP (7 , 8 ),
322322 SA_COMMON (16 , SA_MULTI_CHANNEL ),
323323 SA_CORRMETER (" cccm" , " Correlometer for selected channels" ),
324324 SWITCH (" ms" , " Stereo analysis Mid/Side mode" , " M/S mode" , 0 ),
@@ -355,75 +355,75 @@ namespace lsp
355355
356356 const port_group_t spectrum_analyzer_x1_port_groups[] =
357357 {
358- { " in_0" , " Input 0 " , GRP_MONO , PGF_IN | PGF_MAIN , mono_in_ports },
359- { " out_0" , " Output 0 " , GRP_MONO , PGF_OUT | PGF_MAIN , mono_out_ports },
358+ { " in_0" , " Input 1 " , GRP_MONO , PGF_IN | PGF_MAIN , mono_in_ports },
359+ { " out_0" , " Output 1 " , GRP_MONO , PGF_OUT | PGF_MAIN , mono_out_ports },
360360 PORT_GROUPS_END
361361 };
362362
363363 const port_group_t spectrum_analyzer_x2_port_groups[] =
364364 {
365- { " in_0" , " Input 0 " , GRP_STEREO , PGF_IN | PGF_MAIN , stereo_in0_ports },
366- { " out_0" , " Output 0 " , GRP_STEREO , PGF_OUT | PGF_MAIN , stereo_out0_ports },
365+ { " in_0" , " Input 1 " , GRP_STEREO , PGF_IN | PGF_MAIN , stereo_in0_ports },
366+ { " out_0" , " Output 1 " , GRP_STEREO , PGF_OUT | PGF_MAIN , stereo_out0_ports },
367367 PORT_GROUPS_END
368368 };
369369
370370 const port_group_t spectrum_analyzer_x4_port_groups[] =
371371 {
372- { " in_0" , " Input 0 " , GRP_STEREO , PGF_IN | PGF_MAIN , stereo_in0_ports },
373- { " out_0" , " Output 0 " , GRP_STEREO , PGF_OUT | PGF_MAIN , stereo_out0_ports },
374- { " in_1" , " Input 1 " , GRP_STEREO , PGF_IN , stereo_in1_ports },
375- { " out_1" , " Output 1 " , GRP_STEREO , PGF_OUT , stereo_out1_ports },
372+ { " in_0" , " Input 1 " , GRP_STEREO , PGF_IN | PGF_MAIN , stereo_in0_ports },
373+ { " out_0" , " Output 1 " , GRP_STEREO , PGF_OUT | PGF_MAIN , stereo_out0_ports },
374+ { " in_1" , " Input 2 " , GRP_STEREO , PGF_IN , stereo_in1_ports },
375+ { " out_1" , " Output 2 " , GRP_STEREO , PGF_OUT , stereo_out1_ports },
376376 PORT_GROUPS_END
377377 };
378378
379379 const port_group_t spectrum_analyzer_x8_port_groups[] =
380380 {
381- { " in_0" , " Input 0 " , GRP_STEREO , PGF_IN | PGF_MAIN , stereo_in0_ports },
382- { " out_0" , " Output 0 " , GRP_STEREO , PGF_OUT | PGF_MAIN , stereo_out0_ports },
383- { " in_1" , " Input 1 " , GRP_STEREO , PGF_IN , stereo_in1_ports },
384- { " out_1" , " Output 1 " , GRP_STEREO , PGF_OUT , stereo_out1_ports },
385- { " in_2" , " Input 2 " , GRP_STEREO , PGF_IN , stereo_in2_ports },
386- { " out_2" , " Output 2 " , GRP_STEREO , PGF_OUT , stereo_out2_ports },
387- { " in_3" , " Input 3 " , GRP_STEREO , PGF_IN , stereo_in3_ports },
388- { " out_3" , " Output 3 " , GRP_STEREO , PGF_OUT , stereo_out3_ports },
381+ { " in_0" , " Input 1 " , GRP_STEREO , PGF_IN | PGF_MAIN , stereo_in0_ports },
382+ { " out_0" , " Output 1 " , GRP_STEREO , PGF_OUT | PGF_MAIN , stereo_out0_ports },
383+ { " in_1" , " Input 2 " , GRP_STEREO , PGF_IN , stereo_in1_ports },
384+ { " out_1" , " Output 2 " , GRP_STEREO , PGF_OUT , stereo_out1_ports },
385+ { " in_2" , " Input 3 " , GRP_STEREO , PGF_IN , stereo_in2_ports },
386+ { " out_2" , " Output 3 " , GRP_STEREO , PGF_OUT , stereo_out2_ports },
387+ { " in_3" , " Input 4 " , GRP_STEREO , PGF_IN , stereo_in3_ports },
388+ { " out_3" , " Output 4 " , GRP_STEREO , PGF_OUT , stereo_out3_ports },
389389 PORT_GROUPS_END
390390 };
391391
392392 const port_group_t spectrum_analyzer_x12_port_groups[] =
393393 {
394- { " in_0" , " Input 0 " , GRP_STEREO , PGF_IN | PGF_MAIN , stereo_in0_ports },
395- { " out_0" , " Output 0 " , GRP_STEREO , PGF_OUT | PGF_MAIN , stereo_out0_ports },
396- { " in_1" , " Input 1 " , GRP_STEREO , PGF_IN , stereo_in1_ports },
397- { " out_1" , " Output 1 " , GRP_STEREO , PGF_OUT , stereo_out1_ports },
398- { " in_2" , " Input 2 " , GRP_STEREO , PGF_IN , stereo_in2_ports },
399- { " out_2" , " Output 2 " , GRP_STEREO , PGF_OUT , stereo_out2_ports },
400- { " in_3" , " Input 3 " , GRP_STEREO , PGF_IN , stereo_in3_ports },
401- { " out_3" , " Output 3 " , GRP_STEREO , PGF_OUT , stereo_out3_ports },
402- { " in_4" , " Input 4 " , GRP_STEREO , PGF_IN , stereo_in4_ports },
403- { " out_4" , " Output 4 " , GRP_STEREO , PGF_OUT , stereo_out4_ports },
404- { " in_5" , " Input 5 " , GRP_STEREO , PGF_IN , stereo_in5_ports },
405- { " out_5" , " Output 5 " , GRP_STEREO , PGF_OUT , stereo_out5_ports },
394+ { " in_0" , " Input 1 " , GRP_STEREO , PGF_IN | PGF_MAIN , stereo_in0_ports },
395+ { " out_0" , " Output 1 " , GRP_STEREO , PGF_OUT | PGF_MAIN , stereo_out0_ports },
396+ { " in_1" , " Input 2 " , GRP_STEREO , PGF_IN , stereo_in1_ports },
397+ { " out_1" , " Output 2 " , GRP_STEREO , PGF_OUT , stereo_out1_ports },
398+ { " in_2" , " Input 3 " , GRP_STEREO , PGF_IN , stereo_in2_ports },
399+ { " out_2" , " Output 3 " , GRP_STEREO , PGF_OUT , stereo_out2_ports },
400+ { " in_3" , " Input 4 " , GRP_STEREO , PGF_IN , stereo_in3_ports },
401+ { " out_3" , " Output 4 " , GRP_STEREO , PGF_OUT , stereo_out3_ports },
402+ { " in_4" , " Input 5 " , GRP_STEREO , PGF_IN , stereo_in4_ports },
403+ { " out_4" , " Output 5 " , GRP_STEREO , PGF_OUT , stereo_out4_ports },
404+ { " in_5" , " Input 6 " , GRP_STEREO , PGF_IN , stereo_in5_ports },
405+ { " out_5" , " Output 6 " , GRP_STEREO , PGF_OUT , stereo_out5_ports },
406406 PORT_GROUPS_END
407407 };
408408
409409 const port_group_t spectrum_analyzer_x16_port_groups[] =
410410 {
411- { " in_0" , " Input 0 " , GRP_STEREO , PGF_IN | PGF_MAIN , stereo_in0_ports },
412- { " out_0" , " Output 0 " , GRP_STEREO , PGF_OUT | PGF_MAIN , stereo_out0_ports },
413- { " in_1" , " Input 1 " , GRP_STEREO , PGF_IN , stereo_in1_ports },
414- { " out_1" , " Output 1 " , GRP_STEREO , PGF_OUT , stereo_out1_ports },
415- { " in_2" , " Input 2 " , GRP_STEREO , PGF_IN , stereo_in2_ports },
416- { " out_2" , " Output 2 " , GRP_STEREO , PGF_OUT , stereo_out2_ports },
417- { " in_3" , " Input 3 " , GRP_STEREO , PGF_IN , stereo_in3_ports },
418- { " out_3" , " Output 3 " , GRP_STEREO , PGF_OUT , stereo_out3_ports },
419- { " in_4" , " Input 4 " , GRP_STEREO , PGF_IN , stereo_in4_ports },
420- { " out_4" , " Output 4 " , GRP_STEREO , PGF_OUT , stereo_out4_ports },
421- { " in_5" , " Input 5 " , GRP_STEREO , PGF_IN , stereo_in5_ports },
422- { " out_5" , " Output 5 " , GRP_STEREO , PGF_OUT , stereo_out5_ports },
423- { " in_6" , " Input 6 " , GRP_STEREO , PGF_IN , stereo_in6_ports },
424- { " out_6" , " Output 6 " , GRP_STEREO , PGF_OUT , stereo_out6_ports },
425- { " in_7" , " Input 7 " , GRP_STEREO , PGF_IN , stereo_in7_ports },
426- { " out_7" , " Output 7 " , GRP_STEREO , PGF_OUT , stereo_out7_ports },
411+ { " in_0" , " Input 1 " , GRP_STEREO , PGF_IN | PGF_MAIN , stereo_in0_ports },
412+ { " out_0" , " Output 1 " , GRP_STEREO , PGF_OUT | PGF_MAIN , stereo_out0_ports },
413+ { " in_1" , " Input 2 " , GRP_STEREO , PGF_IN , stereo_in1_ports },
414+ { " out_1" , " Output 2 " , GRP_STEREO , PGF_OUT , stereo_out1_ports },
415+ { " in_2" , " Input 3 " , GRP_STEREO , PGF_IN , stereo_in2_ports },
416+ { " out_2" , " Output 3 " , GRP_STEREO , PGF_OUT , stereo_out2_ports },
417+ { " in_3" , " Input 4 " , GRP_STEREO , PGF_IN , stereo_in3_ports },
418+ { " out_3" , " Output 4 " , GRP_STEREO , PGF_OUT , stereo_out3_ports },
419+ { " in_4" , " Input 5 " , GRP_STEREO , PGF_IN , stereo_in4_ports },
420+ { " out_4" , " Output 5 " , GRP_STEREO , PGF_OUT , stereo_out4_ports },
421+ { " in_5" , " Input 6 " , GRP_STEREO , PGF_IN , stereo_in5_ports },
422+ { " out_5" , " Output 6 " , GRP_STEREO , PGF_OUT , stereo_out5_ports },
423+ { " in_6" , " Input 7 " , GRP_STEREO , PGF_IN , stereo_in6_ports },
424+ { " out_6" , " Output 7 " , GRP_STEREO , PGF_OUT , stereo_out6_ports },
425+ { " in_7" , " Input 8 " , GRP_STEREO , PGF_IN , stereo_in7_ports },
426+ { " out_7" , " Output 8 " , GRP_STEREO , PGF_OUT , stereo_out7_ports },
427427 PORT_GROUPS_END
428428 };
429429
0 commit comments