X-Git-Url: http://shamusworld.gotdns.org/cgi-bin/gitweb.cgi?a=blobdiff_plain;ds=inline;f=include%2Fgeneric-midi-binding-maps.html;h=8402cc66e11e46ab89e06f27a7a7444dbb765bdc;hb=9d52056402cba1b2abc8d26e1c1fa33e8ebb4a7d;hp=c8c49c2b7405b5dfe2e03a14f4e2e4426972da0f;hpb=7be4f507991a0b87174a0e78831a4e7e9e96bcbe;p=ardour-manual diff --git a/include/generic-midi-binding-maps.html b/include/generic-midi-binding-maps.html index c8c49c2..8402cc6 100644 --- a/include/generic-midi-binding-maps.html +++ b/include/generic-midi-binding-maps.html @@ -11,32 +11,48 @@ controls with anything inside Ardour that can be controlled.
- Currently (August 2016), we have presets for the following devices/modes: + As of this writing we offer presets for the following devices/modes:
-@@ -53,8 +69,7 @@ remote control ID. 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 - + remote control IDs 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 +89,8 @@ bindings"> So, to start, create a file with that as the initial contents.
- On OS X, Ardour loads midi maps from its binary-bundle folder in
- Ardour-<version>/midi_maps/
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
- ~/.config/ardour3/midi_maps/
.
+ The file should be located in the midi_maps sub directory located in
+ the Ardour configuration directory
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).
- A track/bus binding has one of two basic structures + A track/bus binding has one of three basic structures
- <Binding msg specification uri="… control address …"/>
- <Binding msg specification function="… function name …"/>
+ <Binding msg specification uri="… control address …"/>
+ <Binding msg specification function="… function name …"/>
+ <Binding msg specification action="… action name …"/>
- <Binding channel="1" ctl="13" ….
+ <Binding channel="1" ctl="13" …
This defines a binding for a MIDI Continuous Controller message involving
@@ -127,20 +141,41 @@ bindings">
pgm
(to create a binding for a Program Change message).
- As of Ardour 4.2, enc-r
, enc-l
, enc-2
and
- enc-b
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. (
-
- Learn more about working with encoders
- )
+ 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:
+
+
note
with the momentary
parameter set)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.
You can also bind sysex messages:
- <Binding sysex="f0 0 0 e 9 0 5b f7" ….
+ <Binding sysex="f0 0 0 e 9 0 5b f7" ….
<Binding sysex="f0 7f 0 6 7 f7" ….
@@ -150,7 +185,7 @@ bindings">
Finally, you can bind a totally arbitrary MIDI message:
- <Binding msg="f0 0 0 e 9 0 5b f7" ….
+ <Binding msg="f0 0 0 e 9 0 5b f7" ….
<Binding msg="80 60 40" ….
@@ -178,6 +213,9 @@ bindings"> A control address defines what the binding will actually control. There are quite a few different things that can be specified here:
++ Enable Feeback applies to these "Control Addresses" only. +
/route/gain | the gain control ("fader") for the track/bus |
---|
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:
a number, eg. "1" + | |
---|---|
a number, e.g. "1" | identifies a track or bus by its remote control ID |
@@ -300,10 +350,14 @@ bindings"> |
---|
+ It is not possible to have feedback available for actions because + these represent keyboard shortcuts which are input only. +
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 + href="@@list-of-menu-actions"> list of actions shows all available values of action-name.
To create a binding between an arbitrary MIDI message (we'll use a @@ -371,6 +425,9 @@ bindings"> <Binding channel="1" note="15" uri="/route/mute B1" momentary="yes"/> <Binding channel="1" note="16" uri="/route/mute B2" momentary="yes"/> + <Binding channel="1" enc-r="11" uri="/route/pandirection B1"/> + <Binding channel="1" enc-r="12" uri="/route/pandirection B2"/> + <Binding sysex="f0 0 0 e 9 0 5b f7" function="transport-start"/> <Binding sysex="f0 7f 0 6 7 f7" function="rec-disable"/> <Binding sysex="f0 7f 0 6 6 f7" function="rec-enable"/>