[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