In current implementation for a series of echoaudio drivers, some control
element set delivers information to use element values for
multi-dimensional array. Essentially, ALSA control interface of asound.h
has no common way to parse the information. As a result, the drivers
forces 'echomixer' application to parse the information by several ways.
This issue was reported by a commit 51db452df07b ('Revert "ALSA: echoaudio:
purge contradictions between dimension matrix members and total number of
members"') to Linux kernel. As a result of discussion at Linux
miniconference 2017, usage of 'dimen' member of 'struct snd_ctl_elem_info'
is going to be deprecated for future removal.
According to the above decision, this commit obsoletes usage of 'dimen'
information in 'echomixer' application. In a series of echoaudio drivers,
a control element set named as 'Channels info' includes duplicated
information of the dimension information on value array. Additionally,
some of dimension information have fixed values. This commit utilizes them
to obsolete usage of dimension information.
This patch is tested with Echo Gina 3G.
Signed-off-by: Takashi Sakamoto <o-takashi@sakamocchi.jp>
Signed-off-by: Takashi Iwai <tiwai@suse.de>
This patch fixes a stupid bug that was introduced in the last change.
Signed-off-by: Giuliano Pochini <pochini@shiny.it>
Signed-off-by: Takashi Iwai <tiwai@suse.de>
There is a long standing bug in the drivers for cards with a vmixer because
I overlooked a detail in the c++ generic driver by echoaudio. Those cards
do not have a line-out volume control. It is a virtual control provided by
the generic driver. The bug is harmless because the DSP just ignores the
command to change the volume.
Since that control has been removed, echomixer must be updated. With this
patch it uses the vmixer to fake the line-out volume.
This patch makes echomixer work with the new drivers.
Signed-off-by: Giuliano Pochini <pochini@shiny.it>
Signed-off-by: Takashi Iwai <tiwai@suse.de>
This patch fixes several bugs in the vmixer GUI and removes the "misc"
button from the main window when the card has no global controls.
Signed-off-by: Giuliano Pochini <pochini@shiny.it>
Signed-off-by: Takashi Iwai <tiwai@suse.de>
This patch:
- Adds the "autoclock" feature. When it's enabled echomixer automatically
switches between external and internal clock source if the cards receives,
or it doesn't, a valid clock signal, respectively.
Signed-off-by: Giuliano Pochini <pochini@shiny.it>
The following patch:
- Adds a frame that will hold many switches.
- Replaces the phantom power toggle button with a checkbutton inside the
frame.
Signed-off-by: Giuliano Pochini <pochini@shiny.it>
- Bugfix: Makes sure that the "changed" event will be triggered when we will
set the right value (the trick of setting an out of range value do not work
anymore with gtk+-2.x).
- Bugfix: Same as above for toggle buttons.
Signed-off-by: Giuliano Pochini <pochini@shiny.it>
- Matrix mixer drawing code cleanup.
- New feature: echomixer can load and restore the status of nominal level
switches.
Signed-off-by: Giuliano Pochini <pochini@shiny.it>