<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>