[crossposted to alsa-devel and jackit-devel]

hi *!

i'd like to use the rear outs of my sblive platinum with jack.

the following works:
# aplay some.wav -Dfront &
# aplay someother.wav -Drear
both signals end up at my mixer as expected, so it seems the devices are independent.


front is hw:0,0 which is a duplex device.
rear is hw:0,3 and is playback only.

first and all-important question: are the front and rear out pcm devices synced in hardware? i suppose so, otherwise they would be pretty much useless. (if it turns out they aren't, let me know and ignore the rest of this posting :( )


to use all four outs with jack, i dug out some old asoundrc hack that takashi and jaroslav showed me a while ago:


// combine two devices into one
pcm.multi {
        type multi;
        slaves.a.pcm "hw:0,0";
        slaves.a.channels 2;
        slaves.b.pcm "hw:0,3";
        slaves.b.channels 2;
        bindings.0.slave a;
        bindings.0.channel 0;
        bindings.1.slave a;
        bindings.1.channel 1;
        bindings.2.slave b;
        bindings.2.channel 0;
        bindings.3.slave b;
        bindings.3.channel 1;
}

ctl.multi {
        type hw;
        card 0;
}

// somehow this device is not continous in memory and thus not mmap()able. jack wants mmap access, and this routing trick should help:

pcm.ttable {
        type route;
        slave.pcm "multi";
        ttable.0.0 1;
        ttable.1.1 1;
        ttable.2.2 1;
        ttable.3.3 1;
}

ctl.ttable {
        type hw;
        card 0;
}


ok. now i can do # jackstart -d alsa -d ttable -P and i get 4 outs.


3 problems remain:



* no sound from the rear outs when used with jack in this way :(


* qjackctl goes all haywire with this device: xruns galore. all is well when i don't use qjackctl and start jackd from the command line, so it might be a qjackctl problem, but i thought i'd mention it anyway - maybe the ttable device is not really kosher...

* no input from the first two channels.


jack somehow assumes that either all or no channels are duplex. if i don't use the -P (or non-duplex playback only) flag, it says, "...


[EMAIL PROTECTED]:~> jackstart -d alsa -d ttable
back from read, ret = 1 errno == Invalid argument
jackd 0.94.3
[...]
creating alsa driver ... ttable|ttable|1024|2|48000|0|0|nomon|swmeter|rt|32bit
ALSA lib pcm_hw.c:1055:(snd_pcm_hw_open) open /dev/snd/pcmC0D3c failed: No such device
jackstart: pcm.c:689: snd_pcm_nonblock: Assertion `pcm' failed.
Aborted


...", apparently trying to find a capture device for channels 2 and 3.

is there a way to fool jack into believing all are duplex with some more asoundrc magic? ideally, those two bogus ins would produce silence, but i don't really care, i don't connect them anyway.


thanks in advance,


jörn


-- "I never use EQ, never, never, never. I previously used to use mic positioning but I've even given up on that too." - Jezar on http://www.audiomelody.com


Jörn Nettingsmeier Kurfürstenstr 49, 45138 Essen, Germany http://spunk.dnsalias.org (my server) http://www.linuxaudiodev.org (Linux Audio Developers)





-------------------------------------------------------
The SF.Net email is sponsored by EclipseCon 2004
Premiere Conference on Open Tools Development and Integration
See the breadth of Eclipse activity. February 3-5 in Anaheim, CA.
http://www.eclipsecon.org/osdn
_______________________________________________
Alsa-devel mailing list
[EMAIL PROTECTED]
https://lists.sourceforge.net/lists/listinfo/alsa-devel

Reply via email to