X-Git-Url: http://shamusworld.gotdns.org/cgi-bin/gitweb.cgi?a=blobdiff_plain;ds=sidebyside;f=include%2Fgeneric-midi-binding-maps.html;h=38361ba7a312bda64101e574f30d539f47032504;hb=c91049f4326638273e1720ea8d373990fe4cd53c;hp=cb5f8e2d9c42980c68f4f49a978b9a1f362ae7b3;hpb=3ac2b1ab0af5ff2d380c60cad295cbced589602f;p=ardour-manual diff --git a/include/generic-midi-binding-maps.html b/include/generic-midi-binding-maps.html index cb5f8e2..38361ba 100644 --- a/include/generic-midi-binding-maps.html +++ b/include/generic-midi-binding-maps.html @@ -14,28 +14,36 @@ Currently (August 2016), we have presets for the following devices/modes:
- 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 +133,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 +177,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,46 +205,49 @@ 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 |
---|---|
/route/trim | +the trim control for the track/bus (new in 4.1) |
/route/solo | +a toggleable control for solo (and listen) of the track/bus |
/route/mute | +a toggleable control to mute/unmute the track/bus |
/route/recenable | +a toggleable control to record-enable the track |
/route/panwidth | +interpreted by the track/bus panner, should control image "width" |
/route/pandirection | +interpreted by the track/bus panner, should control image "direction" |
/route/plugin/parameter | +the Mth parameter of the Nth plugin of a track/bus + |
/route/send/gain | +the gain control ("fader") of the Nth send of a 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, e.g. "1" + | +identifies a track or bus by its remote control ID + |
---|---|
B, followed by a number + | +identifies a track or bus by its remote control ID within the current bank (see below for more on banks) + |
S, followed by a number + | +identifies a selected track in order they have been selected, S1 should be the same track as the Editor Mixer + |
one or more words + | +identifies a track or bus by its name + |
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,76 +264,92 @@ bindings">
+ There is currently no feedback available for functions. +
- 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:
<Binding channel="1" note="13" function="transport-roll"/>
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. +
++ Note that a much greater number of operations are possible using + actions, described below.
-+ The following function names are available: +
+
transport-stop
-
- |
+stop the transport + |
---|---|
transport-roll
-
- |
+start the transport "rolling" + |
transport-zero
-
- |
+move the playhead to the zero position + |
transport-start
-
- |
+move the playhead to the start marker + |
transport-end
-
- |
+move the playhead to the end marker + |
loop-toggle
-
- |
+turn on loop playback + |
rec-enable
-
- |
+enable the global record button + |
rec-disable
-
- |
+disable the global record button + |
next-bank
-
- |
+Move track/bus mapping to the next bank (see Banks below) + |
prev-bank
-
- |
+Move track/bus mapping to the previous bank (see Banks below) + |
+ 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 +417,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"/>