]> Shamusworld >> Repos - ardour-manual-diverged/blobdiff - _manual/03_setting-up-your-system/05_setting-up-midi/02_midi-on-linux.html
text tweaks
[ardour-manual-diverged] / _manual / 03_setting-up-your-system / 05_setting-up-midi / 02_midi-on-linux.html
index 099e56421db168f367abe389012d2cc753be57d5..d0beff0473ab8d813313e58e9fd2d85d2c977639 100644 (file)
@@ -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:
 
+<dl>
+<dt>Systems using JACK 1, versions 0.124 or later</dt>
+<dd>On these systems, just start JACK with 
+ the <code>-X alsa_midi</code> 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.</dd>
+<dt>All others</dt>
+<dd>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.
+</dd>
+</dl>
   
-  <h2>Ensure that a2jmidid is running</h2>
-<p><code>a2jmidid</code> is an application that "bridges" between the system MIDI ports and JACK.</p>
-<p>First you should be sure that there is no ALSA sequencer support enabled in jack. To do that open qjackctl's <em>Setup</em> window.</p>
-<p>In the <em>Settings</em> tab set the <em>MIDI Driver</em> drop down to the <em>none</em> option.</p>
-<p>Then go to the <em>Misc</em> tab and uncheck the <em>Enable ALSA Sequencer support</em> option.</p>
-<p>Now it's time to restart your jack server before going on.</p>
-<h4>Checking for a2jmidid availability</h4>
-<p>First thing is checking if <em>a2jmidid</em> is already installed in your system. To do it first start your jack server and then call</p>
-<pre>a2jmidid -e</pre>
-<p>from the command. If <em>a2jmidid</em> is there go on with <strong>Checking surface control MIDI ports</strong>. Otherwise install the newest <em>a2jmidid</em> available and try again.</p>
-<h4>Checking surface control MIDI ports</h4>
-<p>After starting <em>a2jmidid</em> your control surface MIDI ports should appear in qjackctl's <em>Connections</em> window on the <em>MIDI</em> tab under <em>a2j</em>. If it does go on to the next step: <strong>Automatically calling a2jmidid when starting jack</strong>. If it doesn't you have to troubleshoot why it didn't. <em>(How to troubleshoot a2jmidid?)</em></p>
-<h4>Automatically calling a2jmidid when starting jack</h4>
-<p>It's troublesome to have to manually start <em>a2jmidid</em> 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 <strong>Enabling Ardour's mackie control ports in qjackctl</strong>.</p>
-<p>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:</p>
-<pre>
-/usr/bin/qjackctl &amp;
-</pre>
-<p>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.</p>
-<p>Now include the following lines after the line that calls jack:</p>
-<pre>
-/usr/bin/sleep 5
-/bin/bash -c "/usr/bin/a2jmidid -e" &amp;
-</pre>
-<p>All you have to do now is use your new script to call jack.</p>
-  
+<h2>a2jmidid</h2>
+<p>
+  <dfn>a2jmidid</dfn> is an application that bridges between the system
+  <abbr title="Musical Instrument Digital Interface">MIDI</abbr> ports and
+  <abbr title="JACK Audio Connection Kit">JACK</abbr>.
+</p>
+<p>
+  First you should make sure that there is no ALSA sequencer support enabled
+  in JACK. To do that open QJackCtl's <kbd class="menu">Setup</kbd> window.
+</p>
+<p>
+  Set <kbd class="menu">Settings &gt; MIDI Driver</kbd> to <kbd
+  class="input">none</kbd>.
+  Then uncheck the <kbd class="optoff">Misc &gt; Enable ALSA Sequencer
+  support</kbd> option.<br />
+  Now it's time to restart your jack server before going on.
+</p>
+
+<h3>Check for a2jmidid availability</h3>
+<p>
+  First, check whether a2jmidid is already installed in your system. After
+  starting your JACK server, go to the command line and type
+</p>
+<kbd class="cmd lin">a2jmidid -e</kbd>
+<p>
+  If a2jmidid does not exist, install it with the software manager of your
+  Linux distribution and try again.
+</p>
+
+
+<h2>Check availaibility MIDI ports</h2>
+<p>
+  If you have correctly configured JACK for MIDI, then your MIDI ports should appear in
+  qjackctl under <kbd class="menu">Connections &gt; MIDI </kbd>.
+</p>
+
+<h3>Making it automatic</h3>
+<p>
+Once you've verified that the ports appear in JACK as expected, you
+can make this happen whenever you start JACK.
+</p>
+
+<p>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.
+</p>
+
+<p>
+For other versions of JACK,
+add <kbd class="input">a2jmidid -e</kbd> as an "after start-up" script
+in the <kbd class="menu">Setup &gt; Options</kbd> tab of QJackCtl, so
+that it is started automatically whenever you start JACK.
+</p>
+