<div dir="ltr"><br><div class="gmail_extra"><br><br><div class="gmail_quote">On Wed, Nov 27, 2013 at 12:41 PM, raf <span dir="ltr"><<a href="mailto:rmouneyres@gmail.com" target="_blank">rmouneyres@gmail.com</a>></span> wrote:<br>
<blockquote class="gmail_quote" style="margin:0px 0px 0px 0.8ex;border-left:1px solid rgb(204,204,204);padding-left:1ex">hello,<br>
<br>
tested successfully with a HDSP 9652.<br>
great usefull tool !<br>
<br>
notice that if hdspmixer has not been started after bootup (means the card is not initialized in some way), hdspdump throw no error, and creates a dump file filled with 0. It means that alsa is not throwing errors either as your programs goes nicely to the end.<br>
<br>
I've been looking at hdspmixer code for some days now to make it console only, removing FLTK dependencies. Your program gives me motivation to go on with this hard task.<br></blockquote><div><br></div><div>i have no idea what a "console-only" version of hdspmixer would actually do, but perhaps you could consider the following as inspiration also (which uses amixer(1) to control the hdsp matrix mixer from the cmd line):<br>
<br></div><div>#!/bin/bash<br><br>AMIXER="amixer -q"<br>CARD="-c 1"<br><br>if [ x$1 = xon ] ; then<br> gain=32768<br> verb="route"<br>else<br> gain=0<br> verb="mute"<br>
fi<br><br>shift;<br><br>#input_source : 0-25 (physical channels), <br># 26-51 (software playback)<br>#output_source : 0-25 (physical channels), <br># 26-27 (line out)<br><br>case $1 in<br> play)<br>
for chn in $(seq 26 51);do<br> $AMIXER $CARD cset numid=5 $chn,$(($chn-26)),$gain<br> done<br> ;;<br><br> thru)<br> for input in $(seq 0 25);do<br> for output in $(seq 0 25); do<br> if [ $input != $output ]; then<br>
$AMIXER $CARD cset numid=5 $input,$output,$gain<br> fi<br> done<br> done<br> ;;<br><br> thru12) <br> $AMIXER $CARD cset numid=5 0,0,$gain<br> $AMIXER $CARD cset numid=5 1,1,$gain<br>
;;<br><br> mon)<br> for chn in $(seq 26 51);do<br> if [ $(($chn % 2)) -eq 0 ] ; then<br> $AMIXER $CARD cset numid=5 $chn,26,$gain<br> else<br> $AMIXER $CARD cset numid=5 $chn,27,$gain<br>
fi<br> done<br> ;;<br><br> all)<br> for input in $(seq 0 51); do<br> for output in $(seq 0 27); do<br> echo -n "."<br> if [ $gain = 0 -o $input != $output ]; then<br> $AMIXER $CARD cset numid=5 $input,$output,$gain<br>
fi<br> done<br> echo<br> done<br> ;;<br><br> off)<br> for input in $(seq 0 51); do<br> for output in $(seq 0 27); do<br> echo -n "."<br> if [ $gain = 0 -o $input != $output ]; then<br>
$AMIXER $CARD cset numid=5 $input,$output,$gain<br> fi<br> done<br> echo<br> done<br> ;;<br>esac<br><br></div></div></div></div>