X-Git-Url: http://shamusworld.gotdns.org/cgi-bin/gitweb.cgi?a=blobdiff_plain;f=include%2Fgeneric-midi-binding-maps.html;h=38361ba7a312bda64101e574f30d539f47032504;hb=fec481cb354390fa2e3e0781b31a4ba7edae2e78;hp=47758a2bf038520f90a1290d9734202c5db10f99;hpb=081e7af0b6f6dec0ca685d3a538eacf20394c2cc;p=ardour-manual diff --git a/include/generic-midi-binding-maps.html b/include/generic-midi-binding-maps.html index 47758a2..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:

At this time, new binding maps need to be created with a text editor. @@ -73,11 +81,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

Finding out what your MIDI control surface sends

@@ -97,16 +102,18 @@ bindings">

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).

Binding to Track/Bus controls

- 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 …"/>

Message specifications

@@ -116,7 +123,7 @@ bindings"> like this:

- <Binding channel="1" ctl="13" …. + <Binding channel="1" ctl="13" …

This defines a binding for a MIDI Continuous Controller message involving @@ -126,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: +

+

+

+

+ +

+ 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" ….

@@ -149,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" ….

@@ -177,6 +205,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. +

@@ -200,7 +231,7 @@ bindings">
/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:

- @@ -233,17 +264,29 @@ bindings">

Bindings to Ardour "functions"

+

+ 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:

a number, eg. "1" +
a number, e.g. "1" identifies a track or bus by its remote control ID
@@ -299,6 +342,10 @@ bindings">

Binding to Ardour "actions"

+

+ 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