Re: [ecasound] jack-session (was: Re: RIFF header problem)

From: Joel Roth <joelz@email-addr-hidden>
Date: Thu Sep 16 2010 - 04:54:13 EEST

On Wed, Sep 15, 2010 at 09:30:32PM +0200, Philipp ??berbacher wrote:
> Excerpts from Joel Roth's message of 2010-09-15 21:09:29 +0200:
> > On Wed, Sep 15, 2010 at 01:34:35PM +0200, Philipp ??berbacher wrote:
> > > Oh, I talked to Torben Hohn, the head behind jack-session, a few weeks
> > > ago. The automatic shutdown of the engine do get in the way of
> > > jack-session and he said the problem could be solved by decoupling the
> > > jack part, or something, but apparently it's not trivial. Well, there's
> > > hope that he'll do it and add jack-session support sometime. This would
> > > likely happen in a way that ecasound handles the low-level stuff and
> > > exposes what's necessary for frontends to handle the rest.
> >
> > Thanks for the update. Could you explain what you mean
> > by 'automatic shutdown' and how it influences
> > jack-session?
> Changes to aio of a connected CS and possibly others require the CS to
> be disconnected, which in turn means the engine gets shut down and the
> jack connections are lost.
> It's not the purpose of jack-session to reconnect the client in such a
> case. Jack connections are supposed to be under the users direct
> control, using a connection manager of sorts. Jack-sessions also assumes
> this is the case. It's not designed to make non-persistent connections
> 'magically' persistent. Therefor to make ecasound work with jack-session
> ecasound must first behave properly, which means it needs persistent
> jack connections.
> Sorry if that's a little long and complicated :)

Neither. Now I understand!

You'd mentioned before that this behavior bothers you.

I wonder how it could be resolved... Probably Kai is in
a better position to imagine that than I am. :-)

One of Nama's options is to connect a list of JACK
ports to a track input. Looking at the source
code, I see that I do this *after* 'engine-launch'
using jack_connect.


        # connect_jack_ports

Does your code explicitly launch the engine?

You commented about disliking needing a "settling time"
before the engine set up the JACK ports. I think that it's
legitimate to recognize such delays.

When Nama changes Ecasound's playback position under JACK,
it's necessary to:

        1. stop the transport
        2. change the playback position
        3. allow 0.1s for the system to "settle"
        4. start the transport

That's compared with the situation under ALSA:

        1. change the playback position

If a one-line sleep can solve your problems, I think you
should be happy!


Joel Roth
Start uncovering the many advantages of virtual appliances
and start using them to simplify application deployment and
accelerate your shift to cloud computing.
Ecasound-list mailing list
Received on Thu Sep 16 08:15:01 2010

This archive was generated by hypermail 2.1.8 : Thu Sep 16 2010 - 08:15:01 EEST