]> Shamusworld >> Repos - ardour-manual/blobdiff - include/generic-midi-binding-maps.html
Edit pages to reflect jackd not being essential
[ardour-manual] / include / generic-midi-binding-maps.html
index 3757a1dd4cff5fb7ea9758e648a6ad00c10e3d38..144e2e9e2e31978d3730dc237a09e45aa58b9d0f 100644 (file)
@@ -1,7 +1,7 @@
 
 <p>
   Ardour 2.X supported
-  <a href="/using-control-surfaces/generic-midi/midi-learn/"><dfn>MIDI learning</dfn></a>
+  <a href="@@generic-midi-learn"><dfn>MIDI learning</dfn></a>
   for more or less any control. This was a nice feature that quite a few other
   DAWs are providing by now, but it didn't allow Ardour to work "out of the
   box" with sensible defaults for existing commercial MIDI
@@ -53,8 +53,7 @@
   <dfn>remote control ID</dfn>. This ID uniquely identifies a track or bus
   so that when messages arrive from elsewhere via MIDI or OSC , we can determine
    which track or bus they are intended to control. See
-   <a
-  href="/working-with-tracks/controlling-track-ordering/track-ordering-and-remote-control-ids/">
+   <a href="@@controlling-track-ordering">
    remote control IDs</a> for more information.
    You just need to know that there is a "first track" and its remote control
    ID is 1, and so on.
@@ -74,11 +73,8 @@ bindings"&gt;
   So, to start, create a file with that as the initial contents.
 </p>
 <p>
-  On OS X, Ardour loads midi maps from its binary-bundle folder in
-  <code>Ardour-&lt;version&gt;/midi_maps/</code> and checks
-  various other locations as well (defined by the ARDOUR_MIDIMAPS_PATH
-  environment variable). On GNU/Linux the easiest is to save the file to
-  <code>~/.config/ardour3/midi_maps/</code>.
+       The file should be located in the midi_maps sub directory located in
+       the <a href="@@files-and-directories-ardour-knows-about">Ardour configuration directory</a>
 </p>
 
 <h3>Finding out what your MIDI control surface sends</h3>
@@ -117,7 +113,7 @@ bindings"&gt;
   like this:
 </p>
 <code>
-   &lt;Binding channel="1" ctl="13" &hellip;.
+   &lt;Binding channel="1" ctl="13" &hellip;
 </code>
 <p>
   This defines a binding for a MIDI Continuous Controller message involving
@@ -132,10 +128,25 @@ bindings"&gt;
   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="/using-control-surfaces/generic-midi/working-with-encoders/">
+   <a href="@@generic-midi-and-encoders">
    Learn more about working with encoders
    </a>)
 </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>
+       </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"
+       on allows encoders to work as expected.
+</p>
 <p>
   You can also bind sysex messages:
 </p>
@@ -178,46 +189,49 @@ bindings"&gt;
   A <dfn>control address</dfn> defines what the binding will actually control.
   There are quite a few different things that can be specified here:
 </p>
-<dl class="wide-table">
-<dt>/route/gain</dt>
-<dd>the gain control ("fader") for the track/bus</dd>
-<dt>/route/trim</dt>
-<dd>the trim control for the track/bus (new in 4.1)</dd>
-<dt>/route/solo</dt>
-<dd>a toggleable control for solo (and listen) of the track/bus</dd>
-<dt>/route/mute</dt>
-<dd>a toggleable control to mute/unmute the track/bus</dd>
-<dt>/route/recenable</dt>
-<dd>a toggleable control to record-enable the track</dd>
-<dt>/route/panwidth</dt>
-<dd>interpreted by the track/bus panner, should control image "width"</dd>
-<dt>/route/pandirection</dt>
-<dd>interpreted by the track/bus panner, should control image "direction"</dd>
-<dt>/route/plugin/parameter</dt>
-<dd>the Mth parameter of the Nth plugin of a track/bus
-</dd>
-<dt>/route/send/gain</dt>
-<dd>the gain control ("fader") of the Nth send of a track/bus</dd>
-</dl>
+<p class="note">
+       Enable Feeback applies to these "Control Addresses" only.
+</p>
+<table class="dl">
+<tr><th>/route/gain</th>
+<td>the gain control ("fader") for the track/bus</td></tr>
+<tr><th>/route/trim</th>
+<td>the trim control for the track/bus (new in 4.1)</td></tr>
+<tr><th>/route/solo</th>
+<td>a toggleable control for solo (and listen) of the track/bus</td></tr>
+<tr><th>/route/mute</th>
+<td>a toggleable control to mute/unmute the track/bus</td></tr>
+<tr><th>/route/recenable</th>
+<td>a toggleable control to record-enable the track</td></tr>
+<tr><th>/route/panwidth</th>
+<td>interpreted by the track/bus panner, should control image "width"</td></tr>
+<tr><th>/route/pandirection</th>
+<td>interpreted by the track/bus panner, should control image "direction"</td></tr>
+<tr><th>/route/plugin/parameter</th>
+<td>the Mth parameter of the Nth plugin of a track/bus
+</td></tr>
+<tr><th>/route/send/gain</th>
+<td>the gain control ("fader") of the Nth send of a track/bus</td></tr>
+</table>
 <p>Each of the specifications needs an address, which takes various forms too. For track-level controls (solo/gain/mute/recenable), the address is one the following:</p>
