Re: [ecasound] set alsa inputs for ecasignalview

From: Kai Vehmanen <kvehmanen@email-addr-hidden>
Date: Wed Nov 09 2005 - 10:45:44 EET

Hi,

sorry for late reply. I'm currently ramping up another FOSS project [1]
(work related), and that's taking quite a bit of my time.

[1] http://sofia-sip.sourceforge.net

On Wed, 2 Nov 2005, Peter Lutek wrote:

> ok, cool.... that fixed the comma bug. now i find i can only access the
> multiface through the plug layer (i.e. alsa,plug:1,0). when i use alsa,hw:1,0
> i get "error:device or resource busy". i know that the hdsp devices (incl.
> multiface) operate in non-interleaved mode, which is a problem for a lot of
> applications. could this be what i'm running up against here? i know the plug
> layer takes care of that in other applications, but i'd rather avoid it.

Most of the "pro" devices support only a fixed channel count
(you have to use all the channels). If you don't want to use the plug
layer, then you need to request ecasound to use audio params that
match the hw capabilities. So something like:

ecasignalview -f:32,10,44100 alsa,hw:1 foo.wav

For example RME9652 supports 10-26 channels, meaning you cannot open it in
stereo mode. Normally the ALSA plugin layer will handle this for
applications. Jackd OTOH finds out the capabilities and opens the card
with those.

For the interested, check out the linux-2.6 kernel sources at
linux-2.6/sound/pci/rme9652/rme9652.c and search for "capture_subinfo =".
I don't know an easier way to check these (the hw capabilities), but this
is at least one way to do it. :)

> jack works fine, but i'm trying to be as lean as possible here. there's also
> the issue of being unable to specify multiple jack clients in a single chain
> setup or ecasignalview command line. so if i do:
>
> ecasignalview -f:24,2,44100 jack test.wav
>
> in order to record while monitoring levels, then i have to go and manually
> hook up the two channels i want in jack, while ecasignalview is already
> writing to the file. it's not ideal. it would be better to be able to
> designate whichever jack clients i want ecasignalview to use, on the command
> line. maybe it could all be scripted, using jack_connect... i'll have to
> think about that.

Hmm, that's a good point. There are two ways to approach the problem:

1) specify connections on the cmdline and have ecasound make them

ecasignalview jack_auto,alsa_pcm test.wav

But this of course is a bit limited (the client ports have to match 1:1,
i.e. port alsa_pcm:out_1 connected to ecasound:in_2, out_2 to in_2, and
son on).

2) use the JACK transport API

Ecasignalview currently disables it, but see for example -G of
ecasound. Basic idea: start ecasignalview but do not trigger
processing at JACK level. Have a script (or the jack plumbing
daemon) make the connections, and then start the processing (for
example with jack_transport). This way you won't miss a single
sample at start.

--
  links, my public keys, etc at http://eca.cx/kv
-------------------------------------------------------
SF.Net email is sponsored by:
Tame your development challenges with Apache's Geronimo App Server. Download
it for free - -and be entered to win a 42" plasma tv or your very own
Sony(tm)PSP.  Click here to play: http://sourceforge.net/geronimo.php
_______________________________________________
Ecasound-list mailing list
Ecasound-list@email-addr-hidden
https://lists.sourceforge.net/lists/listinfo/ecasound-list
Received on Wed Nov 9 12:15:05 2005

This archive was generated by hypermail 2.1.8 : Wed Nov 09 2005 - 12:15:05 EET