X-Git-Url: http://shamusworld.gotdns.org/cgi-bin/gitweb.cgi?a=blobdiff_plain;f=_manual%2F03_setting-up-your-system%2F05_setting-up-midi%2F02_midi-on-linux.html;h=d0beff0473ab8d813313e58e9fd2d85d2c977639;hb=9b7e5ba52fa3a4325daf4631b7b564595e1a710f;hp=099e56421db168f367abe389012d2cc753be57d5;hpb=999d0a020e2f7f5757b659c2c22de193dbcffe5d;p=ardour-manual diff --git a/_manual/03_setting-up-your-system/05_setting-up-midi/02_midi-on-linux.html b/_manual/03_setting-up-your-system/05_setting-up-midi/02_midi-on-linux.html index 099e564..d0beff0 100644 --- a/_manual/03_setting-up-your-system/05_setting-up-midi/02_midi-on-linux.html +++ b/_manual/03_setting-up-your-system/05_setting-up-midi/02_midi-on-linux.html @@ -3,31 +3,73 @@ layout: default title: MIDI on Linux --- +The right approach for using MIDI on Linux depends on which version of +JACK you use. The world divides into: +
+
Systems using JACK 1, versions 0.124 or later
+
On these systems, just start JACK with + the -X alsa_midi server argument. To support legacy control + applications, you can also use the -X seq argument to the ALSA + backend of JACK and get the exact same results.
+
All others
+
Use a2jmidid to act as a bridge between ALSA MIDI and JACK. Do + not use the -X seq or -X raw arguments - the timing and performance + of these options is not acceptable. +
+
-

Ensure that a2jmidid is running

-

a2jmidid is an application that "bridges" between the system MIDI ports and JACK.

-

First you should be sure that there is no ALSA sequencer support enabled in jack. To do that open qjackctl's Setup window.

-

In the Settings tab set the MIDI Driver drop down to the none option.

-

Then go to the Misc tab and uncheck the Enable ALSA Sequencer support option.

-

Now it's time to restart your jack server before going on.

-

Checking for a2jmidid availability

-

First thing is checking if a2jmidid is already installed in your system. To do it first start your jack server and then call

-
a2jmidid -e
-

from the command. If a2jmidid is there go on with Checking surface control MIDI ports. Otherwise install the newest a2jmidid available and try again.

-

Checking surface control MIDI ports

-

After starting a2jmidid your control surface MIDI ports should appear in qjackctl's Connections window on the MIDI tab under a2j. If it does go on to the next step: Automatically calling a2jmidid when starting jack. If it doesn't you have to troubleshoot why it didn't. (How to troubleshoot a2jmidid?)

-

Automatically calling a2jmidid when starting jack

-

It's troublesome to have to manually start a2jmidid by hand each time you start jack. Here is one way to do it automatically. This step isn't mandatory, it's just a convenience. If you are not interested you can go on to the next step Enabling Ardour's mackie control ports in qjackctl.

-

Create a script that calls jack if you aren't using one yet. In it change the line that calls jack to have an ampersand at it's end like that:

-
-/usr/bin/qjackctl &
-
-

In this case I call qjackctl that starts jack so I include the ampersand in qjackctl's call. If you call jack directly, put the ampersand at the end of it's call line.

-

Now include the following lines after the line that calls jack:

-
-/usr/bin/sleep 5
-/bin/bash -c "/usr/bin/a2jmidid -e" &
-
-

All you have to do now is use your new script to call jack.

- +

a2jmidid

+

+ a2jmidid is an application that bridges between the system + MIDI ports and + JACK. +

+

+ First you should make sure that there is no ALSA sequencer support enabled + in JACK. To do that open QJackCtl's Setup window. +

+

+ Set Settings > MIDI Driver to none. + Then uncheck the Misc > Enable ALSA Sequencer + support option.
+ Now it's time to restart your jack server before going on. +

+ +

Check for a2jmidid availability

+

+ First, check whether a2jmidid is already installed in your system. After + starting your JACK server, go to the command line and type +

+a2jmidid -e +

+ If a2jmidid does not exist, install it with the software manager of your + Linux distribution and try again. +

+ + +

Check availaibility MIDI ports

+

+ If you have correctly configured JACK for MIDI, then your MIDI ports should appear in + qjackctl under Connections > MIDI . +

+ +

Making it automatic

+

+Once you've verified that the ports appear in JACK as expected, you +can make this happen whenever you start JACK. +

+ +

If you use a newer version of JACK 1, just make sure the -X +alsa_midi or -X seq options are enabled for whatever technique you use +to start JACK. +

+ +

+For other versions of JACK, +add a2jmidid -e as an "after start-up" script +in the Setup > Options tab of QJackCtl, so +that it is started automatically whenever you start JACK. +

+