]> Shamusworld >> Repos - ardour-manual-diverged/commitdiff
copy-editing chapter 22
authorJörn Nettingsmeier <nettings@stackingdwarves.net>
Wed, 5 Feb 2014 23:59:35 +0000 (00:59 +0100)
committerJörn Nettingsmeier <nettings@stackingdwarves.net>
Wed, 5 Feb 2014 23:59:35 +0000 (00:59 +0100)
_manual/22_using-control-surfaces/01_controlling-ardour-with-osc.html
_manual/22_using-control-surfaces/02_devices-using-mackielogic-control-protocol.html
_manual/22_using-control-surfaces/02_devices-using-mackielogic-control-protocol/01_behringer-devices-in-mackielogic-control-mode.html
_manual/22_using-control-surfaces/02_devices-using-mackielogic-control-protocol/02_ssl-nucleus.html
_manual/22_using-control-surfaces/02_devices-using-mackielogic-control-protocol/03_mackie-control-setup-on-linux.html
_manual/22_using-control-surfaces/03_midi-binding-maps.html
_manual/22_using-control-surfaces/04_midi-learn.html
source/css/app.css

index a5a2c37f352f3b1520bc0ddf856def96410c7cfd..f59a3225ab8f9a0ad8655844f9ff98149b2fec76 100644 (file)
 layout: default
 title: Controlling Ardour with OSC
 ---                        
-
-
-  
   
