[ecasound] some not so small changes to JACK support

From: Kai Vehmanen <kvehmanen@email-addr-hidden>
Date: Sat Sep 20 2008 - 01:49:02 EEST


I now committed a set of patches that changes the options used to
communicate with JACK. I also decided to commit Dominic's patch
to 'jack_generic' (and now applies to 'jack' as well) -- it's the
right thing to do and it actually fixes a bug, so better to apply it.

Here's a log of the commits plus clips from the update man page.
Comments are welcome.

commit 3d783dc252b6dbd83ffd80639e98deae2fc9e341
Author: Kai Vehmanen <kvehmanen -at- eca -dot- cx>
Date: Sat Sep 20 01:41:44 2008 +0300

     Added new parameters to 'jack' object

     - added: new optional params to 'jack' -> 'jack,clientname,portprefix';
              replaces old interfaces 'jack_auto', 'jack_generic'
              and 'jack_alsa'; see ecasound(1) for more details
     - changed: deprecated 'jack_auto', 'jack_generic' and

commit 6e1edef45bfde3fa3940aba2817d727213906b57
Author: Dominic Sacr<E9> <dominic.sacre@email-addr-hidden>
Date: Fri Sep 19 23:44:48 2008 +0300

     Make jack_generic port numbers start at one for each prefix

     This also fixes a segfault that occured when using the same
     prefix for inputs and outputs (ecasound -i jack_generic,foo -o
     jack_generic,foo), because JACK doesn't allow two ports with the same name,
     even if one is input and the other is output.

        JACK input/outputs
               JACK is a low-latency audio server that can be used to connect multiple independent audio application
               to each other. It is different from other audio server efforts in that it has been designed from the
               ground up to be suitable for low-latency professional audio work.

               Ecasound provides multiple ways to communicate with JACK servers. To create a JACK input or output
               object, one should use -i jack and -o jack. These create JACK client ports "ecasound:in_N" and "eca-
               sound:out_n" respectively ('N' is replaced by the channel number). Ecasound automatically creates one
               JACK port for each channel (number of channels is set with -f:bits,channels,rate option).

               It is important to note that by default JACK ports are not connected anywhere (e.g. to soundcard
               input/outputs, or to other apps). One thus has to connect the ports with an external program (e.g.
               "QJackCtl" or "jack_connect").

               For simple use scanerios, ecasound provides a way to autoconnect the ecasound ports. This can be done
               with by giving the peer client name as the second parameter to the "jack" object, e.g. -o jack,client-
               name. As an example, -o jack,system will create an output that is automatically connected to outputs
               of the default system soundcard. The client parameter can be omitted,
               in which case no automatic connections are made.

               If one needs to change the port prefix (e.g. "in" in client name "ecasound:in_N"), the prefix can be
               specified as the third parameter to "jack" object, e.g. -o jack,,fxout. Also the third parameter can be
               omitted, in which case the default prefixes "in" and "out" are used.

               Additionally global JACK options can be set using -G:jack,client_name,operation_mode option.
               'client_name' is the name used when registering ecasound to the JACK system. If 'operation_mode' is
               "notransport", ecasound will ignore any transport state changes in the JACK-system; in mode "send" it
               will send all start, stop and position-change events to other JACK clients; in mode "recv" ecasound
               will follow JACK start, stop and position-change events; and mode "sendrecv" (the default) which is a
               combination of the two previous modes.

               More details about ecasound's JACK support can be found from Ecasound User's Guide.

               Depracated interfaces Ecasound 2.5 and older supported "jack_alsa" and "jack_generic" object types, but
               these are now replaced by a more generic "jack" interface, and thus are now deprecated (they work but
               are no longer documented).

This SF.Net email is sponsored by the Moblin Your Move Developer's challenge
Build the coolest Linux based applications with Moblin SDK & win great prizes
Grand prize is a trip for two to an Open Source event anywhere in the world
Ecasound-list mailing list
Received on Wed Sep 24 12:15:03 2008

This archive was generated by hypermail 2.1.8 : Wed Sep 24 2008 - 12:15:03 EEST