Zynthian ignores amixer controls in an array. I strips off the array info and treats all controls in that array as the same control. This results in many controls being hidden and the audio levels view with controllers that adjust the wrong controls.
To Reproduce
Steps to reproduce the behavior:
Add a soundcard with arrays of audio controls.
Show "Mixer Controls" in webconf.
Expected behaviour
All controls are shown.
Actual behaviour
Only one of each element of an array of controls is shown.
Screenshots
Additional context
An example soundcard is the Tascam US-16x08 which has 16 channels inputs and 8 outputs. All the individual controls for each input and output is part of an array, e.g. has a name like, 'Line Out',0. The index of the parameter within the array is the integer after the comma, in this case, '0'.
The array index is ignored by zynthian_engine_alsa_mixer::get_mixer_zctrls but it should be monitored and if an array exists, the symbol and name should be created for each element.
This attached file is the output from amixer for the Tascam US-16x08.
us16x08.txt
Configuration
Hardware
Raspberry Pi 5 Model B Rev 1.0
Audio: Tascam US-16x08
Display: MIPI DSI 800x480
Wiring: DUMMIES
I2C: Not detected
Profile:
Describe the issue
Zynthian ignores amixer controls in an array. I strips off the array info and treats all controls in that array as the same control. This results in many controls being hidden and the audio levels view with controllers that adjust the wrong controls.
To Reproduce
Steps to reproduce the behavior:
Expected behaviour
All controls are shown.
Actual behaviour
Only one of each element of an array of controls is shown.
Screenshots
Additional context
An example soundcard is the Tascam US-16x08 which has 16 channels inputs and 8 outputs. All the individual controls for each input and output is part of an array, e.g. has a name like,
'Line Out',0
. The index of the parameter within the array is the integer after the comma, in this case, '0'.The array index is ignored by zynthian_engine_alsa_mixer::get_mixer_zctrls but it should be monitored and if an array exists, the symbol and name should be created for each element.
This attached file is the output from
amixer
for the Tascam US-16x08. us16x08.txtConfiguration
Hardware
System
MIDI & UI
Software