[Ardour-Users] HDSPloader and RME HDSP9652
Ralf Mardorf
ralf.mardorf at alice-dsl.net
Sat May 24 04:43:14 PDT 2014
On Fri, 2014-05-23 at 21:47 -0400, Paul Davis wrote:
>
>
>
> On Fri, May 23, 2014 at 9:38 PM, Benjamin Scherrer
> <benjamin at wagnerbrutal.de> wrote:
> Hi,
>
> apart from the hdsploader, does anyone know why the issue
> "need to start
> the hdspmixer once to hear something" hasn't been addressed?
> Safety
> reasons sound fine, but there could be a simple "on" switch in
> the
> config, couldn't there? I haven't seen (heared) this behavior
> with
> another card.
>
>
> ALSA has a rule that all devices are silenced at boot.
>
> It is up to user space to restore any existing configuration.
>
>
> The ALSA tools used by most distros to do this restoration don't work
> properly in the case of a matrix mixer (which the HDSP series has).
>
>
>
> So instead, the user gets to run hdspmixer. It CAN be done with ALSA
> tools, but not with alsactl store/restore. I have shell scripts like
> the one below that I sometimes use to restore particular settings,
> which I include here to just to show proof of concept.
>
> ---------
> #!/bin/bash
>
> AMIXER="amixer -q"
> CARD="-c 1"
>
> if [ x$1 = xon ] ; then
> gain=32768
> verb="route"
> else
> gain=0
> verb="mute"
> fi
>
> shift;
>
> #input_source : 0-25 (physical channels),
> # 26-51 (software playback)
> #output_source : 0-25 (physical channels),
> # 26-27 (line out)
>
> case $1 in
> play)
> for chn in $(seq 26 51);do
> $AMIXER $CARD cset numid=5 $chn,$(($chn-26)),$gain
> done
> ;;
>
> thru)
> for input in $(seq 0 25);do
> for output in $(seq 0 25); do
> if [ $input != $output ]; then
> $AMIXER $CARD cset numid=5 $input,$output,$gain
> fi
> done
> done
> ;;
>
> thru12)
> $AMIXER $CARD cset numid=5 0,0,$gain
> $AMIXER $CARD cset numid=5 1,1,$gain
> ;;
>
> mon)
> for chn in $(seq 26 51);do
> if [ $(($chn % 2)) -eq 0 ] ; then
> $AMIXER $CARD cset numid=5 $chn,26,$gain
> else
> $AMIXER $CARD cset numid=5 $chn,27,$gain
> fi
> done
> ;;
>
> all)
> for input in $(seq 0 51); do
> for output in $(seq 0 27); do
> echo -n "."
> if [ $gain = 0 -o $input != $output ]; then
> $AMIXER $CARD cset numid=5 $input,$output,$gain
> fi
> done
> echo
> done
> ;;
>
> off)
> for input in $(seq 0 51); do
> for output in $(seq 0 27); do
> echo -n "."
> if [ $gain = 0 -o $input != $output ]; then
> $AMIXER $CARD cset numid=5 $input,$output,$gain
> fi
> done
> echo
> done
> ;;
> esac
IIRC end of last year or beginning of this year there were several
scripts posted at LAD, however, you could launch hdspmixer
automatically, if you start a WM/DE session.
More information about the Ardour-Users
mailing list