]> Shamusworld >> Repos - ardour-manual/blobdiff - include/generic-midi-binding-maps.html
Removed link to MIDI on Linux page in Mackie Control setup page.
[ardour-manual] / include / generic-midi-binding-maps.html
index 52f7ad8e3c82860443cdc901a7cdbcbdafbc2376..8402cc66e11e46ab89e06f27a7a7444dbb765bdc 100644 (file)
   controls with anything inside Ardour that can be controlled.
 </p>
 <p>
-  Currently (August 2016), we have presets for the following devices/modes:
+  As of this writing we offer presets for the following devices/modes:
 </p>
-<ul>
-  <li>AKAI MPD-32</li>
+<ul> <!-- generated by: grep name= /opt/Ardour-6.7.0/share/midi_maps/*.map -->
+  <li>AKAI MPD32 by samtuke</li>
+  <li>Akai MidiMix EQ Mode</li>
+  <li>Akai MidiMix Normal Mode</li>
   <li>AKAI MPK61</li>
   <li>AKAI MPKmini</li>
-  <li>Behringer BCF2000</li>
-  <li>Behringer BCF2000 (Mackie Emulation mode; better to use
-    Ardour's actual Mackie Control Protocol support)</li>
-  <li>Behringer DDX3216</li>
-  <li>Korg nanoKONTROL (2 layouts)</li>
-  <li>Korg nanoKONTROL 2 (2 layouts)</li>
-  <li>Korg Taktile</li>
-  <li>M-Audio Axiom 25 (2 layouts)</li>
+  <li>Alesis QX25</li>
+  <li>Alesis VI25</li>
+  <li>Arturia KeyLab 49</li>
+  <li>Arturia MiniLab mkII</li>
+  <li>Behringer BCF2000 Factory Preset 2</li>
+  <li>Behringer BCF2000 Mackie Control</li>
+  <li>DDX3216</li>
+  <li>Korg nanoKONTROL</li>
+  <li>Korg nanoKONTROL2</li>
+  <li>Korg nanoKONTROL2 With Master</li>
+  <li>Korg nanoKONTROL w/Master</li>
+  <li>Korg nanoKONTROL Studio</li>
+  <li>Korg Taktile ( mode 9 )</li>
+  <li>M-Audio Oxygen61 V3 by samtuke</li>
+  <li>M-Audio Axiom 25 - Transport Controls</li>
   <li>M-Audio Axiom 61</li>
+  <li>M-Audio Axiom Air 25 (2015 Model) - Transport Controls</li>
+  <li>M-Audio Axiom AIR Mini 32</li>
+  <li>M-Audio Oxygen25 (factory default)</li>
+  <li>M-Audio Oxygen25 (3rd Gen)</li>
   <li>M-Audio Oxygen 49</li>
-  <li>M-Audio Oxygen 61v3</li>
-  <li>M-Audio Oxygen 25</li>
-  <li>M-Audio Oxygen 8v2</li>
+  <li>M-Audio Oxygen 61 v3</li>
+  <li>M-Audio Oxygen8 V2</li>
+  <li>WiiMote via midikb</li>
+  <li>Nektar Panorama</li>
   <li>Novation Impulse 49</li>
   <li>Novation Impulse 61</li>
-  <li>Novation LaunchControl XL</li>
-  <li>Novation LaunchKey 25</li>
+  <li>Novation Launch Control XL</li>
+  <li>Novation Launchkey 25</li>
+  <li>Novation LaunchKey 49</li>
   <li>Roland SI-24</li>
-  <li>Roland V Studio 20</li>
-  <li>Yamaha KX25</li>
+  <li>Roland V-Studio 20</li>
+  <li>Xboard 61</li>
+  <li>Yamaha KX25 Transport Controls</li>
 </ul>
   At this time, new binding maps need to be created with a text editor.
 <p>
@@ -94,16 +110,18 @@ bindings"&gt;
 <p>
   There are two basic kinds of bindings you can make between a MIDI message
   and something inside Ardour. The first is a binding to a specific parameter
-  of a track or bus. The second is a binding to a function that will change
-  Ardour's state in some way.
+  of a track or bus. The second is a binding to something that will change
+  Ardour's state in some way (the "something" could either be called a
+  function or an action, see below).
 </p>
 <h4>Binding to Track/Bus controls</h4>
 <p>
-  A track/bus binding has one of two basic structures
+  A track/bus binding has one of three basic structures
 </p>
 <code>
-  &lt;Binding <em>msg specification</em>  uri="<em>&hellip; control address &hellip;</em>"/&gt;
-  &lt;Binding <em>msg specification</em>  function="<em>&hellip; function name &hellip;</em>"/&gt;
+  &lt;Binding <em>msg specification</em>  uri="<em>&hellip; control address &hellip;</em>"/&gt;</br>
+  &lt;Binding <em>msg specification</em>  function="<em>&hellip; function name &hellip;</em>"/&gt;</br>
+  &lt;Binding <em>msg specification</em>  action="<em>&hellip; action name &hellip;</em>"/&gt;
 </code>
 
 <h4>Message specifications</h4>
@@ -123,25 +141,31 @@ bindings"&gt;
   <code>pgm</code>  (to create a binding for a Program Change message).
 </p>
 <p>
-  As of Ardour 4.2, <code>enc-r</code>, <code>enc-l</code>, <code>enc-2</code> and
-  <code>enc-b</code> may be used for surfaces that have encoders that send
-  offsets rather than values. These accept Continuous Controller messages
-  but treat them as offsets. These are good for banked controls as they are
-  always at the right spot to start adjusting. (
-   <a href="@@generic-midi-and-encoders">
-   Learn more about working with encoders
-   </a>)
+       Continous Controlers (CCs) have coninued to evolve for different controlers.
+       The use of Encoders, RPN, NRPN, and controller buttons that give a 0 value
+       when released instead of toggling are now supported. These all have their
+       own type. The whole list of CC types are:
 </p>
 <p>
        <ul>
-               <li><code>&lt;Binding channel="1" enc-r="13" &hellip;</code></li>
-               <li><code>&lt;Binding channel="1" enc-l="13" &hellip;</code></li>
-               <li><code>&lt;Binding channel="1" enc-2="13" &hellip;</code></li>
-               <li><code>&lt;Binding channel="1" enc-b="13" &hellip;</code></li>
+               <li>ctl - sets a CC to the value sent (works the same as
+               <code>note</code> with the <code>momentary</code> parameter set)</li>
+               <li>ctl-toggle - for CC controls that send a 127 for button press
+               and 0 for button release. The release is ignored and the value is
+               toggled with each press. (works the same as <code>note</code>)</li>
+               <li>ctl-dial - passes the CC value to the controlled object</li>
+               <li>rpn - The CC value may be a 14 bit value</li>
+               <li>nrpn - The CC number and the value may both be 14 bit values</li>
+               <li>rpn-delta - The value is expected to be a signed 14bit value
+               that is added to the current value. For use with encoders</li>
+               <li>nrpn-delta - The value is expected to be a signed 14bit value
+               that is added to the current value. For use with encoders</li>
+               <li>enc-r, enc-l, enc-2 and enc-b - For 7 bit encoders.
+               <a href="@@generic-midi-and-encoders"> Learn more about working
+               with encoders </a></li>
        </ul>
-       The <code>enc-*</code> value is the CC number used by the encoder.
-       Encoders only work with CC messages.
 </p>
+
 <p class="note">
        Ardour 5.12 has a bug with the encoder detection where the first
        encoder message resets the control to 0. Setting "Enable Feedback"
@@ -151,7 +175,7 @@ bindings"&gt;
   You can also bind sysex messages:
 </p>
 <code>
-  &lt;Binding sysex="f0 0 0 e 9 0 5b f7" &hellip;.
+  &lt;Binding sysex="f0 0 0 e 9 0 5b f7" &hellip;.</br>
   &lt;Binding sysex="f0 7f 0 6 7 f7" &hellip;.
 </code>
 <p>
@@ -161,7 +185,7 @@ bindings"&gt;
 <p>
   Finally, you can bind a totally arbitrary MIDI message:</p>
 <code>
-  &lt;Binding msg="f0 0 0 e 9 0 5b f7" &hellip;.
+  &lt;Binding msg="f0 0 0 e 9 0 5b f7" &hellip;.</br>
   &lt;Binding msg="80 60 40" &hellip;.
 </code>
 <p>
@@ -249,19 +273,28 @@ bindings"&gt;
 
 <h4>Bindings to Ardour "functions"</h4>
 <p class="note">
-       There is currently no feedback available for functions.
+  There is currently no feedback available for functions.
 </p>
 <p>
-  Rather than binding to a specific track/bus control, it may be useful to
-  have a MIDI controller able to alter some part of Ardour's state. A
-  binding definition that does this looks like this:
+  Rather than binding to a specific track/bus/plugin control, it may be useful to
+  have a MIDI controller able to alter some part of Ardour's
+  state. Ardour's Generic MIDI support provides a small number of
+  easily-used "functions" to do the most common operations, using a
+  binding that looks like this:
 </p>
 <code>
   &lt;Binding channel="1" note="13" function="transport-roll"/&gt;
 </code>
 <p>
   In this case, a NoteOn message for note number 13 (on channel 1) will
-  start the transport rolling. The following function names are available:
+  start the transport rolling. 
+</p>
+<p>
+  Note that a much greater number of operations are possible using
+  actions, described below.
+</p>
+<p>
+  The following function names are available:
 </p>
 <table class="dl">
 <tr><th>
@@ -318,8 +351,8 @@ bindings"&gt;
 
 <h4>Binding to Ardour "actions"</h4>
 <p class="note">
-       It is not possible to have feedback available actions because these
-       represent keyboard shortcuts which are send only.
+  It is not possible to have feedback available for actions because
+  these represent keyboard shortcuts which are input only.
 </p>
 <p>
   You can also bind a sysex or arbitrary message to any of the items