]> Shamusworld >> Repos - ardour-manual/commitdiff
some updates to the section on setting up MIDI
authorPaul Davis <paul@linuxaudiosystems.com>
Sat, 28 Jun 2014 12:33:27 +0000 (08:33 -0400)
committerPaul Davis <paul@linuxaudiosystems.com>
Sat, 28 Jun 2014 12:33:52 +0000 (08:33 -0400)
_manual/03_setting-up-your-system/05_setting-up-midi.html
_manual/03_setting-up-your-system/05_setting-up-midi/02_midi-on-linux.html

index ba9d6e15102e23ad51fc217d3ea26188144614e8..e8caf248b3e178fa64dfa0e5c1309f9a7b3853d1 100644 (file)
@@ -21,44 +21,40 @@ title: Setting Up MIDI
 
 <h2>MIDI Handling Frameworks</h2>
 <p>
-  Ardour supports various ways of sending and receiving MIDI data:
+  MIDI input and output for Ardour are handled by the same "engine"
+  that handles audio input and output. Up to release 3.5, that means
+  that all MIDI I/O takes place via JACK. JACK itself uses the 
+  native MIDI systems of the operating system to receive and send
+  data which are:
 </p>
 
-<h3>CoreMIDI</h3>
+<h3>OS X : CoreMIDI</h3>
 <p>
   <dfn>CoreMIDI</dfn> is the standard MIDI framework on OSX systems. 
   It provides drivers for MIDI hardware and libraries needed by MIDI
   software clients. 
 </p>
 
-<h4>ALSA MIDI</h4>
+<h3>Linux : ALSA MIDI</h3>
 <p>
   <dfn><abbr title="Advanced Linux Sound API">ALSA</abbr> MIDI</dfn>
   is the standard MIDI framework on Linux systems. It provides drivers 
   for MIDI hardware and libraries needed by MIDI software clients.
 </p>
 <p>
-  The <dfn>QJackCtl</dfn> control software displays ALSA MIDI ports 
+  The <dfn>QJackCtl</dfn> control software displays ALSA MIDI ports
   under its "ALSA" tab (it does not currently display CoreMIDI ports).
+  By contrast, JACK MIDI ports show up under
+  the <kbd class="menu">MIDI</kbd> tab in QJackCtl.
 </p>
-
-<h4>JACK MIDI</h4>
-
-<p> 
-  <dfn><abbr title="JACK Audio Connection Kit">JACK</abbr> MIDI</dfn> 
-  is a framework used to comunicate between JACK MIDI software clients. 
-  It provides zero jitter and a fixed latency of one <dfn>period</dfn>,
-  the same latency as for JACK audio.
-</p>
-<p>
-  JACK MIDI ports show up under the <kbd class="menu">MIDI</kbd> tab in
-  QJackCtl.
-</p>
-    
+   
+<h2>JACK MIDI Configuration</h2>
 <p>
-  There are several ways of <dfn>bridging</dfn> between the native MIDI frameworks
-  (e.g. CoreMIDI or ALSA) and JACK MIDI, as described in the sections
-  below.
+By default, JACK will not automatically detect and use existing MIDI
+ports on your system. You must choose one of several ways
+of <dfn>bridging</dfn> between the native MIDI frameworks
+(e.g. CoreMIDI or ALSA) and JACK MIDI, as described in the sections
+below.
 </p>
 
 {% children %}
index adaed743acb1fe9efd131590df0f460d0a942327..1d550d534e60f64b32f2900fc9b5d9ff89b7654f 100644 (file)
@@ -2,6 +2,22 @@
 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 server</code> 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>
+<dl>All others</dl>
+<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>
+</ul>
   
 <h2>a2jmidid</h2>
 <p>
@@ -32,13 +48,21 @@ title: MIDI on Linux
   Linux distribution and try again.
 </p>
 
-<h3>Check surface control MIDI ports</h3>
+
+<h2>Check MIDI ports</h2>
 <p>
-  After starting a2jmidid, your control surface MIDI ports should appear in
+  If you have correctly configured JACK for MIDI, then your MIDI ports should appear in
   qjackctl under <kbd class="menu">Connections &gt; MIDI &gt; a2j</kbd>.
 </p>
+
+<h3>Making it automatic</h3>
 <p>
-  You can now 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.
+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 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>
+