[LAU] Bridging alsa and jack midi

Rui Nuno Capela rncbc at rncbc.org
Fri Sep 26 16:26:15 UTC 2014


On 09/26/2014 04:12 PM, Philipp Überbacher wrote:
> 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.
>

on qjackctl settings, you can set the server prefix to "jackd -X 
alsa_midi" and leave the midi driver to "none", especially when NOT 
using "alsa" as the driver back-end.

hth.
cheers
-- 
rncbc aka Rui Nuno Capela
rncbc at rncbc.org


More information about the Linux-audio-user mailing list