-<dl class="wide-table">
-<dt>a number, eg. "1"
-</dt>
-<dd>identifies a track or bus by its remote control ID
-</dd>
-<dt>B, followed by a number
-</dt>
-<dd>identifies a track or bus by its remote control ID within the current bank (see below for more on banks)
-</dd>
-<dt>S, followed by a number
-</dt>
-<dd>identifies a selected track in order they have been selected, S1 should be the same track as the Editor Mixer
-</dd>
-<dt>one or more words
-</dt>
-<dd>identifies a track or bus by its name
-</dd>
-</dl>
+<table class="dl">
+<tr><th>a number, e.g. "1"
+</th>
+<td>identifies a track or bus by its remote control ID
+</td></tr>
+<tr><th>B, followed by a number
+</th>
+<td>identifies a track or bus by its remote control ID within the current bank (see below for more on banks)
+</td></tr>
+<tr><th>S, followed by a number
+</th>
+<td>identifies a selected track in order they have been selected, S1 should be the same track as the Editor Mixer
+</td></tr>
+<tr><th>one or more words
+</th>
+<td>identifies a track or bus by its name
+</td></tr>
+</table>
 <p>
   For send/insert/plugin controls, the address consists of a track/bus
   address (as just described) followed by a number identifying the plugin/send
@@ -234,6 +248,9 @@ bindings"&gt;
 </p>
 
 <h4>Bindings to Ardour "functions"</h4>
+<p class="note">
+       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
@@ -246,64 +263,68 @@ bindings"&gt;
   In this case, a NoteOn message for note number 13 (on channel 1) will
   start the transport rolling. The following function names are available:
 </p>
-<dl class="narrower-table">
-<dt>
+<table class="dl">
+<tr><th>
 <code>transport-stop</code>
-</dt>
-<dd>stop the transport
-</dd>
-<dt>
+</th>
+<td>stop the transport
+</td></tr>
+<tr><th>
 <code>transport-roll</code>
-</dt>
-<dd>start the transport "rolling"
-</dd>
-<dt>
+</th>
+<td>start the transport "rolling"
+</td></tr>
+<tr><th>
 <code>transport-zero</code>
-</dt>
-<dd>move the playhead to the zero position
-</dd>
-<dt>
+</th>
+<td>move the playhead to the zero position
+</td></tr>
+<tr><th>
 <code>transport-start</code>
-</dt>
-<dd>move the playhead to the start marker
-</dd>
-<dt>
+</th>
+<td>move the playhead to the start marker
+</td></tr>
+<tr><th>
 <code>transport-end</code>
-</dt>
-<dd>move the playhead to the end marker
-</dd>
-<dt>
+</th>
+<td>move the playhead to the end marker
+</td></tr>
+<tr><th>
 <code>loop-toggle</code>
-</dt>
-<dd>turn on loop playback
-</dd>
-<dt>
+</th>
+<td>turn on loop playback
+</td></tr>
+<tr><th>
 <code>rec-enable</code>
-</dt>
-<dd>enable the global record button
-</dd>
-<dt>
+</th>
+<td>enable the global record button
+</td></tr>
+<tr><th>
 <code>rec-disable</code>
-</dt>
-<dd>disable the global record button
-</dd>
-<dt>
+</th>
+<td>disable the global record button
+</td></tr>
+<tr><th>
 <code>next-bank</code>
-</dt>
-<dd>Move track/bus mapping to the next bank (see Banks below)
-</dd>
-<dt>
+</th>
+<td>Move track/bus mapping to the next bank (see Banks below)
+</td></tr>
+<tr><th>
 <code>prev-bank</code>
-</dt>
-<dd>Move track/bus mapping to the previous bank (see Banks below)
-</dd>
-</dl>
+</th>
+<td>Move track/bus mapping to the previous bank (see Banks below)
+</td></tr>
+</table>
 
 <h4>Binding to Ardour "actions"</h4>
+<p class="note">
+       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
   that occur in Ardour's main menu (and its submenus). The <a
-  href="/appendix/menu-actions-list/">
+  href="@@list-of-menu-actions">
   list of actions</a> shows all available values of <em>action-name</em>.
 <p>
   To create a binding between an arbitrary MIDI message (we'll use a
@@ -371,6 +392,9 @@ bindings"&gt;
   &lt;Binding channel="1" note="15"  uri="/route/mute B1" momentary="yes"/&gt;
   &lt;Binding channel="1" note="16"  uri="/route/mute B2" momentary="yes"/&gt;
 
+  &lt;Binding channel="1" enc-r="11"   uri="/route/pandirection B1"/&gt;
+  &lt;Binding channel="1" enc-r="12"   uri="/route/pandirection B2"/&gt;
+
   &lt;Binding sysex="f0 0 0 e 9 0 5b f7" function="transport-start"/&gt;
   &lt;Binding sysex="f0 7f 0 6 7 f7" function="rec-disable"/&gt;
   &lt;Binding sysex="f0 7f 0 6 6 f7" function="rec-enable"/&gt;