]> Shamusworld >> Repos - ardour-manual/blobdiff - include/generic-midi-binding-maps.html
OSC: new for 6.0
[ardour-manual] / include / generic-midi-binding-maps.html
index cb5f8e2d9c42980c68f4f49a978b9a1f362ae7b3..144e2e9e2e31978d3730dc237a09e45aa58b9d0f 100644 (file)
@@ -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
@@ -136,6 +132,21 @@ bindings"&gt;
    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;