-<p>Open Sound Control (<abbr title="Open Sound Control">OSC</abbr>) lets synthesizers and other devices communicate with Ardour. OSC devices can send commands relating to playback (such as play or stop), performance (such as volume, play, stop, and almost any other function (such as Edit, or Undo).</p>
-<p>Ardour is probably one of the most OSC-controllable audio applications around, but as with all OSC-controllable apps, you can't do much without knowing what messages can be sent. This document describes the various categories of messages that Ardour understands. It is subject to change, particular the "Actions" part below, since this relates to the GTK GUI for Ardour rather than the backend.</p>
+<p>
+  <abbr title="Open Sound Control"><dfn>OSC</dfn></abbr> lets synthesizers 
+  and other devices communicate with Ardour. OSC devices can send commands 
+  relating to playback (such as play or stop), performance (such as volume, 
+  play, stop, and almost any other function (such as Edit, or Undo).
+</p>
+<p>
+  Ardour is probably one of the most OSC-controllable audio applications 
+  around, but as with all OSC-controllable apps, you can't do much without 
+  knowing what </dfn>messages</dfn> can be sent. This document describes the 
+  various categories of messages that Ardour understands. It is subject to 
+  change, particularly the "Actions" part below, since this relates to the 
+  GTK GUI for Ardour rather than the backend.
+</p>
 
-<h2>Connect to Ardour via OSC</h2>
+<h2>Connecting to Ardour via OSC</h2>
 <p>
-OSC support is not enabled by default, but can be turned on via <code>Edit &gt; Preferences &gt; Control Surfaces</code>. Once enabled, Ardour will listen on port 3819 by default. This port number can be changed by editing $ARDOUR_CONFIG and adding this line within the &lt;Config&gt; section:</p>
-<pre>
-  &lt;Option name="osc-port" value="YourChoiceHere"/&gt;
-</pre>
+  OSC support is not enabled by default, but can be turned on via 
+  <kbd class="menu">Edit &gt; Preferences &gt; Control Surfaces</kbd>. 
+  Once enabled, Ardour will listen on port <code>3819</code> by default. 
+  This port number can be changed by editing <code>$ARDOUR_CONFIG</code> 
+  and adding this line within the <code>&lt;Config&gt;</code> section:
+</p>
+<kbd class="input">&lt;Option name="osc-port" value="<em>Your choice
+here</em>"/&gt;</kbd>
 
-<h2>Transport Control</h2>
-<dl class="wide-table">
-<dt>/ardour/transport_stop</dt>
-<dt>/ardour/transport_play</dt>
-<dt>/ardour/set_transport_speed [transport_speed]</dt>
-<dd>where [transport_speed] is a float rangin from -8 to 8.</dd>
-<dt>/ardour/ffwd</dt>
-<dt>/ardour/rewind</dt>
-<dt>/ardour/goto_start</dt>
-<dt>/ardour/goto_end</dt>
-<dt>/ardour/add_marker</dt>
-<dd>(adds marker to the current transport position)
-</dd>
-<dt>/ardour/next_marker</dt>
-<dt>/ardour/prev_marker</dt>
-<dt>/ardour/locate [sample_pos] [with_roll]</dt>
-<dd>where [sample_pos] is the target position and [with_roll] is a bool/integer (whether you want transport to be kept rolling or not).
-</dd>
-<dt>/ardour/loop_toggle</dt>
+<h2>List of OSC messages</h2>
+
+<h3>Transport Control</h3>
+<dl class="bindings">
+  <dt><kbd class="osc">/ardour/transport_stop</kbd></dt>
+  <dd></dd>
+  <dt><kbd class="osc">/ardour/transport_play</kbd></dt>
+  <dd></dd>
+  <dt><kbd class="osc">/ardour/set_transport_speed <em>s</em></kbd></dt>
+  <dd>where <em>s</em> is a float ranging from -8.0f to 8.0f</dd>
+  <dt><kbd class="osc">/ardour/ffwd</kbd></dt>
+  <dd></dd>
+  <dt><kbd class="osc">/ardour/rewind</kbd></dt>
+  <dd></dd>
+  <dt><kbd class="osc">/ardour/goto_start</kbd></dt>
+  <dd></dd>
+  <dt><kbd class="osc">/ardour/goto_end</kbd></dt>
+  <dd></dd>
+  <dt><kbd class="osc">/ardour/add_marker</kbd></dt>
+  <dd>(adds marker to the current transport position)</dd>
+  <dt><kbd class="osc">/ardour/next_marker</kbd></dt>
+  <dd></dd>
+  <dt><kbd class="osc">/ardour/prev_marker</kbd></dt>
+  <dd></dd>
+  <dt><kbd class="osc">/ardour/locate <em>spos</em> <em>roll</em></kbd></dt>
+  <dd>where <em>spos</em> is the target position in samples and
+  <em>roll</em> is a bool/integer defining whether you want transport 
+  to be kept rolling or not</dd>
+  <dt><kbd class="osc">/ardour/loop_toggle</kbd></dt>
+  <dd></dd>
 </dl>
 
-<h2>Editing-related</h2>
-<dl class="wide-table">
-<dt> /ardour/undo</dt>
-<dt> /ardour/redo</dt>
-<dt> /ardour/save_state</dt>
-<dd>(this is regular Session _&gt; Save operatio)</dd>
+<h3>Editing-related</h3>
+<dl class="bindings">
+  <dt><kbd class="osc">/ardour/undo</kbd></dt>
+  <dd></dd>
+  <dt><kbd class="osc">/ardour/redo</kbd></dt>
+  <dd></dd>
+  <dt><kbd class="osc">/ardour/save_state</kbd></dt>
+  <dd>(this is the regular <kbd class="menu">Session &gt; Save</kbd>
+  operation)</dd>
 </dl>
 
-<h2>Recording control</h2>
-<dl class="wide-table">
-<dt> /ardour/toggle_punch_in</dt>
-<dt> /ardour/toggle_punch_out</dt>
-<dt> /ardour/rec_enable_toggle</dt>
-<dt> /ardour/toggle_all_rec_enables</dt>
-<dd>(toggles all tracks recording state). !currently toggles on but not off for 2.0 branch.</dd>
+<h3>Recording control</h3>
+<dl class="bindings">
+  <dt><kbd class="osc">/ardour/toggle_punch_in</kbd></dt>
+  <dd></dd>
+  <dt><kbd class="osc">/ardour/toggle_punch_out</kbd></dt>
+  <dd></dd>
+  <dt><kbd class="osc">/ardour/rec_enable_toggle</kbd></dt>
+  <dd></dd>
+  <dt><kbd class="osc">/ardour/toggle_all_rec_enables</kbd></dt>
+  <dd>(toggles all tracks' recording state)</dd>
 </dl>
 
-<h2>Track specific operations</h2>
+<h3>Track specific operations</h3>
 <p>
-For each of the following, [remote_id] is the remote_id or the track
+  For each of the following, <em>rid</em> is the remote ID or the track
 </p>
-<dl class="wide-table">
-<dt> /ardour/routes/mute [remote_id] [mute_st]
-</dt>
-<dd>where [mute_st] is a bool/int representing the desired mute state of the track
-</dd>
-<dt> /ardour/routes/solo [remote_id] [solo_st]
-</dt>
-<dd>where [solo_st] is a bool/int representing the desired solo state of the track
-</dd>
-<dt> /ardour/routes/recenable [remote_id] [rec_st]
-</dt>
-<dd>where [rec_st] is a bool/int representing the desired rec state of the track
-</dd>
-<dt> /ardour/routes/gainabs [remote_id] [gain_abs]
-</dt>
-<dd>where [gain_abs] is a float ranging from 0 to 2 (0 being -infinite, 1 being 0dB and 2 being +6dB).
-</dd>
-<dt> /ardour/routes/gaindB [remote_id] [gain_db]
-</dt>
-<dd>where [gain_db] is a float ranging from -400 to 6 representing the desired gain of the track in dB.
+<dl class="bindings">
+  <dt><kbd class="osc">/ardour/routes/mute <em>rid</em> <em>mute_st</em></kbd></dt>
+  <dd>where <em>mute_st</em> is a bool/int representing the desired mute state of the track</dd>
+  <dt><kbd class="osc">/ardour/routes/solo <em>rid</em> <em>solo_st</em></kbd></dt>
+  <dd>where <em>solo_st</em> is a bool/int representing the desired solo state of the track</dd>
+  <dt><kbd class="osc">/ardour/routes/recenable <em>rid</em> <em>rec_st</em></kbd></dt>
+  <dd>where <em>rec_st</em> is a bool/int representing the desired rec state of the track</dd>
+  <dt><kbd class="osc">/ardour/routes/gainabs <em>rid</em> <em>gain_abs</em></kbd></dt>
+  <dd>where <em>gain_abs</em> is a float ranging from 0 to 2 (0 being -infinite, 1 being 0dB and 2 being +6dB).</dd>
+  <dt><kbd class="osc">/ardour/routes/gaindB <em>rid</em>  <em>gain_db</em></kbd></dt>
+<dd>where <em>gain_db</em> is a float ranging from -400 to 6 representing the desired gain of the track in dB.
 </dd>
 </dl>
 
-<h2>Menu actions</h2>
+<h3>Menu actions</h3>
 <p>
-Every single menu item in Ardour's GUI is accessible via OSC. There is
-a single common syntax to trigger the action as if it was selected
-with the mouse (or keyboard):</p>
-<pre>
-/ardour/access_action [action_name]
-</pre>
-<p>The list below shows all available values of [action-name] as of
-mid-March 2010 for Ardour 2.X. You can get the current list at any
-time by running Ardour with the -b flag.</p>
-<ul>
-<li> Common/About
-</li>
-<li> Common/goto-editor
-</li>
-<li> Common/Quit
-</li>
-<li> Common/Save
-</li>
-<li> Common/toggle-editor-mixer-on-top
-</li>
-<li> Common/ToggleBigClock
-</li>
-<li> Common/ToggleColorManager
-</li>
-<li> Common/ToggleInspector
-</li>
-<li> Common/ToggleKeyEditor
-</li>
-<li> Common/ToggleLocations
-</li>
-<li> Common/ToggleMaximalEditor
-</li>
-<li> Common/ToggleOptionsEditor
-</li>
-<li> Editor/add-location-from-playhead
-</li>
-<li> Editor/addExistingAudioFiles
-</li>
-<li> Editor/align-regions-end
-</li>
-<li> Editor/align-regions-start
-</li>
-<li> Editor/align-regions-start-relative
-</li>
-<li> Editor/align-regions-sync
-</li>
-<li> Editor/align-regions-sync-relative
-</li>
-<li> Editor/audition-at-mouse
-</li>
-<li> Editor/Autoconnect
-</li>
-<li> Editor/boost-region-gain
-</li>
-<li> Editor/brush-at-mouse
-</li>
-<li> Editor/center-edit-cursor
-</li>
-<li> Editor/center-playhead
-</li>
-<li> Editor/crop
-</li>
-<li> Editor/Crossfades
-</li>
-<li> Editor/CrossfadesFull
-</li>
-<li> Editor/CrossfadesShort
-</li>
-<li> Editor/cut-region-gain
-</li>
-<li> Editor/cycle-edit-point
-</li>
-<li> Editor/cycle-edit-point-with-marker
-</li>
-<li> Editor/cycle-snap-choice
-</li>
-<li> Editor/cycle-snap-mode
-</li>
-<li> Editor/duplicate-region
-</li>
-<li> Editor/Edit
-</li>
-<li> Editor/edit-cursor-to-next-region-sync
-</li>
-<li> Editor/edit-cursor-to-previous-region-start
-</li>
-<li> Editor/edit-cursor-to-previous-region-sync
-</li>
-<li> Editor/edit-cursor-to-range-end
-</li>
-<li> Editor/edit-cursor-to-range-start
-</li>
-<li> Editor/edit-to-playhead
-</li>
-<li> Editor/EditCursorMovementOptions
-</li>
-<li> Editor/editor-copy
-</li>
-<li> Editor/editor-cut
-</li>
-<li> Editor/editor-delete
-</li>
-<li> Editor/editor-paste
-</li>
-<li> Editor/EditSelectRangeOptions
-</li>
-<li> Editor/EditSelectRegionOptions
-</li>
-<li> Editor/export-region
-</li>
-<li> Editor/extend-range-to-end-of-region
-</li>
-<li> Editor/extend-range-to-start-of-region
-</li>
-<li> Editor/finish-add-range
-</li>
-<li> Editor/finish-range
-</li>
-<li> Editor/fit-tracks
-</li>
-<li> Editor/goto-mark-1
-</li>
-<li> Editor/goto-mark-2
-</li>
-<li> Editor/goto-mark-3
-</li>
-<li> Editor/goto-mark-4
-</li>
-<li> Editor/goto-mark-5
-</li>
-<li> Editor/goto-mark-6
-</li>
-<li> Editor/goto-mark-7
-</li>
-<li> Editor/goto-mark-8
-</li>
-<li> Editor/goto-mark-9
-</li>
-<li> Editor/goto-visual-state-1
-</li>
-<li> Editor/goto-visual-state-2
-</li>
-<li> Editor/goto-visual-state-3
-</li>
-<li> Editor/goto-visual-state-4
-</li>
-<li> Editor/goto-visual-state-5
-</li>
-<li> Editor/goto-visual-state-6
-</li>
-<li> Editor/goto-visual-state-7
-</li>
-<li> Editor/goto-visual-state-8
-</li>
-<li> Editor/goto-visual-state-9
-</li>
-<li> Editor/goto-visual-state-10
-</li>
-<li> Editor/goto-visual-state-11
-</li>
-<li> Editor/goto-visual-state-12
-</li>
-<li> Editor/insert-region
-</li>
-<li> Editor/insert-time
-</li>
-<li> Editor/invert-selection
-</li>
-<li> Editor/jump-backward-to-mark
-</li>
-<li> Editor/jump-forward-to-mark
-</li>
-<li> Editor/LayerAddHigher
-</li>
-<li> Editor/Layering
-</li>
-<li> Editor/LayerLaterHigher
-</li>
-<li> Editor/LayerMoveAddHigher
-</li>
-<li> Editor/MeterFalloff
-</li>
-<li> Editor/MeterHold
-</li>
-<li> Editor/Monitoring
-</li>
-<li> Editor/move-selected-tracks-down
-</li>
-<li> Editor/move-selected-tracks-up
-</li>
-<li> Editor/multi-duplicate-region
-</li>
-<li> Editor/mute-unmute-region
-</li>
-<li> Editor/naturalize-region
-</li>
-<li> Editor/normalize-region
-</li>
-<li> Editor/nudge-backward
-</li>
-<li> Editor/nudge-forward
-</li>
-<li> Editor/nudge-next-backward
-</li>
-<li> Editor/nudge-next-forward
-</li>
-<li> Editor/nudge-playhead-backward
-</li>
-<li> Editor/nudge-playhead-forward
-</li>
-<li> Editor/pitch-[Shift]-region
-</li>
-<li> Editor/pitch-shift-region
-</li>
-<li> Editor/play-edit-range
-</li>
-<li> Editor/play-from-edit-point-and-return
-</li>
-<li> Editor/play-selected-regions
-</li>
-<li> Editor/playhead-backward-to-grid
-</li>
-<li> Editor/playhead-forward-to-grid
-</li>
-<li> Editor/playhead-to-edit
-</li>
-<li> Editor/playhead-to-next-region-boundary
-</li>
-<li> Editor/playhead-to-next-region-boundary-noselection
-</li>
-<li> Editor/playhead-to-next-region-sync
-</li>
-<li> Editor/playhead-to-next-region-sync
-</li>
-<li> Editor/playhead-to-previous-region-boundary
-</li>
-<li> Editor/playhead-to-previous-region-boundary-noselection
-</li>
-<li> Editor/playhead-to-previous-region-sync
-</li>
-<li> Editor/playhead-to-range-end
-</li>
-<li> Editor/playhead-to-range-start
-</li>
-<li> Editor/PullupMinus1
-</li>
-<li> Editor/PullupMinus4
-</li>
-<li> Editor/PullupMinus4Minus1
-</li>
-<li> Editor/PullupMinus4Plus1
-</li>
-<li> Editor/PullupNone
-</li>
-<li> Editor/PullupPlus1
-</li>
-<li> Editor/PullupPlus4
-</li>
-<li> Editor/PullupPlus4Minus1
-</li>
-<li> Editor/PullupPlus4Plus1
-</li>
-<li> Editor/redo
-</li>
-<li> Editor/RegionEditOps
-</li>
-<li> Editor/remove-last-capture
-</li>
-<li> Editor/reverse-region
-</li>
-<li> Editor/save-visual-state-1
-</li>
-<li> Editor/save-visual-state-2
-</li>
-<li> Editor/save-visual-state-3
-</li>
-<li> Editor/save-visual-state-4
-</li>
-<li> Editor/save-visual-state-5
-</li>
-<li> Editor/save-visual-state-6
-</li>
-<li> Editor/save-visual-state-7
-</li>
-<li> Editor/save-visual-state-8
-</li>
-<li> Editor/save-visual-state-9
-</li>
-<li> Editor/save-visual-state-10
-</li>
-<li> Editor/save-visual-state-11
-</li>
-<li> Editor/save-visual-state-12
-</li>
-<li> Editor/scroll-tracks-down
-</li>
-<li> Editor/scroll-tracks-up
-</li>
-<li> Editor/select-all
-</li>
-<li> Editor/select-all-after-edit-cursor
-</li>
-<li> Editor/select-all-after-playhead
-</li>
-<li> Editor/select-all-before-edit-cursor
-</li>
-<li> Editor/select-all-before-playhead
-</li>
-<li> Editor/select-all-between-cursors
-</li>
-<li> Editor/select-all-in-loop-range
-</li>
-<li> Editor/select-all-in-punch-range
-</li>
-<li> Editor/select-all-within-cursors
-</li>
-<li> Editor/select-next-route
-</li>
-<li> Editor/select-prev-route
-</li>
-<li> Editor/select-range-between-cursors
-</li>
-<li> Editor/selected-marker-to-next-region-boundary
-</li>
-<li> Editor/selected-marker-to-previous-region-boundary
-</li>
-<li> Editor/separate
-</li>
-<li> Editor/set-edit-point
-</li>
-<li> Editor/set-fade-in-length
-</li>
-<li> Editor/set-fade-out-length
-</li>
-<li> Editor/set-loop-from-edit-range
-</li>
-<li> Editor/set-loop-from-region
-</li>
-<li> Editor/set-playhead
-</li>
-<li> Editor/set-punch-from-edit-range
-</li>
-<li> Editor/set-punch-from-region
-</li>
-<li> Editor/set-region-sync-position
-</li>
-<li> Editor/set-tempo-from-edit-range
-</li>
-<li> Editor/set-tempo-from-region
-</li>
-<li> Editor/show-editor-mixer
-</li>
-<li> Editor/Smpte24
-</li>
-<li> Editor/Smpte25
-</li>
-<li> Editor/Smpte30
-</li>
-<li> Editor/Smpte30drop
-</li>
-<li> Editor/Smpte60
-</li>
-<li> Editor/Smpte2997
-</li>
-<li> Editor/Smpte5994
-</li>
-<li> Editor/Smpte2997drop
-</li>
-<li> Editor/Smpte23976
-</li>
-<li> Editor/Smpte24976
-</li>
-<li> Editor/snap-magnetic
-</li>
-<li> Editor/snap-normal
-</li>
-<li> Editor/SnapMode
-</li>
-<li> Editor/SnapTo
-</li>
-<li> Editor/Solo
-</li>
-<li> Editor/split-region
-</li>
-<li> Editor/start-range
-</li>
-<li> Editor/step-tracks-down
-</li>
-<li> Editor/step-tracks-up
-</li>
-<li> Editor/Subframes
-</li>
-<li> Editor/Subframes100
-</li>
-<li> Editor/Subframes80
-</li>
-<li> Editor/tab-to-transient-backwards
-</li>
-<li> Editor/tab-to-transient-forwards
-</li>
-<li> Editor/temporal-zoom-in
-</li>
-<li> Editor/temporal-zoom-out
-</li>
-<li> Editor/Timecode
-</li>
-<li> Editor/toggle-auto-xfades
-</li>
-<li> Editor/toggle-edit-mode
-</li>
-<li> Editor/toggle-fade-out-active
-</li>
-<li> Editor/toggle-fade-out-active
-</li>
-<li> Editor/toggle-follow-playhead
-</li>
-<li> Editor/toggle-internal-edit
-</li>
-<li> Editor/toggle-rhythm-ferret
-</li>
-<li> Editor/toggle-xfades-active
-</li>
-<li> Editor/toggle-xfades-visible
-</li>
-<li> Editor/toggle-zoom
-</li>
-<li> Editor/ToggleGeneric MIDISurface
-</li>
-<li> Editor/ToggleGeneric MIDISurfaceFeedback
-</li>
-<li> Editor/ToggleGeneric MIDISurfaceSubMenu
-</li>
-<li> Editor/ToggleMeasureVisibility
-</li>
-<li> Editor/ToggleWaveformsWhileRecording
-</li>
-<li> Editor/ToggleWaveformVisibility
-</li>
-<li> Editor/track-record-enable-toggle
-</li>
-<li> Editor/trim-back
-</li>
-<li> Editor/trim-from-start
-</li>
-<li> Editor/trim-front
-</li>
-<li> Editor/trim-to-end
-</li>
-<li> Editor/undo
-</li>
-<li> Editor/View
-</li>
-<li> Editor/zoom-to-region
-</li>
-<li> Editor/zoom-to-region-both-axes
-</li>
-<li> Editor/zoom-to-session
-</li>
-<li> Editor/ZoomFocus
-</li>
-<li> JACK/JACK
-</li>
-<li> JACK/JACKDisconnect
-</li>
-<li> JACK/JACKReconnect
-</li>
-<li> JACK/JACKLatency32
-</li>
-<li> JACK/JACKLatency64
-</li>
-<li> JACK/JACKLatency128
-</li>
-<li> JACK/JACKLatency256
-</li>
-<li> JACK/JACKLatency512
-</li>
-<li> JACK/JACKLatency1024
-</li>
-<li> JACK/JACKLatency2048
-</li>
-<li> JACK/JACKLatency4096
-</li>
-<li> JACK/JACKLatency8192
-</li>
-<li> Main/AddTrackBus
-</li>
-<li> Main/AudioFileFormat
-</li>
-<li> Main/AudioFileFormatData
-</li>
-<li> Main/AudioFileFormatHeader
-</li>
-<li> Main/CleanupUnused
-</li>
-<li> Main/FlushWastebasket
-</li>
-<li> Main/Close
-</li>
-<li> Main/ControlSurfaces
-</li>
-<li> Main/Export
-</li>
-<li> Main/ExportRangeMarkers
-</li>
-<li> Main/ExportSelection
-</li>
-<li> Main/ExportSession
-</li>
-<li> Main/Help
-</li>
-<li> Main/KeyMouse Actions
-</li>
-<li> Main/Metering
-</li>
-<li> Main/MeteringFallOffRate
-</li>
-<li> Main/MeteringHoldTime
-</li>
-<li> Main/New
-</li>
-<li> Main/Open
-</li>
-<li> Main/Options
-</li>
-<li> Main/Recent
-</li>
-<li> Main/SaveTemplate
-</li>
-<li> Main/Session
-</li>
-<li> Main/Snapshot
-</li>
-<li> Main/TransportOptions
-</li>
-<li> Main/Windows
-</li>
-<li> MouseMode/set-mouse-mode-gain
-</li>
-<li> MouseMode/set-mouse-mode-object
-</li>
-<li> MouseMode/set-mouse-mode-range
-</li>
-<li> MouseMode/set-mouse-mode-timefx
-</li>
-<li> MouseMode/set-mouse-mode-zoom
-</li>
-<li> options/DoNotRunPluginsWhileRecording
-</li>
-<li> options/FileDataFormat24bit
-</li>
-<li> options/FileDataFormatFloat
-</li>
-<li> options/FileHeaderFormatBWF
-</li>
-<li> options/FileHeaderFormatCAF
-</li>
-<li> options/FileHeaderFormatWAVE
-</li>
-<li> options/FileHeaderFormatWAVE64
-</li>
-<li> options/GainReduceFastTransport
-</li>
-<li> options/InputAutoConnectManual
-</li>
-<li> options/InputAutoConnectPhysical
-</li>
-<li> options/LatchedRecordEnable
-</li>
-<li> options/LatchedSolo
-</li>
-<li> options/MeterFalloffFast
-</li>
-<li> options/MeterFalloffFaster
-</li>
-<li> options/MeterFalloffFastest
-</li>
-<li> options/MeterFalloffMedium
-</li>
-<li> options/MeterFalloffOff
-</li>
-<li> options/MeterFalloffSlow
-</li>
-<li> options/MeterFalloffSlowest
-</li>
-<li> options/MeterHoldLong
-</li>
-<li> options/MeterHoldMedium
-</li>
-<li> options/MeterHoldOff
-</li>
-<li> options/MeterHoldShort
-</li>
-<li> options/OutputAutoConnectManual
-</li>
-<li> options/OutputAutoConnectMaster
-</li>
-<li> options/OutputAutoConnectPhysical
-</li>
-<li> options/RegionEquivalentsOverlap
-</li>
-<li> options/SendMMC
-</li>
-<li> options/SendMTC
-</li>
-<li> options/ShowSoloMutes
-</li>
-<li> options/SoloInPlace
-</li>
-<li> options/SoloViaBus
-</li>
-<li> options/StopPluginsWithTransport
-</li>
-<li> options/StopRecordingOnXrun
-</li>
-<li> options/StopTransportAtEndOfSession
-</li>
-<li> options/UseExternalMonitoring
-</li>
-<li> options/UseHardwareMonitoring
-</li>
-<li> options/UseMMC
-</li>
-<li> options/UseSoftwareMonitoring
-</li>
-<li> options/VerifyRemoveLastCapture
-</li>
-<li> redirectmenu/activate
-</li>
-<li> redirectmenu/activate_all
-</li>
-<li> redirectmenu/clear
-</li>
-<li> redirectmenu/copy
-</li>
-<li> redirectmenu/cut
-</li>
-<li> redirectmenu/deactivate
-</li>
-<li> redirectmenu/deactivate_all
-</li>
-<li> redirectmenu/deselectall
-</li>
-<li> redirectmenu/edit
-</li>
-<li> redirectmenu/newinsert
-</li>
-<li> redirectmenu/newplugin
-</li>
-<li> redirectmenu/newsend
-</li>
-<li> redirectmenu/paste
-</li>
-<li> redirectmenu/rename
-</li>
-<li> redirectmenu/selectall
-</li>
-<li> RegionList/RegionListSort
-</li>
-<li> RegionList/RegionListSort
-</li>
-<li> RegionList/rlAudition
-</li>
-<li> RegionList/rlHide
-</li>
-<li> RegionList/rlRemove
-</li>
-<li> RegionList/rlShowAll
-</li>
-<li> RegionList/rlShowAuto
-</li>
-<li> RegionList/SortAscending
-</li>
-<li> RegionList/SortByRegionEndinFile
-</li>
-<li> RegionList/SortByRegionLength
-</li>
-<li> RegionList/SortByRegionName
-</li>
-<li> RegionList/SortByRegionPosition
-</li>
-<li> RegionList/SortByRegionStartinFile
-</li>
-<li> RegionList/SortByRegionTimestamp
-</li>
-<li> RegionList/SortBySourceFileCreationDate
-</li>
-<li> RegionList/SortBySourceFileLength
-</li>
-<li> RegionList/SortBySourceFileName
-</li>
-<li> RegionList/SortBySourceFilesystem
-</li>
-<li> RegionList/SortDescending
-</li>
-<li> ShuttleActions/SetShuttleUnitsPercentage
-</li>
-<li> ShuttleActions/SetShuttleUnitsSemitones
-</li>
-<li> Snap/snap-to-asixteenthbeat
-</li>
-<li> Snap/snap-to-bar
-</li>
-<li> Snap/snap-to-beat
-</li>
-<li> Snap/snap-to-cd-frame
-</li>
-<li> Snap/snap-to-edit-cursor
-</li>
-<li> Snap/snap-to-eighths
-</li>
-<li> Snap/snap-to-frame
-</li>
-<li> Snap/snap-to-mark
-</li>
-<li> Snap/snap-to-minutes
-</li>
-<li> Snap/snap-to-quarters
-</li>
-<li> Snap/snap-to-region-boundary
-</li>
-<li> Snap/snap-to-region-end
-</li>
-<li> Snap/snap-to-region-start
-</li>
-<li> Snap/snap-to-region-sync
-</li>
-<li> Snap/snap-to-seconds
-</li>
-<li> Snap/snap-to-smpte-frame
-</li>
-<li> Snap/snap-to-smpte-minutes
-</li>
-<li> Snap/snap-to-smpte-seconds
-</li>
-<li> Snap/snap-to-thirds
-</li>
-<li> Snap/snap-to-thirtyseconds
-</li>
-<li> Transport/focus-on-clock
-</li>
-<li> Transport/Forward
-</li>
-<li> Transport/GotoEnd
-</li>
-<li> Transport/GotoStart
-</li>
-<li> Transport/GotoZero
-</li>
-<li> Transport/Loop
-</li>
-<li> Transport/PlaySelection
-</li>
-<li> Transport/Record
-</li>
-<li> Transport/record-roll
-</li>
-<li> Transport/Rewind
-</li>
-<li> Transport/ToggleAutoInput
-</li>
-<li> Transport/ToggleAutoPlay
-</li>
-<li> Transport/ToggleAutoReturn
-</li>
-<li> Transport/ToggleClick
-</li>
-<li> Transport/TogglePunchIn
-</li>
-<li> Transport/TogglePunchOut
-</li>
-<li> Transport/ToggleRoll
-</li>
-<li> Transport/ToggleRollForgetCapture
-</li>
-<li> Transport/ToggleRollMaybe
-</li>
-<li> Transport/ToggleTimeMaster
-</li>
-<li> Transport/ToggleVideoSync
-</li>
-<li> Transport/TransitionToReverse
-</li>
-<li> Transport/TransitionToRoll
-</li>
-<li> Zoom/zoom-focus-center
-</li>
-<li> Zoom/zoom-focus-edit
-</li>
-<li> Zoom/zoom-focus-left
-</li>
-<li> Zoom/zoom-focus-playhead
-</li>
-<li> Zoom/zoom-focus-right
-</li>
-</ul>
+  Every single menu item in Ardour's GUI is accessible via OSC. There is
+  a single common syntax to trigger the action as if it was selected
+  with the mouse (or keyboard):</p>
+<kbd class="osc">/ardour/access_action <em>action_name</em></kbd>
+<p>
+  The list below shows all available values of <em>action-name</em> as of
+  mid-March 2010 for Ardour 2.X. You can get the current list at any
+  time by running Ardour with the -b flag.
+  </p>
+<dl class="bindings">
+  <dt><kbd class="osc">Common/About</kbd></dt><dd></dd>
+  <dt><kbd class="osc">Common/goto-editor</kbd></dt><dd></dd>
+  <dt><kbd class="osc">Common/Quit</kbd></dt><dd></dd>
+  <dt><kbd class="osc">Common/Save</kbd></dt><dd></dd>
+  <dt><kbd class="osc">Common/toggle-editor-mixer-on-top</kbd></dt><dd></dd>
+  <dt><kbd class="osc">Common/ToggleBigClock</kbd></dt><dd></dd>
+  <dt><kbd class="osc">Common/ToggleColorManager</kbd></dt><dd></dd>
+  <dt><kbd class="osc">Common/ToggleInspector</kbd></dt><dd></dd>
+  <dt><kbd class="osc">Common/ToggleKeyEditor</kbd></dt><dd></dd>
+  <dt><kbd class="osc">Common/ToggleLocations</kbd></dt><dd></dd>
+  <dt><kbd class="osc">Common/ToggleMaximalEditor</kbd></dt><dd></dd>
+  <dt><kbd class="osc">Common/ToggleOptionsEditor</kbd></dt><dd></dd>
+  <dt><kbd class="osc">Editor/add-location-from-playhead</kbd></dt><dd></dd>
+  <dt><kbd class="osc">Editor/addExistingAudioFiles</kbd></dt><dd></dd>
+  <dt><kbd class="osc">Editor/align-regions-end</kbd></dt><dd></dd>
+  <dt><kbd class="osc">Editor/align-regions-start</kbd></dt><dd></dd>
+  <dt><kbd class="osc">Editor/align-regions-start-relative</kbd></dt><dd></dd>
+  <dt><kbd class="osc">Editor/align-regions-sync</kbd></dt><dd></dd>
+  <dt><kbd class="osc">Editor/align-regions-sync-relative</kbd></dt><dd></dd>
+  <dt><kbd class="osc">Editor/audition-at-mouse</kbd></dt><dd></dd>
+  <dt><kbd class="osc">Editor/Autoconnect</kbd></dt><dd></dd>
+  <dt><kbd class="osc">Editor/boost-region-gain</kbd></dt><dd></dd>
+  <dt><kbd class="osc">Editor/brush-at-mouse</kbd></dt><dd></dd>
+  <dt><kbd class="osc">Editor/center-edit-cursor</kbd></dt><dd></dd>
+  <dt><kbd class="osc">Editor/center-playhead</kbd></dt><dd></dd>
+  <dt><kbd class="osc">Editor/crop</kbd></dt><dd></dd>
+  <dt><kbd class="osc">Editor/Crossfades</kbd></dt><dd></dd>
+  <dt><kbd class="osc">Editor/CrossfadesFull</kbd></dt><dd></dd>
+  <dt><kbd class="osc">Editor/CrossfadesShort</kbd></dt><dd></dd>
+  <dt><kbd class="osc">Editor/cut-region-gain</kbd></dt><dd></dd>
+  <dt><kbd class="osc">Editor/cycle-edit-point</kbd></dt><dd></dd>
+  <dt><kbd class="osc">Editor/cycle-edit-point-with-marker</kbd></dt><dd></dd>
+  <dt><kbd class="osc">Editor/cycle-snap-choice</kbd></dt><dd></dd>
+  <dt><kbd class="osc">Editor/cycle-snap-mode</kbd></dt><dd></dd>
+  <dt><kbd class="osc">Editor/duplicate-region</kbd></dt><dd></dd>
+  <dt><kbd class="osc">Editor/Edit</kbd></dt><dd></dd>
+  <dt><kbd class="osc">Editor/edit-cursor-to-next-region-sync</kbd></dt><dd></dd>
+  <dt><kbd class="osc">Editor/edit-cursor-to-previous-region-start</kbd></dt><dd></dd>
+  <dt><kbd class="osc">Editor/edit-cursor-to-previous-region-sync</kbd></dt><dd></dd>
+  <dt><kbd class="osc">Editor/edit-cursor-to-range-end</kbd></dt><dd></dd>
+  <dt><kbd class="osc">Editor/edit-cursor-to-range-start</kbd></dt><dd></dd>
+  <dt><kbd class="osc">Editor/edit-to-playhead</kbd></dt><dd></dd>
+  <dt><kbd class="osc">Editor/EditCursorMovementOptions</kbd></dt><dd></dd>
+  <dt><kbd class="osc">Editor/editor-copy</kbd></dt><dd></dd>
+  <dt><kbd class="osc">Editor/editor-cut</kbd></dt><dd></dd>
+  <dt><kbd class="osc">Editor/editor-delete</kbd></dt><dd></dd>
+  <dt><kbd class="osc">Editor/editor-paste</kbd></dt><dd></dd>
+  <dt><kbd class="osc">Editor/EditSelectRangeOptions</kbd></dt><dd></dd>
+  <dt><kbd class="osc">Editor/EditSelectRegionOptions</kbd></dt><dd></dd>
+  <dt><kbd class="osc">Editor/export-region</kbd></dt><dd></dd>
+  <dt><kbd class="osc">Editor/extend-range-to-end-of-region</kbd></dt><dd></dd>
+  <dt><kbd class="osc">Editor/extend-range-to-start-of-region</kbd></dt><dd></dd>
+  <dt><kbd class="osc">Editor/finish-add-range</kbd></dt><dd></dd>
+  <dt><kbd class="osc">Editor/finish-range</kbd></dt><dd></dd>
+  <dt><kbd class="osc">Editor/fit-tracks</kbd></dt><dd></dd>
+  <dt><kbd class="osc">Editor/goto-mark-1</kbd></dt><dd></dd>
+  <dt><kbd class="osc">Editor/goto-mark-2</kbd></dt><dd></dd>
+  <dt><kbd class="osc">Editor/goto-mark-3</kbd></dt><dd></dd>
+  <dt><kbd class="osc">Editor/goto-mark-4</kbd></dt><dd></dd>
+  <dt><kbd class="osc">Editor/goto-mark-5</kbd></dt><dd></dd>
+  <dt><kbd class="osc">Editor/goto-mark-6</kbd></dt><dd></dd>
+  <dt><kbd class="osc">Editor/goto-mark-7</kbd></dt><dd></dd>
+  <dt><kbd class="osc">Editor/goto-mark-8</kbd></dt><dd></dd>
+  <dt><kbd class="osc">Editor/goto-mark-9</kbd></dt><dd></dd>
+  <dt><kbd class="osc">Editor/goto-visual-state-1</kbd></dt><dd></dd>
+  <dt><kbd class="osc">Editor/goto-visual-state-2</kbd></dt><dd></dd>
+  <dt><kbd class="osc">Editor/goto-visual-state-3</kbd></dt><dd></dd>
+  <dt><kbd class="osc">Editor/goto-visual-state-4</kbd></dt><dd></dd>
+  <dt><kbd class="osc">Editor/goto-visual-state-5</kbd></dt><dd></dd>
+  <dt><kbd class="osc">Editor/goto-visual-state-6</kbd></dt><dd></dd>
+  <dt><kbd class="osc">Editor/goto-visual-state-7</kbd></dt><dd></dd>
+  <dt><kbd class="osc">Editor/goto-visual-state-8</kbd></dt><dd></dd>
+  <dt><kbd class="osc">Editor/goto-visual-state-9</kbd></dt><dd></dd>
+  <dt><kbd class="osc">Editor/goto-visual-state-10</kbd></dt><dd></dd>
+  <dt><kbd class="osc">Editor/goto-visual-state-11</kbd></dt><dd></dd>
+  <dt><kbd class="osc">Editor/goto-visual-state-12</kbd></dt><dd></dd>
+  <dt><kbd class="osc">Editor/insert-region</kbd></dt><dd></dd>
+  <dt><kbd class="osc">Editor/insert-time</kbd></dt><dd></dd>
+  <dt><kbd class="osc">Editor/invert-selection</kbd></dt><dd></dd>
+  <dt><kbd class="osc">Editor/jump-backward-to-mark</kbd></dt><dd></dd>
+  <dt><kbd class="osc">Editor/jump-forward-to-mark</kbd></dt><dd></dd>
+  <dt><kbd class="osc">Editor/LayerAddHigher</kbd></dt><dd></dd>
+  <dt><kbd class="osc">Editor/Layering</kbd></dt><dd></dd>
+  <dt><kbd class="osc">Editor/LayerLaterHigher</kbd></dt><dd></dd>
+  <dt><kbd class="osc">Editor/LayerMoveAddHigher</kbd></dt><dd></dd>
+  <dt><kbd class="osc">Editor/MeterFalloff</kbd></dt><dd></dd>
+  <dt><kbd class="osc">Editor/MeterHold</kbd></dt><dd></dd>
+  <dt><kbd class="osc">Editor/Monitoring</kbd></dt><dd></dd>
+  <dt><kbd class="osc">Editor/move-selected-tracks-down</kbd></dt><dd></dd>
+  <dt><kbd class="osc">Editor/move-selected-tracks-up</kbd></dt><dd></dd>
+  <dt><kbd class="osc">Editor/multi-duplicate-region</kbd></dt><dd></dd>
+  <dt><kbd class="osc">Editor/mute-unmute-region</kbd></dt><dd></dd>
+  <dt><kbd class="osc">Editor/naturalize-region</kbd></dt><dd></dd>
+  <dt><kbd class="osc">Editor/normalize-region</kbd></dt><dd></dd>
+  <dt><kbd class="osc">Editor/nudge-backward</kbd></dt><dd></dd>
+  <dt><kbd class="osc">Editor/nudge-forward</kbd></dt><dd></dd>
+  <dt><kbd class="osc">Editor/nudge-next-backward</kbd></dt><dd></dd>
+  <dt><kbd class="osc">Editor/nudge-next-forward</kbd></dt><dd></dd>
+  <dt><kbd class="osc">Editor/nudge-playhead-backward</kbd></dt><dd></dd>
+  <dt><kbd class="osc">Editor/nudge-playhead-forward</kbd></dt><dd></dd>
+  <dt><kbd class="osc">Editor/pitch-[Shift]-region</kbd></dt><dd></dd>
+  <dt><kbd class="osc">Editor/pitch-shift-region</kbd></dt><dd></dd>
+  <dt><kbd class="osc">Editor/play-edit-range</kbd></dt><dd></dd>
+  <dt><kbd class="osc">Editor/play-from-edit-point-and-return</kbd></dt><dd></dd>
+  <dt><kbd class="osc">Editor/play-selected-regions</kbd></dt><dd></dd>
+  <dt><kbd class="osc">Editor/playhead-backward-to-grid</kbd></dt><dd></dd>
+  <dt><kbd class="osc">Editor/playhead-forward-to-grid</kbd></dt><dd></dd>
+  <dt><kbd class="osc">Editor/playhead-to-edit</kbd></dt><dd></dd>
+  <dt><kbd class="osc">Editor/playhead-to-next-region-boundary</kbd></dt><dd></dd>
+  <dt><kbd class="osc">Editor/playhead-to-next-region-boundary-noselection</kbd></dt><dd></dd>
+  <dt><kbd class="osc">Editor/playhead-to-next-region-sync</kbd></dt><dd></dd>
+  <dt><kbd class="osc">Editor/playhead-to-next-region-sync</kbd></dt><dd></dd>
+  <dt><kbd class="osc">Editor/playhead-to-previous-region-boundary</kbd></dt><dd></dd>
+  <dt><kbd class="osc">Editor/playhead-to-previous-region-boundary-noselection</kbd></dt><dd></dd>
+  <dt><kbd class="osc">Editor/playhead-to-previous-region-sync</kbd></dt><dd></dd>
+  <dt><kbd class="osc">Editor/playhead-to-range-end</kbd></dt><dd></dd>
+  <dt><kbd class="osc">Editor/playhead-to-range-start</kbd></dt><dd></dd>
+  <dt><kbd class="osc">Editor/PullupMinus1</kbd></dt><dd></dd>
+  <dt><kbd class="osc">Editor/PullupMinus4</kbd></dt><dd></dd>
+  <dt><kbd class="osc">Editor/PullupMinus4Minus1</kbd></dt><dd></dd>
+  <dt><kbd class="osc">Editor/PullupMinus4Plus1</kbd></dt><dd></dd>
+  <dt><kbd class="osc">Editor/PullupNone</kbd></dt><dd></dd>
+  <dt><kbd class="osc">Editor/PullupPlus1</kbd></dt><dd></dd>
+  <dt><kbd class="osc">Editor/PullupPlus4</kbd></dt><dd></dd>
+  <dt><kbd class="osc">Editor/PullupPlus4Minus1</kbd></dt><dd></dd>
+  <dt><kbd class="osc">Editor/PullupPlus4Plus1</kbd></dt><dd></dd>
+  <dt><kbd class="osc">Editor/redo</kbd></dt><dd></dd>
+  <dt><kbd class="osc">Editor/RegionEditOps</kbd></dt><dd></dd>
+  <dt><kbd class="osc">Editor/remove-last-capture</kbd></dt><dd></dd>
+  <dt><kbd class="osc">Editor/reverse-region</kbd></dt><dd></dd>
+  <dt><kbd class="osc">Editor/save-visual-state-1</kbd></dt><dd></dd>
+  <dt><kbd class="osc">Editor/save-visual-state-2</kbd></dt><dd></dd>
+  <dt><kbd class="osc">Editor/save-visual-state-3</kbd></dt><dd></dd>
+  <dt><kbd class="osc">Editor/save-visual-state-4</kbd></dt><dd></dd>
+  <dt><kbd class="osc">Editor/save-visual-state-5</kbd></dt><dd></dd>
+  <dt><kbd class="osc">Editor/save-visual-state-6</kbd></dt><dd></dd>
+  <dt><kbd class="osc">Editor/save-visual-state-7</kbd></dt><dd></dd>
+  <dt><kbd class="osc">Editor/save-visual-state-8</kbd></dt><dd></dd>
+  <dt><kbd class="osc">Editor/save-visual-state-9</kbd></dt><dd></dd>
+  <dt><kbd class="osc">Editor/save-visual-state-10</kbd></dt><dd></dd>
+  <dt><kbd class="osc">Editor/save-visual-state-11</kbd></dt><dd></dd>
+  <dt><kbd class="osc">Editor/save-visual-state-12</kbd></dt><dd></dd>
+  <dt><kbd class="osc">Editor/scroll-tracks-down</kbd></dt><dd></dd>
+  <dt><kbd class="osc">Editor/scroll-tracks-up</kbd></dt><dd></dd>
+  <dt><kbd class="osc">Editor/select-all</kbd></dt><dd></dd>
+  <dt><kbd class="osc">Editor/select-all-after-edit-cursor</kbd></dt><dd></dd>
+  <dt><kbd class="osc">Editor/select-all-after-playhead</kbd></dt><dd></dd>
+  <dt><kbd class="osc">Editor/select-all-before-edit-cursor</kbd></dt><dd></dd>
+  <dt><kbd class="osc">Editor/select-all-before-playhead</kbd></dt><dd></dd>
+  <dt><kbd class="osc">Editor/select-all-between-cursors</kbd></dt><dd></dd>
+  <dt><kbd class="osc">Editor/select-all-in-loop-range</kbd></dt><dd></dd>
+  <dt><kbd class="osc">Editor/select-all-in-punch-range</kbd></dt><dd></dd>
+  <dt><kbd class="osc">Editor/select-all-within-cursors</kbd></dt><dd></dd>
+  <dt><kbd class="osc">Editor/select-next-route</kbd></dt><dd></dd>
+  <dt><kbd class="osc">Editor/select-prev-route</kbd></dt><dd></dd>
+  <dt><kbd class="osc">Editor/select-range-between-cursors</kbd></dt><dd></dd>
+  <dt><kbd class="osc">Editor/selected-marker-to-next-region-boundary</kbd></dt><dd></dd>
+  <dt><kbd class="osc">Editor/selected-marker-to-previous-region-boundary</kbd></dt><dd></dd>
+  <dt><kbd class="osc">Editor/separate</kbd></dt><dd></dd>
+  <dt><kbd class="osc">Editor/set-edit-point</kbd></dt><dd></dd>
+  <dt><kbd class="osc">Editor/set-fade-in-length</kbd></dt><dd></dd>
+  <dt><kbd class="osc">Editor/set-fade-out-length</kbd></dt><dd></dd>
+  <dt><kbd class="osc">Editor/set-loop-from-edit-range</kbd></dt><dd></dd>
+  <dt><kbd class="osc">Editor/set-loop-from-region</kbd></dt><dd></dd>
+  <dt><kbd class="osc">Editor/set-playhead</kbd></dt><dd></dd>
+  <dt><kbd class="osc">Editor/set-punch-from-edit-range</kbd></dt><dd></dd>
+  <dt><kbd class="osc">Editor/set-punch-from-region</kbd></dt><dd></dd>
+  <dt><kbd class="osc">Editor/set-region-sync-position</kbd></dt><dd></dd>
+  <dt><kbd class="osc">Editor/set-tempo-from-edit-range</kbd></dt><dd></dd>
+  <dt><kbd class="osc">Editor/set-tempo-from-region</kbd></dt><dd></dd>
+  <dt><kbd class="osc">Editor/show-editor-mixer</kbd></dt><dd></dd>
+  <dt><kbd class="osc">Editor/Smpte24</kbd></dt><dd></dd>
+  <dt><kbd class="osc">Editor/Smpte25</kbd></dt><dd></dd>
+  <dt><kbd class="osc">Editor/Smpte30</kbd></dt><dd></dd>
+  <dt><kbd class="osc">Editor/Smpte30drop</kbd></dt><dd></dd>
+  <dt><kbd class="osc">Editor/Smpte60</kbd></dt><dd></dd>
+  <dt><kbd class="osc">Editor/Smpte2997</kbd></dt><dd></dd>
+  <dt><kbd class="osc">Editor/Smpte5994</kbd></dt><dd></dd>
+  <dt><kbd class="osc">Editor/Smpte2997drop</kbd></dt><dd></dd>
+  <dt><kbd class="osc">Editor/Smpte23976</kbd></dt><dd></dd>
+  <dt><kbd class="osc">Editor/Smpte24976</kbd></dt><dd></dd>
+  <dt><kbd class="osc">Editor/snap-magnetic</kbd></dt><dd></dd>
+  <dt><kbd class="osc">Editor/snap-normal</kbd></dt><dd></dd>
+  <dt><kbd class="osc">Editor/SnapMode</kbd></dt><dd></dd>
+  <dt><kbd class="osc">Editor/SnapTo</kbd></dt><dd></dd>
+  <dt><kbd class="osc">Editor/Solo</kbd></dt><dd></dd>
+  <dt><kbd class="osc">Editor/split-region</kbd></dt><dd></dd>
+  <dt><kbd class="osc">Editor/start-range</kbd></dt><dd></dd>
+  <dt><kbd class="osc">Editor/step-tracks-down</kbd></dt><dd></dd>
+  <dt><kbd class="osc">Editor/step-tracks-up</kbd></dt><dd></dd>
+  <dt><kbd class="osc">Editor/Subframes</kbd></dt><dd></dd>
+  <dt><kbd class="osc">Editor/Subframes100</kbd></dt><dd></dd>
+  <dt><kbd class="osc">Editor/Subframes80</kbd></dt><dd></dd>
+  <dt><kbd class="osc">Editor/tab-to-transient-backwards</kbd></dt><dd></dd>
+  <dt><kbd class="osc">Editor/tab-to-transient-forwards</kbd></dt><dd></dd>
+  <dt><kbd class="osc">Editor/temporal-zoom-in</kbd></dt><dd></dd>
+  <dt><kbd class="osc">Editor/temporal-zoom-out</kbd></dt><dd></dd>
+  <dt><kbd class="osc">Editor/Timecode</kbd></dt><dd></dd>
+  <dt><kbd class="osc">Editor/toggle-auto-xfades</kbd></dt><dd></dd>
+  <dt><kbd class="osc">Editor/toggle-edit-mode</kbd></dt><dd></dd>
+  <dt><kbd class="osc">Editor/toggle-fade-out-active</kbd></dt><dd></dd>
+  <dt><kbd class="osc">Editor/toggle-fade-out-active</kbd></dt><dd></dd>
+  <dt><kbd class="osc">Editor/toggle-follow-playhead</kbd></dt><dd></dd>
+  <dt><kbd class="osc">Editor/toggle-internal-edit</kbd></dt><dd></dd>
+  <dt><kbd class="osc">Editor/toggle-rhythm-ferret</kbd></dt><dd></dd>
+  <dt><kbd class="osc">Editor/toggle-xfades-active</kbd></dt><dd></dd>
+  <dt><kbd class="osc">Editor/toggle-xfades-visible</kbd></dt><dd></dd>
+  <dt><kbd class="osc">Editor/toggle-zoom</kbd></dt><dd></dd>
+  <dt><kbd class="osc">Editor/ToggleGeneric MIDISurface</kbd></dt><dd></dd>
+  <dt><kbd class="osc">Editor/ToggleGeneric MIDISurfaceFeedback</kbd></dt><dd></dd>
+  <dt><kbd class="osc">Editor/ToggleGeneric MIDISurfaceSubMenu</kbd></dt><dd></dd>
+  <dt><kbd class="osc">Editor/ToggleMeasureVisibility</kbd></dt><dd></dd>
+  <dt><kbd class="osc">Editor/ToggleWaveformsWhileRecording</kbd></dt><dd></dd>
+  <dt><kbd class="osc">Editor/ToggleWaveformVisibility</kbd></dt><dd></dd>
+  <dt><kbd class="osc">Editor/track-record-enable-toggle</kbd></dt><dd></dd>
+  <dt><kbd class="osc">Editor/trim-back</kbd></dt><dd></dd>
+  <dt><kbd class="osc">Editor/trim-from-start</kbd></dt><dd></dd>
+  <dt><kbd class="osc">Editor/trim-front</kbd></dt><dd></dd>
+  <dt><kbd class="osc">Editor/trim-to-end</kbd></dt><dd></dd>
+  <dt><kbd class="osc">Editor/undo</kbd></dt><dd></dd>
+  <dt><kbd class="osc">Editor/View</kbd></dt><dd></dd>
+  <dt><kbd class="osc">Editor/zoom-to-region</kbd></dt><dd></dd>
+  <dt><kbd class="osc">Editor/zoom-to-region-both-axes</kbd></dt><dd></dd>
+  <dt><kbd class="osc">Editor/zoom-to-session</kbd></dt><dd></dd>
+  <dt><kbd class="osc">Editor/ZoomFocus</kbd></dt><dd></dd>
+  <dt><kbd class="osc">JACK/JACK</kbd></dt><dd></dd>
+  <dt><kbd class="osc">JACK/JACKDisconnect</kbd></dt><dd></dd>
+  <dt><kbd class="osc">JACK/JACKReconnect</kbd></dt><dd></dd>
+  <dt><kbd class="osc">JACK/JACKLatency32</kbd></dt><dd></dd>
+  <dt><kbd class="osc">JACK/JACKLatency64</kbd></dt><dd></dd>
+  <dt><kbd class="osc">JACK/JACKLatency128</kbd></dt><dd></dd>
+  <dt><kbd class="osc">JACK/JACKLatency256</kbd></dt><dd></dd>
+  <dt><kbd class="osc">JACK/JACKLatency512</kbd></dt><dd></dd>
+  <dt><kbd class="osc">JACK/JACKLatency1024</kbd></dt><dd></dd>
+  <dt><kbd class="osc">JACK/JACKLatency2048</kbd></dt><dd></dd>
+  <dt><kbd class="osc">JACK/JACKLatency4096</kbd></dt><dd></dd>
+  <dt><kbd class="osc">JACK/JACKLatency8192</kbd></dt><dd></dd>
+  <dt><kbd class="osc">Main/AddTrackBus</kbd></dt><dd></dd>
+  <dt><kbd class="osc">Main/AudioFileFormat</kbd></dt><dd></dd>
+  <dt><kbd class="osc">Main/AudioFileFormatData</kbd></dt><dd></dd>
+  <dt><kbd class="osc">Main/AudioFileFormatHeader</kbd></dt><dd></dd>
+  <dt><kbd class="osc">Main/CleanupUnused</kbd></dt><dd></dd>
+  <dt><kbd class="osc">Main/FlushWastebasket</kbd></dt><dd></dd>
+  <dt><kbd class="osc">Main/Close</kbd></dt><dd></dd>
+  <dt><kbd class="osc">Main/ControlSurfaces</kbd></dt><dd></dd>
+  <dt><kbd class="osc">Main/Export</kbd></dt><dd></dd>
+  <dt><kbd class="osc">Main/ExportRangeMarkers</kbd></dt><dd></dd>
+  <dt><kbd class="osc">Main/ExportSelection</kbd></dt><dd></dd>
+  <dt><kbd class="osc">Main/ExportSession</kbd></dt><dd></dd>
+  <dt><kbd class="osc">Main/Help</kbd></dt><dd></dd>
+  <dt><kbd class="osc">Main/KeyMouse Actions</kbd></dt><dd></dd>
+  <dt><kbd class="osc">Main/Metering</kbd></dt><dd></dd>
+  <dt><kbd class="osc">Main/MeteringFallOffRate</kbd></dt><dd></dd>
+  <dt><kbd class="osc">Main/MeteringHoldTime</kbd></dt><dd></dd>
+  <dt><kbd class="osc">Main/New</kbd></dt><dd></dd>
+  <dt><kbd class="osc">Main/Open</kbd></dt><dd></dd>
+  <dt><kbd class="osc">Main/Options</kbd></dt><dd></dd>
+  <dt><kbd class="osc">Main/Recent</kbd></dt><dd></dd>
+  <dt><kbd class="osc">Main/SaveTemplate</kbd></dt><dd></dd>
+  <dt><kbd class="osc">Main/Session</kbd></dt><dd></dd>
+  <dt><kbd class="osc">Main/Snapshot</kbd></dt><dd></dd>
+  <dt><kbd class="osc">Main/TransportOptions</kbd></dt><dd></dd>
+  <dt><kbd class="osc">Main/Windows</kbd></dt><dd></dd>
+  <dt><kbd class="osc">MouseMode/set-mouse-mode-gain</kbd></dt><dd></dd>
+  <dt><kbd class="osc">MouseMode/set-mouse-mode-object</kbd></dt><dd></dd>
+  <dt><kbd class="osc">MouseMode/set-mouse-mode-range</kbd></dt><dd></dd>
+  <dt><kbd class="osc">MouseMode/set-mouse-mode-timefx</kbd></dt><dd></dd>
+  <dt><kbd class="osc">MouseMode/set-mouse-mode-zoom</kbd></dt><dd></dd>
+  <dt><kbd class="osc">options/DoNotRunPluginsWhileRecording</kbd></dt><dd></dd>
+  <dt><kbd class="osc">options/FileDataFormat24bit</kbd></dt><dd></dd>
+  <dt><kbd class="osc">options/FileDataFormatFloat</kbd></dt><dd></dd>
+  <dt><kbd class="osc">options/FileHeaderFormatBWF</kbd></dt><dd></dd>
+  <dt><kbd class="osc">options/FileHeaderFormatCAF</kbd></dt><dd></dd>
+  <dt><kbd class="osc">options/FileHeaderFormatWAVE</kbd></dt><dd></dd>
+  <dt><kbd class="osc">options/FileHeaderFormatWAVE64</kbd></dt><dd></dd>
+  <dt><kbd class="osc">options/GainReduceFastTransport</kbd></dt><dd></dd>
+  <dt><kbd class="osc">options/InputAutoConnectManual</kbd></dt><dd></dd>
+  <dt><kbd class="osc">options/InputAutoConnectPhysical</kbd></dt><dd></dd>
+  <dt><kbd class="osc">options/LatchedRecordEnable</kbd></dt><dd></dd>
+  <dt><kbd class="osc">options/LatchedSolo</kbd></dt><dd></dd>
+  <dt><kbd class="osc">options/MeterFalloffFast</kbd></dt><dd></dd>
+  <dt><kbd class="osc">options/MeterFalloffFaster</kbd></dt><dd></dd>
+  <dt><kbd class="osc">options/MeterFalloffFastest</kbd></dt><dd></dd>
+  <dt><kbd class="osc">options/MeterFalloffMedium</kbd></dt><dd></dd>
+  <dt><kbd class="osc">options/MeterFalloffOff</kbd></dt><dd></dd>
+  <dt><kbd class="osc">options/MeterFalloffSlow</kbd></dt><dd></dd>
+  <dt><kbd class="osc">options/MeterFalloffSlowest</kbd></dt><dd></dd>
+  <dt><kbd class="osc">options/MeterHoldLong</kbd></dt><dd></dd>
+  <dt><kbd class="osc">options/MeterHoldMedium</kbd></dt><dd></dd>
+  <dt><kbd class="osc">options/MeterHoldOff</kbd></dt><dd></dd>
+  <dt><kbd class="osc">options/MeterHoldShort</kbd></dt><dd></dd>
+  <dt><kbd class="osc">options/OutputAutoConnectManual</kbd></dt><dd></dd>
+  <dt><kbd class="osc">options/OutputAutoConnectMaster</kbd></dt><dd></dd>
+  <dt><kbd class="osc">options/OutputAutoConnectPhysical</kbd></dt><dd></dd>
+  <dt><kbd class="osc">options/RegionEquivalentsOverlap</kbd></dt><dd></dd>
+  <dt><kbd class="osc">options/SendMMC</kbd></dt><dd></dd>
+  <dt><kbd class="osc">options/SendMTC</kbd></dt><dd></dd>
+  <dt><kbd class="osc">options/ShowSoloMutes</kbd></dt><dd></dd>
+  <dt><kbd class="osc">options/SoloInPlace</kbd></dt><dd></dd>
+  <dt><kbd class="osc">options/SoloViaBus</kbd></dt><dd></dd>
+  <dt><kbd class="osc">options/StopPluginsWithTransport</kbd></dt><dd></dd>
+  <dt><kbd class="osc">options/StopRecordingOnXrun</kbd></dt><dd></dd>
+  <dt><kbd class="osc">options/StopTransportAtEndOfSession</kbd></dt><dd></dd>
+  <dt><kbd class="osc">options/UseExternalMonitoring</kbd></dt><dd></dd>
+  <dt><kbd class="osc">options/UseHardwareMonitoring</kbd></dt><dd></dd>
+  <dt><kbd class="osc">options/UseMMC</kbd></dt><dd></dd>
+  <dt><kbd class="osc">options/UseSoftwareMonitoring</kbd></dt><dd></dd>
+  <dt><kbd class="osc">options/VerifyRemoveLastCapture</kbd></dt><dd></dd>
+  <dt><kbd class="osc">redirectmenu/activate</kbd></dt><dd></dd>
+  <dt><kbd class="osc">redirectmenu/activate_all</kbd></dt><dd></dd>
+  <dt><kbd class="osc">redirectmenu/clear</kbd></dt><dd></dd>
+  <dt><kbd class="osc">redirectmenu/copy</kbd></dt><dd></dd>
+  <dt><kbd class="osc">redirectmenu/cut</kbd></dt><dd></dd>
+  <dt><kbd class="osc">redirectmenu/deactivate</kbd></dt><dd></dd>
+  <dt><kbd class="osc">redirectmenu/deactivate_all</kbd></dt><dd></dd>
+  <dt><kbd class="osc">redirectmenu/deselectall</kbd></dt><dd></dd>
+  <dt><kbd class="osc">redirectmenu/edit</kbd></dt><dd></dd>
+  <dt><kbd class="osc">redirectmenu/newinsert</kbd></dt><dd></dd>
+  <dt><kbd class="osc">redirectmenu/newplugin</kbd></dt><dd></dd>
+  <dt><kbd class="osc">redirectmenu/newsend</kbd></dt><dd></dd>
+  <dt><kbd class="osc">redirectmenu/paste</kbd></dt><dd></dd>
+  <dt><kbd class="osc">redirectmenu/rename</kbd></dt><dd></dd>
+  <dt><kbd class="osc">redirectmenu/selectall</kbd></dt><dd></dd>
+  <dt><kbd class="osc">RegionList/RegionListSort</kbd></dt><dd></dd>
+  <dt><kbd class="osc">RegionList/RegionListSort</kbd></dt><dd></dd>
+  <dt><kbd class="osc">RegionList/rlAudition</kbd></dt><dd></dd>
+  <dt><kbd class="osc">RegionList/rlHide</kbd></dt><dd></dd>
+  <dt><kbd class="osc">RegionList/rlRemove</kbd></dt><dd></dd>
+  <dt><kbd class="osc">RegionList/rlShowAll</kbd></dt><dd></dd>
+  <dt><kbd class="osc">RegionList/rlShowAuto</kbd></dt><dd></dd>
+  <dt><kbd class="osc">RegionList/SortAscending</kbd></dt><dd></dd>
+  <dt><kbd class="osc">RegionList/SortByRegionEndinFile</kbd></dt><dd></dd>
+  <dt><kbd class="osc">RegionList/SortByRegionLength</kbd></dt><dd></dd>
+  <dt><kbd class="osc">RegionList/SortByRegionName</kbd></dt><dd></dd>
+  <dt><kbd class="osc">RegionList/SortByRegionPosition</kbd></dt><dd></dd>
+  <dt><kbd class="osc">RegionList/SortByRegionStartinFile</kbd></dt><dd></dd>
+  <dt><kbd class="osc">RegionList/SortByRegionTimestamp</kbd></dt><dd></dd>
+  <dt><kbd class="osc">RegionList/SortBySourceFileCreationDate</kbd></dt><dd></dd>
+  <dt><kbd class="osc">RegionList/SortBySourceFileLength</kbd></dt><dd></dd>
+  <dt><kbd class="osc">RegionList/SortBySourceFileName</kbd></dt><dd></dd>
+  <dt><kbd class="osc">RegionList/SortBySourceFilesystem</kbd></dt><dd></dd>
+  <dt><kbd class="osc">RegionList/SortDescending</kbd></dt><dd></dd>
+  <dt><kbd class="osc">ShuttleActions/SetShuttleUnitsPercentage</kbd></dt><dd></dd>
+  <dt><kbd class="osc">ShuttleActions/SetShuttleUnitsSemitones</kbd></dt><dd></dd>
+  <dt><kbd class="osc">Snap/snap-to-asixteenthbeat</kbd></dt><dd></dd>
+  <dt><kbd class="osc">Snap/snap-to-bar</kbd></dt><dd></dd>
+  <dt><kbd class="osc">Snap/snap-to-beat</kbd></dt><dd></dd>
+  <dt><kbd class="osc">Snap/snap-to-cd-frame</kbd></dt><dd></dd>
+  <dt><kbd class="osc">Snap/snap-to-edit-cursor</kbd></dt><dd></dd>
+  <dt><kbd class="osc">Snap/snap-to-eighths</kbd></dt><dd></dd>
+  <dt><kbd class="osc">Snap/snap-to-frame</kbd></dt><dd></dd>
+  <dt><kbd class="osc">Snap/snap-to-mark</kbd></dt><dd></dd>
+  <dt><kbd class="osc">Snap/snap-to-minutes</kbd></dt><dd></dd>
+  <dt><kbd class="osc">Snap/snap-to-quarters</kbd></dt><dd></dd>
+  <dt><kbd class="osc">Snap/snap-to-region-boundary</kbd></dt><dd></dd>
+  <dt><kbd class="osc">Snap/snap-to-region-end</kbd></dt><dd></dd>
+  <dt><kbd class="osc">Snap/snap-to-region-start</kbd></dt><dd></dd>
+  <dt><kbd class="osc">Snap/snap-to-region-sync</kbd></dt><dd></dd>
+  <dt><kbd class="osc">Snap/snap-to-seconds</kbd></dt><dd></dd>
+  <dt><kbd class="osc">Snap/snap-to-smpte-frame</kbd></dt><dd></dd>
+  <dt><kbd class="osc">Snap/snap-to-smpte-minutes</kbd></dt><dd></dd>
+  <dt><kbd class="osc">Snap/snap-to-smpte-seconds</kbd></dt><dd></dd>
+  <dt><kbd class="osc">Snap/snap-to-thirds</kbd></dt><dd></dd>
+  <dt><kbd class="osc">Snap/snap-to-thirtyseconds</kbd></dt><dd></dd>
+  <dt><kbd class="osc">Transport/focus-on-clock</kbd></dt><dd></dd>
+  <dt><kbd class="osc">Transport/Forward</kbd></dt><dd></dd>
+  <dt><kbd class="osc">Transport/GotoEnd</kbd></dt><dd></dd>
+  <dt><kbd class="osc">Transport/GotoStart</kbd></dt><dd></dd>
+  <dt><kbd class="osc">Transport/GotoZero</kbd></dt><dd></dd>
+  <dt><kbd class="osc">Transport/Loop</kbd></dt><dd></dd>
+  <dt><kbd class="osc">Transport/PlaySelection</kbd></dt><dd></dd>
+  <dt><kbd class="osc">Transport/Record</kbd></dt><dd></dd>
+  <dt><kbd class="osc">Transport/record-roll</kbd></dt><dd></dd>
+  <dt><kbd class="osc">Transport/Rewind</kbd></dt><dd></dd>
+  <dt><kbd class="osc">Transport/ToggleAutoInput</kbd></dt><dd></dd>
+  <dt><kbd class="osc">Transport/ToggleAutoPlay</kbd></dt><dd></dd>
+  <dt><kbd class="osc">Transport/ToggleAutoReturn</kbd></dt><dd></dd>
+  <dt><kbd class="osc">Transport/ToggleClick</kbd></dt><dd></dd>
+  <dt><kbd class="osc">Transport/TogglePunchIn</kbd></dt><dd></dd>
+  <dt><kbd class="osc">Transport/TogglePunchOut</kbd></dt><dd></dd>
+  <dt><kbd class="osc">Transport/ToggleRoll</kbd></dt><dd></dd>
+  <dt><kbd class="osc">Transport/ToggleRollForgetCapture</kbd></dt><dd></dd>
+  <dt><kbd class="osc">Transport/ToggleRollMaybe</kbd></dt><dd></dd>
+  <dt><kbd class="osc">Transport/ToggleTimeMaster</kbd></dt><dd></dd>
+  <dt><kbd class="osc">Transport/ToggleVideoSync</kbd></dt><dd></dd>
+  <dt><kbd class="osc">Transport/TransitionToReverse</kbd></dt><dd></dd>
+  <dt><kbd class="osc">Transport/TransitionToRoll</kbd></dt><dd></dd>
+  <dt><kbd class="osc">Zoom/zoom-focus-center</kbd></dt><dd></dd>
+  <dt><kbd class="osc">Zoom/zoom-focus-edit</kbd></dt><dd></dd>
+  <dt><kbd class="osc">Zoom/zoom-focus-left</kbd></dt><dd></dd>
+  <dt><kbd class="osc">Zoom/zoom-focus-playhead</kbd></dt><dd></dd>
+  <dt><kbd class="osc">Zoom/zoom-focus-right</kbd></dt><dd></dd>
+</dl>
index d58b2f1451208cf838ba7dcb1455d88ace375f4e..eef1f4d253d6e898a480b749f3b339fad69c751e 100644 (file)
@@ -4,38 +4,57 @@ title: Devices using Mackie/Logic Control Protocol
 menu_title: Mackie/Logic Control Devices
 ---                        
 
+<p>
+  This will walk you through the process of configuring and using 
+  a MIDI control surface with Ardour that uses the <dfn>Mackie Control
+  protocol</dfn> (MCP) or <dfn>Logic Control protocol</dfn>. Devices that 
+  have been tested and are known to work include the SSL Nucleus, Mackie 
+  Control Pro (plus extenders), Behringer devices in Mackie/Logic mode, 
+  and Steinberg CMC devices.
+</p>
 
-  
-  
-<p>This will walk you through the process of configuring and using a MIDI control surface with Ardour that uses the Mackie Control protocol or the Logic Control protocol. Devices that have been tested and are known to work include the SSL Nucleus, Mackie Control Pro (plus extenders), Behringer devices in Mackie/Logic mode, and Steinberg CMC devices.</p>
-<p>See the bottom of this page for links to device-specific information.</p>
-<h2>Preparing your device for use with Ardour</h2>
-<p>Each interface model probably has some necessary setup so it's in the state Ardour expects to identify it. See your control surface page to see what's necessary. If there is no page about your control surface, create one!</p>
-<h2>Preparation</h2>
-<p>Please see the platform specific pages for:</p>
-<ul>
-<li>
-<a href="/using-control-surfaces/devices-using-mackielogic-control-protocol/mackie-control-setup-on-linux">Linux</a>
-</li>
-<li>
-<a href="/missing">OS X</a>
-</li>
-</ul>
 <h2>Enabling Mackie Control in Ardour</h2>
-<p>Navigate to <code>Edit &gt; Preferences &gt; User Interaction</code>. Double-click on "Mackie Control" to see the setup dialog:</p>
-<p><img src="" alt="Mackie Control Setup Dialog" /></p>
-<p>From the selector at the top, choose the type of device you are using. (<a href="/missing">What do do if your device is not listed</a>). </p>
-<p>Once your setup is complete, click "OK" to close the dialog. Now click on the enable checkbox for "Mackie Control". </p>
-<h2>Connecting control surface and Ardour MIDI ports</h2>
-<p>If you are using a device that uses ipMIDI such as the SSL Nucleus, no MIDI port connections are required - Ardour and your control surface will be able to talk to each other automatically.</p>
-<p>If you are using a device that uses "normal" MIDI (via a standard MIDI or USB cable), you need to connect Ardour's Mackie Control ports to the MIDI ports corresponding to the control surface.</p>
-<p>Now that you have both control surface and Ardour MIDI ports available, cross connect the control surface MIDI ports and the two mackie ports.</p>
-<p>Once you have made these connections once, Ardour will recreate them when it is started in the future (as long as you leave Mackie Control enabled as a control protocol).</p>
-<h2>Customizing your control surface</h2>
-<p>Every possible Mackie Control button can be found to any action present in Ardour's GUI. </p>
-<p>Please check your control surface page for suggestions.</p>
-  
+<p>
+  Navigate to <kbd class="menu">Edit &gt; Preferences &gt; User 
+  Interaction</kbd>. Double-click on <kbd class="menu">Mackie Control</kbd>
+  to see the setup dialog:
+</p>
+<img src="" alt="Mackie Control Setup Dialog" />
+<p>
+  From the selector at the top, choose the type of device you are using. 
+  (<a href="/missing">What do do if your device is not listed</a>).
+</p>
+<p>
+  Once your setup is complete, click "OK" to close the dialog. Now click 
+  on the enable checkbox for "Mackie Control".
+</p>
 
+<h2>Connecting control surface and Ardour MIDI ports</h2>
+<p>
+  If you are using a device that uses ipMIDI, such as the SSL Nucleus, no 
+  MIDI port connections are required &mdash; Ardour and your control 
+  surface will be able to talk to each other automatically.
+</p>
+<p>
+  If you are using a device that uses normal MIDI (via a standard MIDI or 
+  USB cable), you need to connect Ardour's Mackie Control in and out ports 
+  to the MIDI ports leading to and coming from the control surface.
+</p>
+<p>
+  When you have made these connections once, Ardour will recreate them 
+  for you in the future, as long as you leave Mackie Control enabled.
+</p>
 
+<h2>Customizing your control surface</h2>
+<p>
+  Every possible Mackie Control button can be bound to any action present 
+  in Ardour's GUI. Please check your control surface page for suggestions.
+</p>
 
+<h2>Preparing your device for use with Ardour</h2>
+<p>
+  Most interfaces will require some configuration to send and respond to 
+  MCP.
+</p> 
+  
 {% children %}
index 03833f6ab953913353c179730d052c3283100823..57b2da823b43c4adf4f0f2ddcd9804d3c399bee3 100644 (file)
@@ -4,7 +4,12 @@ title: Behringer devices in Mackie/Logic Control Mode
 menu_title: Behringer devices
 ---                        
 
-
-  <h4>Behringer BCF-2000 Fade Controller</h4> 
-  <p>This device has a Mackie/Logic Control Mode built in. In order to put the controller into Mackie/Logic control mode turn on the unit while holding third button from the left in the top most row of buttons(under the rotary encoder row). In this mode the LCD display will show "LC". Your device is now ready to use with Ardour.</p>
+<h2>Behringer BCF-2000 Fader Controller</h2> 
+<p>
+  This device has a Mackie/Logic Control Mode built in. In order 
+  to put the controller into Mackie/Logic control mode turn on the 
+  unit while holding third button from the left in the top most row
+  of buttons (under the rotary encoder row). In this mode the LCD 
+  display will show "LC". Your device is now ready to be used with Ardour.
+</p>
   
index 0b0b17a1e889626c4f3dfe92c5b0ed302a24c728..8a47b2c57e9443b274324a9c86160418bc86bf20 100644 (file)
@@ -3,10 +3,18 @@ layout: default
 title: Mackie Control Setup on Linux
 ---                        
 
+<h2>Devices using ipMIDI</h2>
+<p>
+  If you are using a device like the SSL Nucleus that uses ipMIDI, 
+  no set up is required other than to ensure that your control surface 
+  and computer are both connected to the same network.
+</p>
 
-  
-  <h2>Devices using ipMIDI</h2>
-<p>If you are using a device like the SSL Nucleus that uses ipMIDI, no set up is required other than to ensure that your control surface and computer are both connected to the same network.</p>
 <h2>Devices using conventional MIDI</h2>
-<p>Before attempting to use a Mackie Control device that communicates via a standard MIDI cable or a USB cable, you should ensure that <a href="http://manual.ardour.org/setting-up-your-system/setting-up-midi/midi-on-linux">your Linux MIDI environment is setup</a>.</p>
+<p>
+  Before attempting to use a Mackie Control device that communicates via 
+  a standard MIDI cable or a USB cable, you should ensure that 
+  <a href="/setting-up-your-system/setting-up-midi/midi-on-linux">your Linux 
+  MIDI environment is setup</a>.
+</p>
   
index 13846f1f13a233572889ad7b95172d5d0a0418ff..78291d8ca1ec116e230437643afb83ef49653904 100644 (file)
@@ -3,101 +3,146 @@ layout: default
 title: MIDI Binding Maps
 ---                        
 
-
-  
-  
 <p>
-Ardour 2.X supported <a href="/using-control-surfaces/midi-learn">MIDI learning</a> for more
-or less any control. This was a nice feature that quite a few other
-DAWs have now provided, but it didn't allow Ardour to work "out of the
-box" with sensible defaults for existing commercial MIDI
-controllers. In Ardour 3 and later versions, we have augmented the
-MIDI learn feature with the ability to load a MIDI binding map for a
-given controller, which can set up an arbitrary number of physical
-controls with anything inside Ardour that can be controlled. At this
-time, these binding maps need to be created with a text editor, but we
-currently have presets for 
+  Ardour 2.X supported 
+  <a href="/using-control-surfaces/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
+  controllers. In Ardour 3 and later versions, we have augmented the
+  MIDI learn feature with the ability to load a <dfn>MIDI binding map</dfn> 
+  for a given controller, which can set up an arbitrary number of physical
+  controls with anything inside Ardour that can be controlled. 
+</p>
+<p>
+  At this time, these binding maps need to be created with a text editor.
+  Currently, we have presets for:
 </p>
-
 <ul>
-<li>Behringer BCF 2000
-</li>
-<li>Korg_nanoKONTROL
-</li>
-<li>M-Audio Oxygen 8 v2
-</li>
-<li>Roland SI-24
-</li>
-<li>Behringer DDX3216
-</li>
-<li>M-Audio Axiom 25
-</li>
+  <li>Behringer BCF 2000</li>
+  <li>Korg_nanoKONTROL</li>
+  <li>M-Audio Oxygen 8 v2</li>
+  <li>Roland SI-24</li>
+  <li>Behringer DDX3216</li>
+  <li>M-Audio Axiom 25</li>
 </ul>
 <p>
-MIDI binding maps are accessible by double clicking on the "Generic MIDI" line in the Control Surfaces tab of the Ardour preferences dialog. Ardour will retain your chosen map after you choose one.
+  MIDI binding maps are accessible by double-clicking <kbd class="menu">Edit
+  &gt; Preferences &gt; Control Surfaces &gt; Generic MIDI</kbd>. Ardour will 
+  retain your selection after you choose one.
 </p>
+
+<h2>Creating new MIDI maps</h2>
+<h3>The Basic Concept</h3>
 <p>
-The information below describes in great detail how to create a new MIDI binding map.</p>
-<p></p>
-<h2>The Basic Concept</h2>
-<p>
-Since the beginning of time (well, sometime early in the 2.X series), Ardour has had the concept of identifying each track and bus with a <em>remote control ID</em>. This ID uniquely identifies a track or bus so that when messages arrive from elsewhere (MIDI or OSC), we can determine which track or bus they are intended to control. Ardour has a number of ways of assigning remote control IDs, but they don't really matter very much when creating MIDI binding maps, so we won't discuss that here. You just need to know that there is a "first track" and its remote control ID is 1, and so on.
+  Since the beginning of time (well, sometime early in the 2.X series), 
+  Ardour has had the concept of identifying each track and bus with a 
+  <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. Ardour has a 
+   <a
+  href="/working-with-tracks/controlling-track-ordering/track-ordering-and-remote-control-ids/">number 
+   of ways of assigning remote control IDs</a>, but they don't really matter 
+   very much when creating MIDI binding maps, so we won't discuss that here. 
+   You just need to know that there is a "first track" and its remote control 
+   ID is 1, and so on.
 </p>
-<h2>Getting Started</h2>
+<h3>Getting Started</h3>
 <p>
-MIDI bindings are stored in files with the suffix ".map" attached to their name. The minimal content looks like this:</p>
+  MIDI bindings are stored in files with the suffix ".map" attached to their 
+  name. The minimal content looks like this:
+</p>
 <pre>
 &lt;?xml version="1.0" encoding="UTF-8"?&gt;
-&lt;ArdourMIDIBindings version="1.0.0" name="The name of this set of bindings"&gt;
+&lt;ArdourMIDIBindings version="1.0.0" name="The name of this set of
+bindings"&gt;
 &lt;/ArdourMIDIBindings&gt;
 </pre>
-<p>So, to start, create a file with that as the initial contents.
+<p>
+  So, to start, create a file with that as the initial contents.
 </p>
-<p>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 ARDOUR_MIDIMAPS_PATH environment variable). On GNU/Linux the easiest is to save the file to <code>~/.config/ardour3/midi_maps/</code>.
+<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>.
 </p>
-<h2>Finding out what your MIDI control surface sends</h2>
+
+<h3>Finding out what your MIDI control surface sends</h3>
 <p>
-This is the most complex part of the job, but its still not very hard. You need to connect the control surface to an application that will show you the information that the device sends each time you modify a knob, slider, button etc. There are a variety of such applications (notably <code>gmidimon</code> and <code>kmidimon</code>, but you can actually use Ardour for this if you want. Start Ardour in a terminal window, connect MIDI ports up, and in the Preferences window, enable "Trace Input" on the relevant MIDI port. A full trace of the MIDI data received will show up in the terminal window. (Note: in Ardour3, you get a dedicated, custom dialog for this kind of tracing)
+  This is the most complex part of the job, but its still not very hard. 
+  You need to connect the control surface to an application that will show 
+  you the information that the device sends each time you modify a knob, 
+  slider, button etc. There are a variety of such applications (notably 
+  <code>gmidimon</code> and <code>kmidimon</code>, but you can actually use 
+  Ardour for this if you want. Start Ardour in a terminal window, connect 
+  MIDI ports up, and in the Preferences window, enable "Trace Input" on the 
+  relevant MIDI port. A full trace of the MIDI data received will show up in 
+  the terminal window. (Note: in Ardour3, you get a dedicated, custom dialog 
+  for this kind of tracing.)
 </p>
-<h2>Types of Bindings</h2>
+<h3>Types of Bindings</h3>
 <p>
-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.
+  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.
 </p>
-<h3>Binding to Track/Bus controls</h3>
+<h4>Binding to Track/Bus controls</h4>
 <p>
-A track/bus binding has one of two basic structures</p>
-<pre>
+  A track/bus binding has one of two basic structures
+</p>
+<code>
   &lt;Binding <em>msg specification</em>  uri="<em>... control address ...</em>"/&gt;
   &lt;Binding <em>msg specification</em>  function="<em>... function name ...</em>"/&gt;
-</pre>
+</code>
+
 <h4>Message specifications</h4>
 <p>
-You can create a binding for either 3 types of channel messages, or for a system exclusive ("sysex") message.  A channel message specification looks like this:</p>
-<pre>
+  You can create a binding for either 3 types of channel messages, or for a
+  system exclusive ("sysex") message.  A channel message specification looks 
+  like this:
+</p>
+<code>
    &lt;Binding channel="1" ctl="13" ....
-</pre>
-<p>This defines a binding for a MIDI Continuous Controller message involving controller 13, arriving on channel 1. There are 16 MIDI channels, numbered 1 to 16. Where the example above says <code>ctl</code>, you can alternatively use <code>note</code> (to create binding for a Note On message) or <code>pgm</code>  (to create a binding for a Program Change message).
+</code>
+<p>
+  This defines a binding for a MIDI Continuous Controller message involving 
+  controller 13, arriving on channel 1. There are 16 MIDI channels, numbered 
+  1 to 16. Where the example above says <code>ctl</code>, you can alternatively 
+  use <code>note</code> (to create binding for a Note On message) or 
+  <code>pgm</code>  (to create a binding for a Program Change message).
 </p>
 <p>
-You can also bind sysex messages:</p>
-<pre>
+  You can also bind sysex messages:
+</p>
+<code>
   &lt;Binding sysex="f0 0 0 e 9 0 5b f7" ....
   &lt;Binding sysex="f0 7f 0 6 7 f7" ....
-</pre>
-<p>The string after the <code>sysex=</code> part is the sequence of MIDI bytes, as hexadecimal values, that make up the sysex message.
+</code>
+<p>
+  The string after the <code>sysex=</code> part is the sequence of MIDI bytes, 
+  as hexadecimal values, that make up the sysex message.
 </p>
 <p>
-Finally, you can bind a totally arbitrary MIDI message:</p>
-<pre>
+  Finally, you can bind a totally arbitrary MIDI message:</p>
+<code>
   &lt;Binding msg="f0 0 0 e 9 0 5b f7" ....
   &lt;Binding msg="80 60 40" ....
-</pre>
-<p>The string after the <code>msg=</code> part is the sequence of MIDI bytes, as hexadecimal values, that make up the message you want to bind. Using this is slightly less efficient than the other variants shown above, but is useful for some oddly designed control devices.
+</code>
+<p>
+  The string after the <code>msg=</code> part is the sequence of MIDI bytes, as 
+  hexadecimal values, that make up the message you want to bind. Using this is 
+  slightly less efficient than the other variants shown above, but is useful for 
+  some oddly designed control devices.
 </p>
+
 <h4>Control address</h4>
 <p>
-A <em>control address</em> defines what the binding will actually control. There are quite a few different things that can be specified here:</p>
-<p></p>
+  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>
@@ -131,21 +176,34 @@ A <em>control address</em> defines what the binding will actually control. There
 </dt>
 <dd>identifies a track or bus by its name
 </dd>
-<dt>
-</dt>
 </dl>
-<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 (starting from 1). For plugin parameters, there is an additional third component: a number identifying the plugin parameter number (starting from 1).
+<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 
+  (starting from 1). For plugin parameters, there is an additional third 
+  component: a number identifying the plugin parameter number (starting from
+  1).
 </p>
 <p>
-One additional feature: for solo and mute bindings, you can also add <code>momentary="yes"</code> after the control address. This is useful primarily for NoteOn bindings - when Ardour gets the NoteOn it will solo or mute the targetted track or bus, but then when a NoteOff arrives, it will un-solo or un-mute it.
+  One additional feature: for solo and mute bindings, you can also add 
+  <code>momentary="yes"</code> after the control address. This is useful 
+  primarily for NoteOn bindings &mdash; when Ardour gets the NoteOn it 
+  will solo or mute the targetted track or bus, but then when a NoteOff 
+  arrives, it will un-solo or un-mute it.
 </p>
+
 <h4>Bindings to Ardour "functions"</h4>
 <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 binding definition that does this looks like this:</p>
-<pre>
+  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:
+</p>
+<code>
   &lt;Binding channel="1" note="13" function="transport-roll"/&gt;
-</pre>
-<p>In this case, a NoteOn message for note number 13 (on channel 1) will start the transport rolling. The following function names are available:
+</code>
+<p>
+  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>
@@ -199,28 +257,59 @@ Rather than binding to a specific track/bus control, it may be useful to have a
 <dd>Move track/bus mapping to the previous bank (see Banks below)
 </dd>
 </dl>
-<h2>Binding to Ardour "actions"</h2>
+
+<h4>Binding to Ardour "actions"</h4>
 <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 best place to look for the (long) list of how to address each item is in your keybindings file, which will contain lines that look like this:</p>
-<pre>
+  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 best place 
+  to look for the (long) list of how to address each item is in your 
+  keybindings file, which will contain lines that look like this:
+</p>
+<code>
 (gtk_accel_path "&lt;Actions&gt;/Editor/temporal-zoom-in" "equal")
-</pre>
-<p>To create a binding between an arbitrary MIDI message (we'll use a note-off on channel 1 of MIDI note 60 (hex) with release velocity 40 (hex)), the binding file would contain:</p>
-<pre>
+</code>
+<p>
+  To create a binding between an arbitrary MIDI message (we'll use a 
+  note-off on channel 1 of MIDI note 60 (hex) with release velocity 
+  40 (hex)), the binding file would contain:
+</p>
+<code>
    &lt;Binding msg="80 60 40" action="Editor/temporal-zoom-in"/&gt;
-</pre>
-<p>The general rule, when taken an item from the keybindings file and using it in a MIDI binding is to simply strip the <code>&lt;Action&gt;</code> prefix of the second field in the keybinding definition.
+</code>
+<p>
+  The general rule, when taken an item from the keybindings file and 
+  using it in a MIDI binding is to simply strip the 
+  <code>&lt;Action&gt;</code> prefix of the second field in the 
+  keybinding definition.
 </p>
-<h2>Banks and Banking</h2>
+
+<h3>Banks and Banking</h3>
 <p>
-Because many modern control surfaces offer per-track/bus controls for far fewer tracks &amp; busses than many users want to control, Ardour offers the relatively common place concept of "banks". Banks to allow you to relatively easily control any number of tracks and/or busses regardless of how many faders/knobs etc. your control surface has. To use banking, the control addresses must be specified using the <em>bank relative</em> format mentioned above ("B1" to identify the first track of a bank of tracks, rather than "1" to identify the first track).
+  Because many modern control surfaces offer per-track/bus controls 
+  for far fewer tracks &amp; busses than many users want to control, 
+  Ardour offers the relatively common place concept of <dfn>banks</dfn>. Banks 
+  allow you to control any number of tracks and/or busses easily, 
+  regardless of how many faders/knobs etc. your control surface has.<br /> 
+  To use banking, the control addresses must be specified using the 
+  <dfn>bank relative</dfn> format mentioned above ("B1" to identify 
+  the first track of a bank of tracks, rather than "1" to identify 
+  the first track).
 </p>
 <p>
-One very important extra piece of information is required to use banking: an extra line near the start of the list of bindings that specifies how many tracks/busses to use per bank. If the device has 8 faders, then 8 would be a sensible value to use for this. The line looks like this:</p>
-<pre>
+  One very important extra piece of information is required to use 
+  banking: an extra line near the start of the list of bindings 
+  that specifies how many tracks/busses to use per bank. If the 
+  device has 8 faders, then 8 would be a sensible value to use for 
+  this. The line looks like this:</p>
+<code>
    &lt;DeviceInfo bank-size="8"/&gt;
-</pre>
-<p>In addition, you probably want to ensure that you bind something on the control surface to the <code>next-bank</code> and <code>prev-bank</code> functions, otherwise you and other users will have to use the mouse and the GUI to change banks, which rather defeats the purpose of the bindings.
+</code>
+<p>
+  In addition, you probably want to ensure that you bind something
+  on the control surface to the <code>next-bank</code> and 
+  <code>prev-bank</code> functions, otherwise you and other users 
+  will have to use the mouse and the GUI to change banks, which 
+  rather defeats the purpose of the bindings.
 </p>
 <h2>A Complete (though muddled) Example</h2>
 <pre>
@@ -252,6 +341,8 @@ One very important extra piece of information is required to use banking: an ext
 &lt;/ArdourMIDIBindings&gt;
 </pre>
 <p>
-Please note that channel, controller and note numbers are specified as decimal numbers in the ranges 1-16, 0-127 and 0-127 respectively (the channel range may change at some point)
+  Please note that channel, controller and note numbers are specified as 
+  decimal numbers in the ranges 1-16, 0-127 and 0-127 respectively 
+  (the channel range may change at some point).
 </p>
   
index bab46be6d50c7ca76534e3fe95d77d89fdf14085..bc409128c4f821ed9ef979b1fdcc900c76d05dd0 100644 (file)
@@ -7,9 +7,7 @@ title: MIDI Learn
 <p>
 There are no "best" ways to map an arbitrary MIDI controller for
 controlling Ardour. There may be very legitimate reasons for different
-users to prefer quite different mappings. So, Ardour does not come
-with any pre-defined mapping - we believe that users know what is best
-for them.
+users to prefer quite different mappings. 
 </p>
 <p>
 On every platform that Ardour runs on, there are excellent
@@ -26,22 +24,24 @@ QJackctl, aconnect, Patchage, and more.
 <h2>Basics</h2>
 
 <ol>
-  <li>    Enable Generic MIDI control: Options -> Control Surfaces -> Generic MIDI</li>
-  <li>Connect Ardour's MIDI port named "control" to whatever hardware or software you want (using a MIDI patchbay app)</li>
-  <li>Ctrl-middleclick on whatever on-screen fader, plugin parameter control, button etc. that you want to control</li>
+  <li>Enable Generic MIDI control: <kbd class="menu">Edit &gt; Preferences
+  &gt; Control Surfaces &gt; Generic MIDI</li>
+  <li>Connect Ardour's MIDI port named <samp>control</samp> to whatever 
+  hardware or software you want (using a MIDI patchbay app)</li>
+  <li><kbd class="mod1 mouse">Middle</kbd>-click on whatever on-screen 
+  fader, plugin parameter control, button etc. you want to control</li>
   <li>A small window appears that says "Operate Controller now"</li>
   <li>Move the hardware knob or fader, or press the note/key.</li>
   <li>The binding is complete. Moving the hardware should control the Ardour fader etc. </li>
 </ol>
 
 <h2>Avoiding work in the future</h2>
-
 <p>
 If you want the bindings you set up to be used automatically in every
-session, the simplest thing to do is to use Session -> Save
-Template. Then, when creating new sessions, select that template and
+session, the simplest thing to do is to use <kbd class="menu">Session &gt; Save
+Template</kbd>. Then, when creating new sessions, select that template and
 all the bindings will be automatically set up for you. You can also
 save a specific track/bus configuration as a template, and use that
 when adding new tracks or busses. Click on the track name at the top
-of a mixer strip and select "Save as Template".
+of a mixer strip and select <kbd class="menu">Save as Template</kbd>.
 </p>
index 6e7eb3409238c47cd5d4727bc8c14e5f84301adb..1fb8d6257dd87cd91dd0b71ff8e77ca4f76c0033 100644 (file)
@@ -279,7 +279,7 @@ kbd {
     text-transform:capitalize;
 }
 
-kbd.input,kbd.cmd {
+kbd.input,kbd.cmd,kbd.osc {
     font-family:mono;
     border-width:0;
     text-transform:none;
@@ -340,6 +340,8 @@ kbd.option:after,kbd.optoff:after {
 kbd.option:after {
     content:'X';
 
+}
+kbd.osc {
 }
 kbd.optoff:after {
     content:'    ';