[nama] Re: Jack.Plumbing

  • From: Joel Roth <joelz@xxxxxxxxx>
  • To: nama@xxxxxxxxxxxxx
  • Date: Mon, 7 Feb 2011 21:12:43 -1000

Hi Kevin, 

On Mon, Feb 07, 2011 at 07:21:49AM -0700, Kevin Utter wrote:
> Hi all.  I'm curious how (if) Jack Plumbing is being used.  I assume
> its still available in Nama, as I enabled it in namarc, and I think
> I saw a message that it was being used.  But, I see that if its
> already running, Nama stops it, saying it will bring it back when
> needed.  So, how are you using it now?  Are you creating a file,
> running it to make connections, then killing it right away?  Or are
> there other things going on there?  


Good questions. 

Nama's Jack plumbing support is useful when your setup
has so many JACK connections to make that Nama gets
sluggish. 

Jack.plumbing seemed like the ideal solution, as there
is only one persistent lightweight process and it makes 
the connections quickly.

As typical, the devil wasn't far off. He(She?) was lurking
among the details.

I wrote the code and found the jack.plumbing daemon dying
unexpectedly. After a lot of tears, it became clear that
this occurs because Ecasound registers JACK ports before it
is valid to connect them. Or something like that.[1]

The workaround is to 

- kill jack.plumbing when Nama starts
- start jack.plumbing for 0.5s as part of Nama's connect_transport() routine, 
- then kill it.

Nama respects the contents of the ~/.jack.plumbing file. It
appends Nama-specific connection rules to the file, and then
deletes them when the job is complete.

Nama appears to exit without restarting jack.plumbing, which is 
probably a bug.

You can use jack.plumbing as usual if you set
use_jack_plumbing: 0  in .namarc. With one condition: your
~/.jack.plumbing rules should *not* try to connect to
Ecasound.

1. http://linuxaudio.org/mailarchive/lau/2010/11/6/175174


>
>
>
> I've been using it when Nama
> isn't running, and I haven't had any more problems with my file
> being over-written, so was just curious how you were using it.  I
> was also trying to figure out if I could set things up so that when
> Nama is running, perhaps Jack Plumbing could disconnect any direct
> connections I may have had set up in order to pipe things through
> Nama as would normally be expected, but this may be a bit beyond
> Jack Plumbing capabilities.  Thanks much.

Perhaps I can set up some user-configurable hooks for
this purpose.... if you could give me a more specific
example of what you'd like to accomplish.

Be warned that I have a backlog of unfulfilled feature
requests at the moment!

Bring on the young (perl-coding, Linux audio-loving) Turks!

Best,

Joel


 
> Kevin
> 
> 

-- 
Joel Roth

Other related posts: