[LAU] Bridging alsa and jack midi

Philipp Überbacher murks at tuxfamily.org
Fri Sep 26 15:12:18 UTC 2014


On Fri, 26 Sep 2014 10:50:06 -0400
Paul Davis <paul at linuxaudiosystems.com> wrote:

> On Fri, Sep 26, 2014 at 7:17 AM, Philipp Überbacher
> <murks at tuxfamily.org> wrote:
> 
> > On Thu, 25 Sep 2014 18:17:56 -0400
> > Paul Davis <paul at linuxaudiosystems.com> wrote:
> >
> > > On Thu, Sep 25, 2014 at 4:56 PM, Philipp Überbacher
> > > <murks at tuxfamily.org> wrote:
> > >
> > > > on as far as timing.
> > > >
> > > > So I remember correctly that there used to be issues with -X
> > > > seq.
> > > >
> > > >
> > > the -X seq option in current JACK1 is just a backward compatible
> > > hack to allow qjackctl and other tools to invoke the relevant
> > > stuff.
> > >
> > > the actual implementation is nothing to do with the old -X seq
> > > code, and is actually a2jmidid converted into an internal client.
> > > Note that JACK2 could use this client too - its source code is
> > > even in the theoretically "shared" git repo for JACK tools.
> >
> > Is there a new, recommended way to do the same thing? I only found
> > -X alsa_midi in the man page but it does not have the same effect.
> >
> 
> the confusion here is that there are two sets of command line
> arguments when you start JACK:
> 
>    jackd [ SERVER OPTIONS ] -d BACKEND_NAME [ BACKEND OPTIONS ]
> 
> for better or for worse, some of the option letters (e.g. -X or -p)
> can occur as either server options or backend options.
> 
> in the "old" world, there was only -X as a backend option and it had
> two arguments ("seq" or "raw"). Both of them are basically not
> sensible to use because of the poor implementations they refer to.
> 
> in the new world, the preferable use of -X is as a server option:
> 
>    jackd ... -X alsa_midi ... -d BACKEND ....
> 
> BUT ... given the legacy of qjackctl and other control apps which
> don't know about this, I hacked jack1 so that it would look for the
> the -X seq argument as a **backend** option and treat that as if the
> user had used the new form.
> 
> It would have been less confusing to have not done this, but that
> would have meant that it would be impossible/harder to use qjackctl
> to invoke this new MIDI bridge stuff, since it only knows about -X
> (seq|raw) as a backend option.
> 
> Alles klar?

Alles klar. Well, mostly. I guess that alsa_midi only makes sense
when alsa is used as a backend, so I don't quite see why it is a server
option instead of a backend option. Anyway, using the -X alsa_midi as
server option works.

Oh, and I just noticed that jack now tells which programs are blocking
the audio interface. Very convenient!

Regards,
Philipp


More information about the Linux-audio-user mailing list