-<h4>Gain Mode:</h4>
-
-<p>
- Sets the faders (and sends faders) feedback math to position where a
- value between 0 and 1 represents the fader position of the same fader
- in the mixer GUI or dB where the feedback from fader movement will be
- returned as a dB value. When the Gain Mode is set to position, the
- /*/name feedback for the channel will show dB values in text while the
- fader is being adjusted and then return the the name text.
-</p>
-<h4>Debug:</h4>
-<p>
- For debugging purposes this allows logging either good OSC messages
- Ardour receives or invalid messages received or none.
-</p>
-<h4>Preset:</h4>
-<p>
- Ardour now allows the use of preset settings. The default settings
- used are the settings from the last session or the factory defaults
- the first time OSC is enabled. As soon as any of these settings are
- changed, the Preset will change to "User" and the new settings will be
- save to the osc directory Ardour configuration directory as
- <em>user.preset</em>. This preset file can be renamed for future use.
- It is suggested to also change the name value inside to avoid confusion
- in the preset listing. Ardour will ship with some of it's own presets
- that go with some popular OSC control and map combinations.
-</p>
-<h4>Clear OSC Devices</h4>
-<p>
- This button clears operating device profiles so that Ardour will reset
- all devices settings to use the new defaults from changed settings. a
- device may still override these new settings with the /set_surface set
- of commands. The reason for setting defaults settings is that some OSC
- controllers are not able to send more than one parameter at a time and
- so having correct defaults allows one "Connect" button rather than 4.
-</p>
-<h3>Default Strip Types tab</h3>
-<p>
-<img alt="the Default Strip Types tab"
- src="/images/osc-strip-types.png">
-</p>
-<p>
- This allows selecting which of Ardour's mixer strips will be available
- for control. The Factory default is all strips except master, monitor
- and hidden strips. If it is desired to only see input tracks the
- others can be deselected. It is also possible to change these settings
- from the control surface. A set of buttons could select showing only
- inputs or only buses. If a group is selected in the GUI then showing
- only selected strips will show only that group. Showing hidden tracks
- is handy for cases where a groups of tracks that grouped to a bus or
- controlled by a VCA are hidden, but one of those tracks needs a tweak.
-</p>
-
-<h3>Default Feedback tab</h3>
-
-<p>
-<img alt="the Default Feedback tab"
- src="/images/osc-feedbackdefault.png">
-</p>
-
-<p>
- This allows setting up which controls provide feedback. The Factory
- default is none. If the controller is unable to receive feedback, this
- should be left blank. In the case of metering, Metering as a LED strip
- only works if Metering as a Float is disabled.
-</p>
-
----
-title: Querying Ardour with OSC
-part: subchapter
----
-
-<p>
- In order to make a custom controller that knows what strips Ardour
- has, the controller needs to be able to query Ardour for that
- information. These set of commands are for smarter control surfaces
- That have the logic to figure out what to do with the information.
- These are not of value for mapped controllers like touchOSC and
- friends. The controller will need to send these queries to ardour
- as often as it needs this information. It may well make sense to use
- regular feedback for things that need to be updated often such as
- position or metering.
- Here are the commands used to query Ardour:
-</p>
-
-<dl class="bindings">
- <dt><kbd class="osc">/strip/list</kbd></dt>
- <dd>Ask for a list of strips</dd>
- <dt><kbd class="osc">/strip/sends <em>ssid</em></kbd></dt>
- <dd>Asks for a list of sends on the strip <em>ssid</em></dd>
- <dt><kbd class="osc">/strip/receives <em>ssid</em></kbd></dt>
- <dd>Asks for a list of tracks that have sends to the strip <em>ssid</em> points to</dd>
- <dt><kbd class="osc">/strip/plugin/list <em>ssid</em></kbd></dt>
- <dd>Asks for a list of plug-ins for strip <em>ssid.</em></dd>
- <dt><kbd class="osc">/plugin/descriptor <em>ssid</em> <em>piid</em></kbd></dt>
- <dd>Asks for a list of descriptors for plug-in <em>piid</em> on strip <em>ssid</em></dd>
-</dl>
-
-<h3>A list of strips</h3>
-
-<p>
- <code>/strip/list</code> asks Ardour for a list of strips that the
- current session has. Ardour replies with a message for each
- strip with the following information:
- <ul>
- <li>Strip type</li>
- <li>Strip name</li>
- <li>Number of inputs</li>
- <li>Number of outputs</li>
- <li>Muted (bool)</li>
- <li>Soloed (bool)</li>
- <li>Ssid (strip number)</li>
- <li>Record enabled (bool)</li>
- </ul>
- After all the strip messages have been sent, one final message is
- sent with:
- <ul>
- <li>The text <code>end_route_list</code></li>
- <li>The session frame rate</li>
- <li>The last frame number of the session</li>
- </ul>
-</p>
-<p class="note">A bus will not have a record enable and so a bus message
- will have one less parameter than a track. It is the controllers
- responsability to deal with this.
-</p>
-
-<h3>A list of sends</h3>
-<p>
- <code>/strip/sends <em>ssid</em></code> asks Ardour for a list of
- sends for strip number ssid. The reply is sent back to the
- controller as one message with the following information:
- <ul>
- <li>Ssid that information is for</li>
- <li>Each send's information:</li>
- <ul>
- <li>The send's target bus ssid</li>
- <li>The send's target bus name</li>
- <li>The send id for this strip</li>
- <li>The send gain as a fader possition</li>
- <li>The Send's enable state</li>
- </ul>
- </ul>
-</p>
-<p>
- The controller can tell how many sends there are from the number of
- parameters as each send has 5 parameters and there is one extra for
- ssid.
-</p>
-
-<h3>A list if tracks that send audio to a bus</h3>
-<p>
- <code>/strip/receives <em>ssid</em></code> will return a list of
- tracks that have sends to the bus at the ssid. The reply will
- contain the following information for each track conntected to this
- bus:
- <ul>
- <li>The ssid of the track sending</li>
- <li>The name of the sending track</li>
- <li>The id of the send at that track</li>
- <li>It's gain in fader possition</li>
- <li>The send's enable state</li>
- </ul>
-</p>
-
-<h3>A list of plug-ins for strip</h3>
-<p>
- <code>/strip/plugin/list <em>ssid</em></code> will return a list of
- plug-ins that strip ssid has. The reply will contain the following
- information:
- <ul>
- <li>Ssid that information is for</li>
- <li>Each plugin's information:</li>
- <ul>
- <li>The plug-in's id</li>
- <li>The plug-in's name</li>
- </ul>
- </ul>
-</p>
-
-<h3>A list of a plug-in's parameters</h3>
-<p>
- <code>/plugin/descriptor <em>ssid</em> <em>piid</em></code> will
- return the plug-in parameters for ppid plug-in on the ssid strip. The
- reply will contain the following information:
- <ul>
- <li>Ssid of the strip the plug-in is in</li>
- <li>The plug-in id for the plug-in</li>
- <li>The plug-in's name</li>
- <li>Information about each parameter</li>
- <ul>
- <li>The parameter id</li>
- <li>The parameter's name</li>
- <li>A bitset of flags (see below)</li>
- <li>Data type</li>
- <li>Minimum value</li>
- <li>Maximum value</li>
- <li>The number of scale points</li>
- <li>zero or more scale points of one value and one string each</li>
- <li>The current parameter value</li>
- </ul>
- </ul>
-</p>
-
-<p>
- The flag bitset above has been defined as (from lsb):
- <ul>
- <li>0 - enumeration</li>
- <li>1 - integer step</li>
- <li>2 - logarithmic</li>
- <li>3 - max unbound</li>
- <li>4 - min unbound</li>
- <li>5 - sample rate dependent</li>
- <li>6 - toggled</li>
- <li>7 - controllable</li>
- </ul>
-</p>
-
-<p>
- While this seems complex, it is really not that bad. Minimum, maximum and value will in most cases give you all you need.
-</p>
-
----
-title: Devices using Mackie/Logic Control Protocol
-menu_title: Mackie/Logic Control Devices
-part: subchapter
----
-
-<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>
-
-<h2>Enabling Mackie Control in Ardour</h2>
-
-<p>
- Navigate to <kbd class="menu">Edit > Preferences > Control Surfaces</kbd>.
- Double-click on <kbd class="menu">Mackie Control</kbd> to see the setup dialog:
-</p>
-
-<img src="/images/missing.png" alt="Mackie Control Setup Dialog" />
-
-<p>
- From the selector at the top, choose the type of device you are using.
- (<a
- href="/using-control-surfaces/devices-using-mackielogic-control-protocol/devices-not-listed/">
- What to 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 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>
-
-<p class="note">
- When setting up the control surface, do <em>not</em> use "Pro Tools"
- mode. Pro Tools is the only DAW that still requires HUI. The rest of
- world uses Mackie Control Protocol. Ardour does not support HUI.
-</p>
-
----
-title: Behringer devices in Mackie/Logic Control Mode
-menu_title: Behringer devices
-part: subchapter
----
-
-<h2>Behringer BCF-2000 Faders Controller</h2>
-
-<p>
- <img alt="Digramatic Image of the BCF2000"
- src="/images/BCF2000.png">
-</p>
-
-<p>
- The Behringer BCF-2000 Fader Controller is a control surface with 8 motorized
- faders, 8 rotary encoders and 30 push buttons. The device is a class
- compliant USB Midi Interface and also has standard Midi DIN IN/OUT/THRU ports.
- The device has included a Mackie/Logic Control Emulation Mode since firmware v1.06.
- If you're devices firmware is older than v1.06 it will require an update before
- Mackie Control Emulation will work as described here.
-</p>
-
-<p>
- <img alt="Digramatic Image of the BCF2000 in Edit Global Mode"
- src="/images/BCF2000-EG.png">
-</p>
-
-<p>
- 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). Hold the button down until <dfn>EG</dfn>
- or edit global mode is displayed on the LCD screen of the unit. The global parameters
- can then be edited using the 8 rotary encoders in the top row.
-</p>
- <ul>
- <li><code>
- Encoder #1 sets the operating mode and should be set to <dfn>U-1</dfn> or
- USB mode 1 if using with a USB cable connection.
- </li></code>
- <li><code>
- Encoder #3 sets the foot switch mode and should most likely be set to
- <dfn>Auto</dfn> to detect how the foot switch is wired.
- </li></code>
- <li><code>
- Encoder #5 sets the device id, if you are using only 1 device the id
- should be set to <dfn>ID 1</dfn>. If you are using multiple BCF/BCR2000 each
- device is required to be set up sequentially and one at a time.
- </li></code>
- <li><code>
- Encoder #7 controls the MIDI <dfn>Dead Time</dfn> or the amount of milliseconds
- after a move has been made that the device ignores further changes, this
- should be set to <dfn>100</dfn>.
- </li></code>
- <li><code>
- Encoder #8 controls the MIDI message <dfn>Send Interval</dfn> in milliseconds
- and should be set to <dfn>10</dfn>
- </li></code>
- </ul>
-<p>
- To exit the <dfn>EG</dfn> mode press the <dfn>Exit</dfn> button. The device is now
- ready to use with Ardour.
-</p>
-
-<h3>Modes of Operation</h3>
-<p>
- <img alt="Digramatic Image of the BCF2000 Control Modes"
- src="/images/BCF2000-Modes.png">
-</p>
-<p>
- The four buttons arranged in a rectangle and located under the Behringer logo
- are the mode selection buttons in Logic Control Emulation Mode,
- currently Ardour has implemented support for two of these modes.
-</p>
-<p>
-The surface can be broken into 8 groups of controls.
-</p>
-
-<ol>
- <li>The rotary encoders at the top of the device</li>
- <li>The first row of buttons under the encoders</li>
- <li>The second row of buttons under the encoders</li>
- <li>The row of motorized faders<li>
- <li>
- The group of 4 buttons at the top right that will be
- referred to here as the <dfn>Shift Group</dfn>
- </li>
- <li>
- The group of 4 buttons under the <dfn>Shift Group</dfn>
- referred to here as the <dfn>Mode Group</dfn>
- </li>
- <li>
- The group of 2 buttons under the <dfn>Mode Group</dfn>
- referred to here as the <dfn>Select Group</dfn>
- </li>
- <li>
- The group of 4 buttons under the <dfn>Select Group</dfn>
- referred to here as the <dfn>Transport Group</dfn>
- </li>
-</ol>
-
-<h3>Mixer Pan Mode</h3>
-<p>
- <img alt="Digramatic Image of the BCF2000 Control Modes"
- src="/images/BCF2000-Pan.png">
-</p>
-<p>
- This is the standard work mode that organizes the control surface to emulate
- a standard mixer layout where controls for each track/bus are arranged vertically.
- The order of the faders is either controlled by the order of the tracks in the
- mixer or can be set manually by the user.
-</p>
-<dl>
- <dt>Encoders</dt>
- <dd>Mixer Pans. The red LEDs show the amount of pan left or right</dd>
- <dt>First Row of Buttons</dt>
- <dd>Mixer Mutes. The button led lights if the track is currently muted</dd>
- <dt>Second Row of Buttons</dt>
- <dd>Select Active Track/Bus. Currently selected track/bus is indicated by the button led</dd>
- <dt>Faders</dt>
- <dd>Mixer Gains</dd>
- <dt>Shift Group</dt>
- <dd>
- The top and bottom left buttons are the simply shifts to change the function of other buttons
- </dd>
- <dd>
- The top right is the <dfn>Fine Control</dfn> button that allows the increment values sent by
- by rotary encoders and faders to be a small value for more precise editing. This button
- can also act as a shift button.
- </dd>
- <dd>
- The bottom right is the <dfn>Global Shift</dfn> button that allows you to change back to the
- standard Mixer Pan view from other views and modes. This button can also act as a shift button.
- </dd>
- <dt>Mode Group</dt>
- <dd>The top two buttons functions are not currently implemented in Ardour.</dd>
- <dd>The bottom left button sets the device to <dfn>Pan</dfn> mode and should currently be lit</dd>
- <dd>
- The bottom right button sets the device to <dfn>Send</dfn> mode but will only allow the switch
- if the currently selected track/bus has a send or sends to control.
- </dd>
- <dt>Select Group</dt>
- <dd>
- In this mode they function as bank select left and right. If your session has more than 8 tracks
- the next set of 8 tracks is selected with the right button and the faders will move to match the
- current gain settings of that bank of 8 tracks/busses. If the last bank contains less than 8
- tracks/busses the unused faders will move to the bottom and the pan lights will all turn
- off. An unlimited amount of tracks can be controlled with the device.
- </dd>
- <dt>Transport Group</dt>
- <dd>The upper left button controls <dfn>Rewind<dfn>.
- <dd>The upper right button controls <dfn>Fast Foreword</dfn>
- <dd>The lower left button controls stop</dd>
- <dd>The lower right button controls play</dd>
-</dl>
-<h3>Send Mode</h3>
-<p>
- <img alt="Digramatic Image of the Send Mode"
- src="/images/BCF2000-Send.png">
-</p>
-<p>
- Send mode allows for the top row of encoders to control the sends for a selected channel.
- One interesting option is to flip the controls from the encoders to the faders by pressing
- the shift 1 button and the global view button at the same time.
-</p>
-<dl>
- <dt>Encoders</dt>
- <dd>
- In send mode, the encoders control sends from left to right instead of mixer pans.
- If there are less than 8 sends the behavior of the encoder will be to continue controlling
- the mixer pan. Visually it's indicated by the change in the LED from originating at the 12
- o'clock position to originating at the 7 o'clock position. If <dfn>FLIP</dfn> is pressed
- the encoder will control the mixer gain for the selected track/bus.
- </dd>
- <dt>First row of buttons</dt>
- <dd>No Change</dd>
- <dt>Second row of buttons</dt>
- <dd>No Change.</dd>
- <dt>Faders</dt>
- <dd>
- No change unless <dfn>FLIP</dfn>is pressed then it controls the send for the selected track/bus.
- </dd>
- <dt>Shift Group</dt>
- <dd>No Change</dd>
- <dt>Select Group</dt>
- <dd>No Change</dd>
- <dt>Transport Group</dt>
- <dd>No Change</dd>
-</dl>
-<h3>Mixer Pan While Holding Shift 1</h3>
-<p>
- <img alt="Digramatic Image of the Mixer Mode while holding down shift 1"
- src="/images/BCF2000-Shift1.png">
-</p>
-<p>
- The operations of various buttons change while holding down the <dfn>Shift 1</dfn> button
-</p>
-<dl>
- <dt>Encoders</dt>
- <dd>No Change</dd>
- <dt>First row of buttons</dt>
- <dd>These now control the Soloing of each track/bus in the current bank</dd>
- <dt>Second row of buttons</dt>
- <dd>These now control the Enable Record for each track</dd>
- <dt>Faders</dt>
- <dd>No Change</dd>
- <dt>Shift Group</dt>
- <dd>No change</dd>
- <dt>Mode Group</dt>
- <dd>No Change</dd>
- <dt>Select Group</dt>
- <dd>
- These now change the current bank of tracks being controlled over by
- one. So if you where controlling tracks 1-8 a push the right
- button the surface would now control tracks 2-9 pressing the left
- would then shift back to controlling tracks 1-8.
- </dd>
- <dt>Transport Group</dt>
- <dd>The upper left now controls turning on and off <dfn>Loop</dfn> mode.</dd>
- <dd>
- The upper right now toggles
- <dfn>Click</dfn>.
- </dd>
- <dd>The lower left toggles <dfn>Replace</dfn>.</dd>
- <dd>
- The lower right toggles
- <dfn>Global Record</dfn>.
- </dd>
-</dl>
-<h3>Mixer Pan While Holding Shift 2</h3>
-<p>
- <img alt="Digramatic Image of the Mixer Mode while holding down shift 2"
- src="/images/BCF2000-Shift2.png">
-</p>
-<p>
- The operations of various buttons change while holding down the <dfn>Shift 2</dfn> button
-</p>
-<dl>
- <dt>Encoders</dt>
- <dd>No Change</dd>
- <dt>First row of buttons</dt>
- <dd>FIX ME</dd>
- <dt>Second row of buttons</dt>
- <dd>These now control setting up different <dfn>Views</dfn>. See bellow for more info</dd>
- <dt>Faders</dt>
- <dd>No Change</dd>
- <dt>Shift Group</dt>
- <dd>No change</dd>
- <dt>Mode Group</dt>
- <dd>No Change</dd>
- <dt>Select Group</dt>
- <dd>Left button controls <dfn>Undo</dfn>(NEEDS VERIFIED)</dd>
- <dt>Transport Group</dt>
- <dd>FIX ME</dd>
- <dd>FIX ME</dd>
- <dd>FIX ME</dd>
- <dd>FIX ME</dd>
-</dl>
-
-<h3>Views</h3>
-
-<p>
- <img alt="Digramatic Image of the LED display for different Views"
- src="/images/BCF2000-Views.png">
-</p>
-
-<p class="fixme">FIX ME</p>
-
----
-title: SSL Nucleus
-part: subchapter
----
-
-<p>
- The Nucleus, from Solid State Logic, is a 16 fader Mackie Control
- device that includes many buttons, separate meters, two LCD displays
- and other features. The device is not cheap (around US$5000 at the
- time of writing), and has some <a href="#design">design features</a>
- (or lack thereof) which some Ardour developers find
- questionable. Nevertheless, it is a very flexible device, and makes
- a nice 16 fader surface without the need to somehow attach an
- extender to your main surface.
-</p>
-
-<h2>Pre-configuring the Nucleus</h2>
-
-<p>
- Your Nucleus comes complete with a number of "profiles" for a few
- well-known DAWs. At the time of writing it does not include one for
- Ardour (or related products such as Harrison Mixbus).
-</p>
-<p>
- We have prepared a profile in which as many buttons as possible send
- Mackie Control messages, which makes the device maximally useful
- with Ardour (and Mixbus). You can
- download <a href="https://community.ardour.org/files/ArdourNucleusProfile.zip">the
- profile</a>
- and load it to your Nucleus using the <code>Edit Profiles</code>
- button in SSL's Nucleus Remote application. Be sure to select it for
- the active DAW layer in order to make Ardour work as well as
- possible. <em>Note: unfortunately, the Nucleus Remote application
- only runs on OS X or Windows, so Linux users will need access to
- another system to load the profile. We will provide notes on the
- profile settings at a future time.</em>
-</p>
-
-<h2>Connecting the Nucleus</h2>
-
-<p>
- Unlike most Mackie Control devices, the Nucleus uses an ethernet
- connection to send and receive the MIDI messages that make up the
- Mackie Control protocol. Specifically, it uses a technology called
- "ipMIDI" which essentially "broadcasts" MIDI messages on a local
- area network, so that any connected devices (computers, control
- surfaces, tablets etc.) can participate.
-</p>
-<p>
- All other DAWs so far that support the Nucleus have chosen to do so
- by using a 3rd party MIDI driver called "ipMIDI", which creates a
- number of "virtual" MIDI ports on your computer. You, the user,
- tells the DAW which ports to connect to, and ipMIDI takes care of
- the rest.
-</p>
-<p>
- Ardour has builtin ipMIDI support, with no need of any 3rd party
- packages, and no need to identify the "ports" to connect to in order
- to communicate with the Nucleus. This makes setting it up a bit
- easier than most other systems.
-</p>
-<p>
- Unless ... you already installed the ipMIDI driver in order to use
- some other DAW with your Nucleus. If ipMIDI is configured to create
- any "ports", it is not possible for Ardour's own ipMIDI support to
- function. We decided to offer both methods of communicating with
- your Nucleus. If you regularly use other DAWs, and appreciate having
- ipMIDI permanently set up to communication with the Nucleus—that's
- OK, you can tell Ardour to use the ipMIDI driver you already
- have. But if you're not using other DAWs with the Nucleus (and thus
- have not installed the ipMIDI driver), then you can ignore the
- ipMIDI driver entirely, and let Ardour connect directly with no
- configuration.
-</p>
-
-<h3>Connecting via Ardour's own ipMIDI support</h3>
-
-<p class="alert alert-info">
- This is usable only on computers with no 3rd party ipMIDI
- driver software installed and configured. If you have the OS X or
- Windows ipMIDI driver from nerds.de, it <strong>MUST</strong> be
- configured to offer <strong>ZERO</strong> ports before using this
- method.
-</p>
-
-<p>
- Open <code>Preferences > Control Surfaces</code>. Ensure that the
- Mackie protocol is enabled, then double-click on it to open the
- Mackie Control setup dialog.
-</p>
-<p>
- Ensure that the device selected is "SSL Nucleus". The dialog should
- show a single numerical selector control below it, defining the
- ipMIDI port number to use (it should almost always be left at the
- default value of 21928).
-</p>
-<p>
- Communication is automatically established with the Nucleus and you
- need do nothing more.
-</p>
-<p>
- If this does not work, then make sure your network cables are
- properly connected, and that you are <strong>not</strong> running
- other ipMIDI software on the computer.
-</p>
-
-<h3>Connecting via 3rd party ipMIDI support</h3>
-
-<p class="alert alert-info">
- This is usable only on computers with 3rd party ipMIDI
- driver software installed and configured for (at least) 2 ports.
-</p>
-
-<p>
- Open <code>Preferences > Control Surfaces</code>. Ensure that the
- Mackie protocol is enabled, then double-click on it to open the
- Mackie Control setup dialog.
-</p>
-<p>
- Ensure that the device selected is "SSL Nucleus (via platform MIDI)". The dialog should
- show four combo/dropdown selectors, labelled (respectively):
-</p>
- <ul>
- <li><code>Main Surface receives via</code></li>
- <li><code>Main Surface sends via</code></li>
- <li><code>1st extender receives via</code></li>
- <li><code>1st extender sends via</code></li>
- </ul>
-<p>
- You should choose "ipMIDI port 1", "ipMIDI port 1", "ipMIDI port 2"
- and "ipMIDI port 2" for each of the 4 combo/dropdown selectors.
-</p>
-<p>
- Communication should be automatically established with the Nucleus.
-</p>
-<p>
- If this does not work, then make sure your network cables are
- properly connected, and that you are running the approprate ipMIDI
- driver and have configured it for 2 (or more) ports.
-</p>
-
-<h2><a name="design">Nucleus Design Discussion</a></h2>
-
-<p>
- You might be reading this part of the manual seeking some guidance
- on whether the Nucleus would make a suitable control surface for
- your workflows. We don't want to try to answer that question
- definitively, since the real answer depends on the very specific
- details of your workflow and situation, but we would like to point
- out a number of design features of the Nucleus that might change
- your opinion.
-</p>
-
-<h3>Cons</h3>
-<dl>
- <dt>No Master Faster</dt>
- <dd>It is not possible to control the level of the Master bus or
- Monitor section. Really don't know what SSL was thinking here.</dd>
- <dt>No dedicated rec-enable buttons</dt>
- <dd>You have to press the "Rec" button and convert the per-strip
- "Select" buttons into rec-enables</dd>
- <dt>No dedicated automation buttons</dt>
- <dd>You have to press the "Auto" button and convert the first 4
- vpots into 4 automation-related buttons, losing your current view
- of the session.</dd>
- <dt>No buttons with Mackie-defined "Marker" functionality</dt>
- <dd>Mackie's design intentions for the interoperation of the
- Marker, rewind and ffwd buttons requires profile editing in order
- to function properly.
- </dd>
- <dt>No "Dyn" button</dt>
- <dd>This is hard to assign in an edited profile. To be fair, other
- Mackie Control devices also lack this button.
- </dd>
-</dl>
-
-<h3>Pros</h3>
-<dl>
- <dt>Single cable connectivity</dt>
- <dd>No need for multiple MIDI cables to get 16 faders</dd>
- <dt>Broadcast connectivity</dt>
- <dd>Connecting to multiple computers does not require recabling</dd>
- <dt>16 faders from a single box</dt>
- <dd>No need to figure out how to keep extenders together</dd>
- <dt>Meters separated from displays</dt>
- <dd>Contrast with the Mackie Control Universal Pro, where meters
- interfere with the display
- </dd>
- <dt>DAW profiles</dt>
- <dd>Easy to flip profiles for use by different DAWs.</dd>
-</dl>
-
-
-<h3>Ambiguous</h3>
-<dl>
- <dt>Ability to make buttons generate USB keyboard events</dt>
- <dd>The extent to which this is useful reflects the target DAWs
- inability to manage all of its functionality via Mackie Control
- </dd>
- <dt>Sophisticated "profile" editing</dt>
- <dd>It is nice to be able to reassign the functionality of most
- buttons, but this is only necessary because of the relatively few
- global buttons on the surface.
- </dd>
- <dt>Builtin analog signal path</dt>
- <dd>SSL clearly expects users to route audio back from their
- computer via the Nucleus' own 2 channel output path, and maybe even
- use the input path as well. They take up a significant amount of
- surface space with the controls for this signal path, space that
- could have been used for a master fader or more Mackie Control
- buttons. The USB audio device requires a proprietary driver, so
- Linux users can't use this, and OS X/Windows users will have to
- install a device driver (very odd for a USB audio device these
- days). The analog path also no doubt adds notable cost to the
- Nucleus. There's nothing wrong with this feature for users that
- don't already have a working analog/digital signal path for their
- computers. But who is going to spend $5000 on a Nucleus that
- doesn't have this already?</dd>
-</dl>
-
----
-title: Mackie Control Setup on Linux
-part: subchapter
----
-
-<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="/setting-up-your-system/setting-up-midi/midi-on-linux">your Linux
- MIDI environment is setup</a>.
-</p>
-
----
-title: What to do if your Device is not Listed
-menu_title: Unlisted devices
-part: subchapter
----
-
-<p>
- All Mackie Control devices are based on the original Logic Control and the
- documentation in the user manual that came with it. The Mackie Control and
- the Mackie Control Pro and so on, all use this same protocol. Any units
- from other manufactures will also use the same encoding as best the
- hardware will allow. If the unit in use has more than one Mackie Control
- option, it is best to choose Logic Control or LC. Any Templates for the
- buttons should be chosen the same way as the Function key Editor uses these
- button names. The "Mackie Control" option should be considered default and
- should be tried with any unlisted device before attemping to create a
- custom definition file.
-</p>
-
----
-title: Working With Extenders
-menu_title: Working With Extenders
-part: subchapter
----
-
-<p>
- Extenders will require a custom file as there are no combinations listed
- at this time. The best way is to start with the mc.device file and copy it
- to a new name such as xt+mc.device and then edit that file. It is best to
- name the file with the order the devices are expected to be used in as
- the position of the master device is specified in this file.
-</p>
-
-<p>
- The two lines of interest are:
-<p>
-
-<pre>
- <Extenders value="0"/>
- <MasterPosition value="0"/>
-</pre>
-
-<p>
- Add these two lines if they are not present. The <code>Extenders</code>
- value is the number of extenders used and should not include the master in
- that number.
-</p>
-
-<p>
- When an <code>Extenders</code> value of greater than 0 is used, extra midi
- ports will appear for the extenders to be connected to. The MIDI ports
- for the controllers will be named <code>mackie control #1</code>,
- <code>mackie control #2</code> and up. The numbers will go from left to
- right. That is, from lowest number channel to highest.
-</p>
-
-<p>
- The <code>MasterPosition</code> value is the port number the master unit
- (with the master fader) is connected to. So if there are three surfaces,
- <code><MasterPosition value="1"/></code> will expect the master on
- the left, <code><MasterPosition value="2"/></code> would be master
- in the middle and <code><MasterPosition value="3"/></code> would be
- master on the right. So the position matches the port name.
-</p>
-
-<p class="note">
- The default value of <code><MasterPosition value="0"/></code> has
- the same effect as <code><MasterPosition value="1"/></code>.
-</p>
-
-<p>
- If the <code>MasterPosition</code> value does not properly match the
- physcal position and MIDI port, the master fader and global controls will
- not work. The master unit will act like an extender.
-</p>
-
----
-title: MIDI Binding Maps
-part: subchapter
----
-
-<p>
- 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>
- Currently (August 2016), we have presets for the following devices/modes:
-</p>
-
-<ul>
- <li>AKAI MPD-32</li>
- <li>AKAI MPK61</li>
- <li>AKAI MPKmini</li>
- <li>Behringer BCF2000</li>
- <li>Behringer BCF2000 (Mackie Emulation mode; better to use
- Ardour's actual Mackie Control Protocol support)</li>
- <li>Behringer DDX3216</li>
- <li>Korg nanoKONTROL (2 layouts)</li>
- <li>Korg nanoKONTROL 2 (2 layouts)</li>
- <li>Korg Taktile</li>
- <li>M-Audio Axiom 25 (2 layouts)</li>
- <li>M-Audio Axiom 61</li>
- <li>M-Audio Oxygen 49</li>
- <li>M-Audio Oxygen 61v3</li>
- <li>M-Audio Oxygen 25</li>
- <li>M-Audio Oxygen 8v2</li>
- <li>Novation Impulse 49</li>
- <li>Novation Impulse 61</li>
- <li>Novation LaunchControl XL</li>
- <li>Novation LaunchKey 25</li>
- <li>Roland SI-24</li>
- <li>Roland V Studio 20</li>
- <li>Yamaha KX25</li>
-</ul>
- At this time, new binding maps need to be created with a text editor.
-<p>
- MIDI binding maps are accessible by double-clicking <kbd class="menu">Edit
- > Preferences > Control Surfaces > 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>
- 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>
-<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>
-<pre>
-<?xml version="1.0" encoding="UTF-8"?>
-<ArdourMIDIBindings version="1.0.0" name="The name of this set of
-bindings">
-</ArdourMIDIBindings>
-</pre>
-<p>
- So, to start, create a file with that as the initial contents.
-</p>
-<p>
- On OS X, Ardour loads midi maps from its binary-bundle folder in
- <code>Ardour-<version>/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>
-
-<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.)
-</p>
-<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.
-</p>
-<h4>Binding to Track/Bus controls</h4>
-<p>
- A track/bus binding has one of two basic structures
-</p>
-<code>
- <Binding <em>msg specification</em> uri="<em>... control address ...</em>"/>
- <Binding <em>msg specification</em> function="<em>... function name ...</em>"/>
-</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>
-<code>
- <Binding channel="1" ctl="13" ....
-</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>
- As of Ardour 4.2, <code>enc-r</code>, <code>enc-l</code>, <code>enc-2</code> and
- <code>enc-b</code> 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. (
- <a href="/using-control-surfaces/midi-binding-maps/working-with-encoders/">
- Learn more about working with encoders
- </a>)
-</p>
-<p>
- You can also bind sysex messages:
-</p>
-<code>
- <Binding sysex="f0 0 0 e 9 0 5b f7" ....
- <Binding sysex="f0 7f 0 6 7 f7" ....
-</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>
-<code>
- <Binding msg="f0 0 0 e 9 0 5b f7" ....
- <Binding msg="80 60 40" ....
-</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>
-
-<p class="note">
- As of Ardour 4.6 it is possible to use multi-event MIDI strings such as
- two event CC messages, RPN or NRPN.
-</p>
-
-<p class="note">
- The <code>sysex=</code> and <code>msg=</code> bindings will only work with
- <code>function=</code> or <code>action=</code> control addresses. They
- will <em>not</em> work with the <code>uri=</code> control addresses.
- Controls used with <code>uri=</code> require a <em>Value</em> which is
- only available in a known place with channel mode MIDI events.
-</p>
-
-<h4>Control address</h4>
-<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>
-<dt>/route/trim</dt>
-<dd>the trim control for the track/bus (new in 4.1)</dd>
-<dt>/route/solo</dt>
-<dd>a toggleable control for solo (and listen) of the track/bus</dd>
-<dt>/route/mute</dt>
-<dd>a toggleable control to mute/unmute the track/bus</dd>
-<dt>/route/recenable</dt>
-<dd>a toggleable control to record-enable the track</dd>
-<dt>/route/panwidth</dt>
-<dd>interpreted by the track/bus panner, should control image "width"</dd>
-<dt>/route/pandirection</dt>
-<dd>interpreted by the track/bus panner, should control image "direction"</dd>
-<dt>/route/plugin/parameter</dt>
-<dd>the Mth parameter of the Nth plugin of a track/bus
-</dd>
-<dt>/route/send/gain</dt>
-<dd>the gain control ("fader") of the Nth send of a track/bus</dd>
-</dl>
-<p>Each of the specifications needs an address, which takes various forms too. For track-level controls (solo/gain/mute/recenable), the address is one the following:</p>
-<dl class="wide-table">
-<dt>a number, eg. "1"
-</dt>
-<dd>identifies a track or bus by its remote control ID
-</dd>
-<dt>B, followed by a number
-</dt>
-<dd>identifies a track or bus by its remote control ID within the current bank (see below for more on banks)
-</dd>
-<dt>one or more words
-</dt>
-<dd>identifies a track or bus by its name
-</dd>
-</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>
-<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.
-</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>
-<code>
- <Binding channel="1" note="13" function="transport-roll"/>
-</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>
-<code>transport-stop</code>
-</dt>
-<dd>stop the transport
-</dd>
-<dt>
-<code>transport-roll</code>
-</dt>
-<dd>start the transport "rolling"
-</dd>
-<dt>
-<code>transport-zero</code>
-</dt>
-<dd>move the playhead to the zero position
-</dd>
-<dt>
-<code>transport-start</code>
-</dt>
-<dd>move the playhead to the start marker
-</dd>
-<dt>
-<code>transport-end</code>
-</dt>
-<dd>move the playhead to the end marker
-</dd>
-<dt>
-<code>loop-toggle</code>
-</dt>
-<dd>turn on loop playback
-</dd>
-<dt>
-<code>rec-enable</code>
-</dt>
-<dd>enable the global record button
-</dd>
-<dt>
-<code>rec-disable</code>
-</dt>
-<dd>disable the global record button
-</dd>
-<dt>
-<code>next-bank</code>
-</dt>
-<dd>Move track/bus mapping to the next bank (see Banks below)
-</dd>
-<dt>
-<code>prev-bank</code>
-</dt>
-<dd>Move track/bus mapping to the previous bank (see Banks below)
-</dd>
-</dl>
-
-<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>
-<code>
-(gtk_accel_path "<Actions>/Editor/temporal-zoom-in" "equal")
-</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>
- <Binding msg="80 60 40" action="Editor/temporal-zoom-in"/>
-</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><Action></code> prefix of the second field in the
- keybinding definition.
-</p>
-
-<h3>Banks and Banking</h3>
-<p>
- Because many modern control surfaces offer per-track/bus controls
- for far fewer tracks & 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>
-<code>
- <DeviceInfo bank-size="8"/>
-</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>
-<?xml version="1.0" encoding="UTF-8"?>
-<ArdourMIDIBindings version="1.0.0" name="pc1600x transport controls">
- <DeviceInfo bank-size="16"/>
- <Binding channel="1" ctl="1" uri="/route/gain B1"/>
- <Binding channel="1" ctl="2" uri="/route/gain B2"/>
- <Binding channel="1" ctl="3" uri="/route/send/gain B1 1"/>
- <Binding channel="1" ctl="4" uri="/route/plugin/parameter B1 1 1"/>
- <Binding channel="1" ctl="6" uri="/bus/gain master"/>
-
- <Binding channel="1" note="1" uri="/route/solo B1"/>
- <Binding channel="1" note="2" uri="/route/solo B2" momentary="yes"/>
-
- <Binding channel="1" note="15" uri="/route/mute B1" momentary="yes"/>
- <Binding channel="1" note="16" uri="/route/mute B2" momentary="yes"/>
-
- <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"/>
- <Binding sysex="f0 0 0 e 9 0 53 0 0 f7" function="loop-toggle"/>
-
- <Binding channel="1" note="13" function="transport-roll"/>
- <Binding channel="1" note="14" function="transport-stop"/>
- <Binding channel="1" note="12" function="transport-start"/>
- <Binding channel="1" note="11" function="transport-zero"/>
- <Binding channel="1" note="10" function="transport-end"/>
-</ArdourMIDIBindings>
-</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).
-</p>
-
----
-title: Working With Encoders in Ardour
-menu_title: Working With Encoders
-part: subchapter
----
-
-<p>
- Encoders are showing up more frequently on controllers. However, they use
- the same MIDI events as Continuous Controllers and they have no standard
- way of sending that information as MIDI events. Ardour 4.2 has implemented
- 4 of the more common ways of sending encoder information.
-</p>
-<p>
- Encoders that send the same continuous values as a pot would are not
- discussed here as they are already supported by <code>ctl</code>.
-</p>
-<P>
- Encoders as this page talks about them send direction and offset that the
- DAW will add to or subtract from the current value.
-</p>
-<p>
- The 4 kinds of encoder supported are:
-</p>
-<ul>
-<li>
- enc-r: On the bcr/bcf2000 this is called "Relative Signed Bit". The most
- significant bit sets positive and the lower 6 signifcant bits are the
- offset.
-</li>
-<li>
- enc-l: The bcr2000 calls this "Relative Signed Bit 2". The most
- significant bit sets negative and the lower 6 signifcant bits are the
- offset. If you are using one of these two and the values are right but
- reversed, use the other. This one is the one the Mackie Control Protocol
- uses.
-</li>
-<li>
- enc-2: The bcr2000 calls this one "Relative 2s Complement". Positive
- offsets are sent as normal from 1 to 64 and negative offsets are sent as
- 2s complement negative numbers.
-</li>
-<li>
- enc-b: The bcr2000 calls this one "Relative Binary Offset". Positive
- offsets are sent as offset plus 64 and negative offsets are sent as 64
- minus offset.
-</li>
-</ul>
-<p>
- If the wrong one is chosen, either the positive or negative side will act
- incorrectly. It is not really possible to auto detect which one the
- controller is using. Trial and error is the only way if the specification
- of the controller is not known.
-</p>
-<p>
- Many controllers have more than one choice as well, check the manual for
- the surface.
-</p>
-
----
-title: MIDI Learn
-part: subchapter
----
-
-<h2>Philosophy</h2>
-
-<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.
-</p>
-
-<p>
- On every platform that Ardour runs on, there are excellent free-of-charge tools for making connections between MIDI hardware and "virtual" MIDI ports like the ones that Ardour creates and uses. Rather than waste precious developer time replicating these connection/patch managers, we prefer to leverage their existence by having users rely on them to actually connect Ardour to other MIDI devices and software. On OS X, we recommend Pete Yandell's MIDI Patchbay. On Linux, a wide variety of tools are available including QJackctl, aconnect, Patchage, and more.
-</p>
-
-<h2>Basics</h2>
-
-<ol>
- <li>Enable Generic MIDI control: <kbd class="menu">Edit > Preferences
- > Control Surfaces > Generic MIDI</kbd></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 <kbd class="menu">Session > Save Template</kbd>. Then, when creating new sessions, select that template and all the bindings will be automatically set up for you.
-</p>
-
----
-title: Using the Presonus Faderport
-menu_title: Presonus Faderport
-part: subchapter
----
-
-<p>
- Since version 4.5, Ardour has had full support for the Presonus
- Faderport. This is a compact control surface featuring a single
- motorized fader, a single knob (encoder) and 24 buttons with fixed
- labels. It is a relatively low-cost device that functions very well
- to control a single (selected) track or bus, along with a variety of
- other "global" settings and conditions.
-</p>
-
-<h2>Connecting the Faderport</h2>
-
-<p>
- The Faderport comes with a single USB socket on the back. Connect a
- suitable USB cable from there to a USB port on your computer. As of
- the end of 2015, you should avoid USB3 ports—these cause erratic
- behaviour with the device. This issue might get fixed by Presonus in
- the future.
-</p>
-
-<p class="well">
- Ardour uses the Faderport in what Presonus calls "native" mode. You
- do not need to do anything to enable this—Ardour will set the
- device to be in the correct mode. In native mode, the Faderport
- sends and receives ordinary MIDI messages to/from the host, and the
- host understands the intended meaning of these messages. We note
- this detail to avoid speculation about whether Ardour supports the
- device via the HUI protocol—it does not.
-</p>
-
-<p>
- The Faderport will be automatically recognized by your operating
- system, and will appear in any of the lists of possible MIDI ports
- in both Ardour and other similar software.
-</p>
-
-<p>
- To connect the Faderport to Ardour, open the Preferences dialog, and
- then click on "Control Surfaces". Click on the "Enable" button
- in the line that says "Faderport" in order to activate Ardour's
- Faderport support. Then double click on the line that says
- "Faderport". A new dialog will open, containing (among other things)
- two dropdown selectors that will allow you to identify the MIDI
- ports where your Faderport is connected.
-</p>
-
-<p>
-<img alt="the Faderport configuration dialog"
- src="/images/faderport_dialog.png">
-</p>
-
-<p>
- Once you select the input and output port, Ardour will initialize
- the Faderport and it will be ready to use. You only need do this
- once: once these ports are connected and your session has been
- saved, the connections will be made automatically in this and other
- future sessions.
-</p>
-
-<p>
- You do not need to use the power supply that comes with the
- Faderport but without it, the fader will not be motorized. This
- makes the overall experience of using the Faderport much less
- satisfactory, since the fader will not move when Ardour tells it
- to, leading to very out-of-sync conditions between the physical
- fader position and the "fader position" inside the program.
-</p>
-
-<h2>Using the Faderport</h2>
-
-<p>
- The Faderport's controls can be divided into three groups:
- <ol>
- <li>Global controls such as the transport buttons</li>
-
- <li>Controls which change the settings for particular track or
- bus</li>
-
- <li>Controls which alter which track or bus is modified by the
- per-track/bus controls.</li>
- </ol>
-</p>
-<p>
- Because the Faderport has only a single set of per-track controls,
- by default those controls operate on the first selected track or
- bus. If there is no selected track or bus, the controls will do
- nothing.
-</p>
-
-<h3>Transport Buttons</h3>
-<p>
- The transport buttons all work as you would expect.
- <dl>
- <dt>Rewind</dt>
- <dd>
- <p>
- When pressed on its own, starts the transport moving backwards. Successive presses
- speed up the "rewind" behaviour.
- </p>
- <p>
- If pressed while also holding the Stop button, the playhead will
- return to the zero position on the timeline.
- </p>
- <p>
- If pressed while also holding the Shift button, the playhead will
- move to the session start marker.
- </p>
- </dd>
- <dt>Fast Forward</dt>
- <dd>
- <p>
- When pressed on its own, starts the transport moving faster than normal. Successive presses
- speed up the "fast forward" behaviour.
- </p>
- <p>
- If pressed while also holding the Shift button, the playhead
- will move to the session end marker.
- </p>
- </dd>
- <dt>Stop</dt>
- <dd>
- Stops the transport. Also used in combination with the Rewind
- button to "return to zero".
- </dd>
- <dt>Play</dt>
- <dd>
- Starts the transport. If pressed while the transport is
- already rolling at normal speed, causes the playhead to jump to
- the start of the last "roll" and continue rolling ("Poor man's
- looping").
- </dd>
- <dt>Record Enable</dt>
- <dd>Toggles the global record enable setting
- </dd>
- </dl>
-</p>
-
-<h3>Other Global Controls</h3>
-<p>
- The Mix, Proj, Trns buttons do not obviously correspond any
- particular functions or operations in Ardour. We have therefore
- allowed users to choose from a carefully curated set of possible
- actions that seem related to the button labels in some clear
- way. This can be done via the Faderport configuration dialog
- accessed via <code>Preferences > Control Surfaces</code>. Each
- button has 3 possible actions associated with it:
- <ul>
- <li>Plain Press: action to be taken when the button is pressed on
- its own.</li>
- <li>Shift-Press: action to be taken when the button is pressed in
- conjunction with the Shift button.</li>
- <li>Long Press: action to be taken when the button is pressed on
- its own and held down for more than 0.5 seconds.</li>
- </ul>
- Click on the relevant drop-down selector to pick an action as you
- prefer.
-</p>
-<p>
- The User button also has no obvious mapping to specific Ardour
- functionality, so we allow users to choose from <em>any</em>
- possible GUI action. The menu for selecting the action is somewhat
- confusing and it can be hard to find what you're looking
- for. However, all possible actions are there, so keep looking!
-<p>
- <dl>
- <dt>Mix</dt>
- <dd>
- <p>
- Possible actions include:
- <ul>
- <li>Toggle Editor & Mixer visibility</li>
- <li>Show/Hide the Editor mixer strip</li>
- </ul>
- </p>
- </dd>
- <dt>Proj</dt>
- <dd>
- <p>
- Possible actions include:
- <ul>
- <li>Toggle Meterbridge visibility</li>
- <li>Toggle Session Summary visibility</li>
- <li>Toggle Editor Lists visibility</li>
- <li>Zoom to session</li>
- <li>Zoom in</li>
- <li>Zoom out</li>
- </ul>
- </p>
- </dd>
- <dt>Trns</dt>
- <dd>
- <p>
- Possible actions include:
- <ul>
- <li>Toggle Locations window visibility</li>
- <li>Toggle Metronome</li>
- <li>Toggle external sync</li>
- <li>Set Playhead at current pointer position</li>
- </ul>
- </p>
- </dd>
- <dt>Undo/Redo</dt>
- <dd>
- Undo Causes the last operation carried out in the editor to be
- undone. When pressed in conjuction with the Shift button, it
- causes the most recent undone operation to be re-done.
- </dd>
- <dt>Punch</dt>
- <dd>
- <p>
- When pressed on its own, toggles punch recording. If there is no
- punch range set for the session, this will do nothing.
- </p>
- <p>
- When pressed in conjunction with the Shift button, this moves
- the playhead to the previous Marker
- </p>
- </dd>
- <dt>User</dt>
- <dd>
- <p>
- See above. Any and all GUI-initiated actions can be driven with
- by pressing this button on its own, or with a "long" press.
- </p>
- <p>
- When pressed in conjunction with the Shift button, this will move
- the playhead to the next marker.
- </p>
- </dd>
- <dt>Loop</dt>
- <dd>
- <p>
- When pressed on its own, this toggles loop playback. If the
- Ardour preference "Loop-is-mode" is enabled, this does nothing
- to the current transport state. If that preference is disabled,
- then engaging loop playback will also start the transport.
- </p>
- <p>
- When pressed in conjunction with the Shift button, this will
- create a new (unnamed) marker at the current playhead
- position.
- </p>
- </dd>
- </dl>
-</p>
-
-<h3>Per-track Controls</h3>
-<p>
- <dl>
- <dt>Mute</dt>
- <dd>
- This toggles the mute setting of the currently controlled
- track/bus. The button will be lit if the track/bus is muted.
- </dd>
- <dt>Solo</dt>
- <dd>
- This toggles the solo (or listen) setting of the currently
- controlled track/bus. The button will be lit if the track/bus is
- soloed (or set to listen mode).
- </dd>
- <dt>Rec</dt>
- <dd>
- This toggles the record-enabled setting of the currently
- controlled track/bus. The button will be lit if the track is
- record-enabled. This button will do nothing if the Faderport is
- controlling a bus.
- </dd>
- <dt>Fader</dt>
- <dd>
- The fader controls the gain applied to the currently controlled
- track/bus. If the Faderport is powered, changing the gain in
- Ardour's GUI or via another control surface, or via automation,
- will result in the fader moving under its own control.
- </dd>
- <dt>Knob/Dial/Encoder</dt>
- <dd>
- <p>
- The knob controls 1 or 2 pan settings for the current
- controlled track/bus. When used alone, turning the knob controls
- the "azimuth" or "direction" (between left and right) for the
- panner in the track/bus (if any). This is all you need when
- controlling tracks/busses with 1 input and 2 outputs.
- </p>
- <p>
- If controlling a 2 input/2 output track/bus, Ardour's panner
- has two controls: azimuth (direction) and width. The width
- must be reduced to less than 100% before the azimuth can be
- changed. Pressing the "Shift" button while turning the knob
- will alter the width setting.
- </p>
- <p>
- The knob can also be turned while the "User" button is held,
- in order to modify the input gain for the currently controlled
- track.
- </p>
- </dd>
- <dt>Read</dt>
- <dd>
- Enables playback/use of fader automation data by the controlled track/bus.
- </dd>
- <dt>Write</dt>
- <dd>
- Puts the fader for the controlled track/bus into automation
- write mode. While the transport is rolling, all fader changes
- will be recorded to the fader automation lane for the relevant track/bus.
- </dd>
- <dt>Touch</dt>
- <dd>
- Puts the fader for the controlled track/bus into automation
- touch mode. While the transport is rolling, touching the fader
- will initiate recording all fader changes until the fader is
- released. When the fader is not being touched, existing
- automation data will be played/used to control the gain level.
- </dd>
- <dt>Off</dt>
- <dd>
- This disables all automation modes for the currently controlled
- track/bus. Existing automation data will be left unmodified by
- any fader changes, and will not be used for controlling gain.
- </dd>
- </dl>
-</p>
-
-<h3>Track Selection Controls</h3>
-<p>
- You can manually change the track/bus controlled by the Faderport by
- changing the selected track in Ardour's editor window. If you select
- more than 1 track, the Faderport will control the first selected
- track and <em>only</em> that track/bus.
-</p>
-<p>
- <dl>
- <dt>Left (arrow)</dt>
- <dd>
- This causes the Ardour GUI to select the previous track/bus
- (using the current visual order in the editor window), which
- will in turn cause the Faderport to control that track. If there
- is no previous track/bus, the selected track/bus is left
- unchanged, and the Faderport continues to control it.
- </dd>
- <dt>Right (arrow)</dt>
- <dd>
- This causes the Ardour GUI to select the next track/bus
- (using the current visual order in the editor window), which
- will in turn cause the Faderport to control that track. If there
- is no next track/bus, the selected track/bus is left
- unchanged, and the Faderport continues to control it.
- </dd>
- <dt>Output</dt>
- <dd>
- <p>
- Pressing the Output button causes the Faderport to control
- the fader, pan, mute and solo settings of the Master bus. If
- your session does not contain a Master bus, it does nothing.
- This is a toggle button—pressing it again returns Faderport
- to controlling whichever track/bus was selected before the
- first press of the Output button.
- </p>
- <p>
- If your session uses Ardour's monitor section, you can use
- Shift-Output to assign it to the Faderport in the same way
- that Output assigns the Master bus. This is also a toggle
- setting, so the second Shift-Output will return the Faderport
- to controlling whichever track/bus was selected before.
- </p>
- <p>
- If you press Shift-Output after a single press to Output
- (i.e. control the Monitor Section while currently controlling
- the Master bus) or vice versa (i.e. control the Master bus
- while currently controlling the Monitor Section), the press
- will be ignored. This avoids getting into a tricky situation
- where it is no longer apparent what is being controlled and
- what will happen if you try to change it.
- </p>
- </dd>
- <dt>Bank</dt>
- <dd>
- The "Bank" button is currently not used by Ardour
- </dd>
- </dl>
-</p>
-
----
-title: Using the Ableton Push 2
-menu_title: Ableton Push 2
-part: subchapter
----
-
-<p>
- <img alt="the Ableton Push 2 surface" src="/images/push2-main.jpg">
-</p>
-
-<p>
- Since version 5.4, Ardour has had extensive support for the Ableton
- Push2. This is an expensive but beautifully engineered control
- surface primarily targetting the workflow found in Ableton's Live
- software and other similar tools such as Bitwig. As of version 5.4, Ardour
- does not offer the same kind of workflow, so we have designed our support for the
- Push 2 to be used for mixing and editing and musical performance,
- without the clip/scene oriented approach in Live. This may change in
- future versions of Ardour.
-</p>
-
-<h2>Connecting the Push 2</h2>
-
-<p>
- Plug the USB cable from the Push 2 into a USB2 or USB3 port on your
- computer. For brighter backlighting, also plug in the power supply
- (this is not necessary for use).
-</p>
-
-<p>
- The Push 2 will be automatically recognized by your operating
- system, and will appear in any of the lists of possible MIDI ports
- in both Ardour and other similar software.
-</p>
-
-<p>
- To connect the Push 2 to Ardour, open the Preferences dialog, and
- then click on "Control Surfaces". Click on the "Enable" button
- in the line that says "Ableton Push 2" in order to activate Ardour's
- Push 2 support.
-</p>
-
-<p>
- Once you select the input and output port, Ardour will initialize
- the Push 2 and it will be ready to use. You only need do this
- once: once these ports are connected and your session has been
- saved, the connections will be made automatically in this and other
- future sessions.
-</p>
-
-<h2>Push 2 Configuration</h2>
-
-<p>
- The only configuration option at this time is whether the pads send
- aftertouch or polyphonic pressure messages. You can alter this
- setting via the Push 2 GUI, accessed by double-clicking on the "Push
- 2" entry in the control surfaces list.
-<p>
-
-<img alt="the Push 2 configuration dialog"
- src="/images/push2-gui.png">
-</p>
-
-<h2>Basic Concepts</h2>
-
-<p>
- With the Push 2 support in Ardour 5.4, you can do the following
- things:
- <dl>
- <dt>Perform using the 8 x 8 pad "grid"</dt>
- <dd>The Push 2 has really lovely pressure-sensitive pads that can
- also generate either aftertouch or note (polyphonic) pressure.</dd>
- <dt>Global Mixing</dt>
- <dd>See many tracks at once, and control numerous parameters for each.</dd>
- <dt>Track/Bus Mixing</dt>
- <dd>View a single track/bus, with even more parameters for the track.</dd>
- <dt>Choose the mode/scale, root note and more for the pads</dt>
- <dd>37 scales are available. Like Live, Ardour offers both
- "in-key" and "chromatic" pad layouts.</dd>
- </dl>
-
- … plus a variety of tasks related to transport control, selection,
- import, click track control and more.
-</p>
-
-<h2>Musical Performance</h2>
-
-<p>
- Messages sent from the 8x8 pad grid and the "pitch bend bar" are
- routed to a special MIDI port within Ardour called "Push 2 Pads"
- (no extra latency is incurred from this routing). Although you can
- manually connect this port to whatever you wish, the normal
- behaviour of Ardour's Push 2 support is to connect the pads to the
- most recently selected MIDI track.
-</p>
-
-<p>
- This means that to play a soft-synth/instrument plugin in a given
- MIDI track with the Push 2, you just need to select that track.
-</p>
-
-<p>
- If multiple MIDI tracks are selected at once, the first selected
- track will be used. Note that messages originating from all other
- controls on the Push 2 will <em>not</em> not be delivered to the
- "Push 2 Pads" port. This makes no difference in practice, because
- the other controls do not send messages that are useful for musical
- performance.
-</p>
-
-<h2>Global Mix</h2>
-
-<p>
- This is the default mode that Ardour will start the Push 2 in. In
- this mode, the 8 knobs at the top of the device, the 8 buttons below
- them, the video display and the 8 buttons below that are combined to
- provide a global view of the session mix.
-</p>
-
-<p>
- <img alt="global mix mode on Push2 screen"
- src="/images/push2-globalmix.png">
-</p>
-
-<p>
- The upper buttons are labelled by text in the video display just
- below them. Pressing one of the buttons changes the function of the
- knobs, and the parameters that will shown for each track/bus in the
- display.
-</p>
-
-<p>
- As of Ardour 5.4, the possible parameters are:
- <dl>
- <dt>Volumes</dt>
- <dd>The display shows a knob and text displaying
- the current gain setting for the track, and a meter that
- corresponds precisely to the meter shown in the Ardour GUI for
- that track. Changing the meter type (e.g. from Peak to K12) in the
- GUI will also change it in the Push 2 display. The physical knob
- will alter track/bus gain.
- </dd>
- <dt>Pans</dt>
- <dd>The display shows a knob indicating the pan direction/azimuth
- for the corresponding track/bus. Turning the physical knob will
- pan the track left and right. If the track/bus has no panner
- (i.e. it has only a single output), no knob is shown and the
- physical knob will do nothing. </dd>
- <dt>Pan Widths</dt>
- <dd><p>For tracks with 2 outputs, the display will show a knob
- indicating the pan width setting for the corresponding
- track/bus. The physical knob can be turned to adjust the
- width.
- </p>
-
- <p>
- Unlike many DAWs, Ardour's stereo panners have "width"
- parameter that defaults to 100%. You cannot change the pan
- direction/azimuth of a track with 100% width, but must first
- reduce the width in order to pan it. Similarly, a track panned
- anywhere other than dead center has limits on the maximum
- width setting. If these concepts are not familiar to you,
- please be aware than many DAWs use a "panner" that actually
- implement "balance" and not "panning", hence the difference.
- </p>
- </dd>
- <dt>A Sends</dt>
- <dd>The display shows a knob indicating the gain level for the
- first send in that track. If the track has no send, no knob will
- be shown, and the physical knob for that track will do nothing.
- </dd>
- <dt>B Sends, C Sends, D Sends</dt>
- <dd>Like "A Sends", but for the 2nd, 3rd and 4th sends of a
- track/bus respectively.
- </dd>
- </dl>
-</p>
-
-<p>
- To change which tracks are shown while in global mix mode, use the
- left and right arrow/cursor keys just below and to the right of the
- display. Tracks and busses that are hidden in Ardour's GUI will also
- be hidden from display on the Push 2.
-</p>
-
-<p>
- To select a track/bus directly from the Push 2, press the
- corresponding button below the display. The track name will be
- highlighted, and the selection will change in Ardour's GUI as well
- (and also any other control surfaces).
-</p>
-
-<h3>Soloing and Muting in Global Mix mode</h3>
-
-<p>
- The Solo and Mute buttons to the left of the video display can be
- used to solo and mute tracks while in Global Mix mode. The operation
- will be applied to the <em>first</em> currently selected
- track(s).
-</p>
-
-<p>
- There are two indications that one or more tracks are soloed:
- <ol>
- <li>The solo button will blink red</li>
- <li>Track names will be prefixed by "*" if they are soloed, and
- "-" if they are muted due to soloing.</li>
- </ol>
-</p>
-
-<p>
- To cancel solo, either:
- <ul>
- <li>Select the soloed track(s) and press the solo button
- again</li>
- <li>Press and hold the solo button for more than 1 second</li>
- </ul>
-</p>
-
-<h2>Track Mix</h2>
-
-<p>Track Mix mode allows you to focus on a single track in more detail
- than is possible in Global Mix mode. To enter (or leave) Track Mix
- mode, press the "Mix" button.
-</p>
-
-<p>
- In Track Mix mode, various aspects of the state of the first
- selected track/bus will be displayed on the Push 2. Above the
- display, the first 4 knobs control track volume (gain), pan
- directiom/azimuth, pan width, and where appropriate, track input
- trim.
-</p>
-
-<p>
- Below the display, 7 buttons provide immediate control of mute,
- solo, rec-enable, monitoring (input or disk or automatic), solo
- isolate and solo safe state. When a a track is muted due to other
- track(s) soloing, the mute button will flash (to differentiate from
- its state when it is explicitly muted).
-</p>
-
-<p>
- The video display also shows meters for the track, which as in
- Global Mix mode, precisely match the meter type shown in Ardour's
- GUI. There are also two time displays showing the current playhead
- position in both musical (beats|bars|ticks) format, and as
- hours:minutes:seconds.
-</p>
-
-<p>
- To change which track is visible in Track Mix mode, use the
- left/right arrow/cursor keys just below and to the right of the
- video display.
-</p>
-
-<h2>Scale Selection</h2>
-
-<p>
- Press the Scale button to enter Scale mode. The display will look
- like this:
-</p>
-
-<p>
- <img alt="track mix mode on Push2 screen"
- src="/images/push2-scale.png">
-</p>
-
-<p>
- In the center, 37 scales are presented. Scroll through them by
- either using the cursor/arrow keys to the lower right of the
- display, or the knobs above the display. The scale will change
- dynamically as you scroll. You can also scroll in whole pages using
- the upper right and upper left buttons above the display (they will
- display "<" and ">" if scrolling is possible).
-</p>
-
-<p>
- To change the root note of the scale, press the corresponding button
- above or below the video display.The button will be lit to indicate
- your selection (and the text will be highlighted).
-</p>
-
-<p>
- By default, Ardour configures the Push 2 pads to use "in-key" mode,
- where all pads correspond to notes "in" the chosen scale. Notes
- corresponding to the root note, or the equivalent note in higher
- octaves, are highlighted with the color of the current target MIDI
- track.
-</p>
-
-<p>
- In
- "chromatic" mode, the pads correspond to a continuous sequence of
- notes starting with your selected root note. Pads corresponding to
- notes in the scale are illuminated; those corresponding to the root
- note are lit with the color the current target MIDI track. Other
- pads are left dark, but you can still play them.
-</p>
-
-<p>
- To switch between them, press button on the lower left of the video
- display; the text above it will display the current mode (though it
- is usually visually self-evident from the pad lighting pattern).
-</p>
-
-<p>
- To leave Scale mode, press the "Scale" button again. You may also
- use the upper left button above the display, though if you have
- scrolled left, it may require more than one press.
-</p>
-
-<h2>Specific Button/Knob Functions</h2>
-
-<p>
- In addition to the layouts described above, many (but not all) of
- the buttons and knobs around the edges of the Push 2 will carry out
- various functions related to their (illuminated) label. As of Ardour
- 5.4, this includes:
- <dl>
- <dt>Metronome (button and adjacent knob)</dt>
- <dd>
- Enables/disables the click (metronome). The knob directly above
- it will control the volume (gain) of the click.
- </dd>
- <dt>Undo/Redo</dt>
- <dd>
- Undo or redo the previous editing operation.
- </dd>
- <dt>Delete</dt>
- <dd>
- Deletes the currently selected region, or range, or
- note. Equivalent to using Ctrl/Cmd-x on the keyboard.
- </dd>
- <dt>Quantize</dt>
- <dd>
- If a MIDI region is selected in Ardour, this will open the
- quantize dialog.
- </dd>
- <dt>Duplicate</dt>
- <dd>
- Duplicates the current region or range selection.
- </dd>
- <dt>Rec-Enable</dt>
- <dd>
- Enables and disables Ardour's global record enable state.
- </dd>
- <dt>Play</dt>
- <dd>
- Starts and stops the transport. Press Shift-Play to return to the session start.
- </dd>
- <dt>Add Track</dt>
- <dd>
- Opens Ardour's Add Track/Bus dialog.
- </dd>
- <dt>Browse</dt>
- <dd>
- Open's Ardour's import dialog to select and audition existing
- audio and MIDI files.
- </dd>
- <dt>Master</dt>
- <dd>
- Pressing this button jumps directly to Track Mix mode, with the
- master out bus displayed.
- </dd>
- <dt>Cursor arrows</dt>
- <dd>
- These are used by some modes to navigate within the display (e.g
- Scale mode). In other modes, the up/down cursor arrows will
- scroll the GUI display up and down, while the left/right cursor
- arrows will generally scroll within the Push 2 display itself.
- </dd>
- <dt>Repeat</dt>
- <dd>
- Enables/disables loop playback. This will follow Ardour's "loop
- is mode" preference, just like the loop button in the Ardour
- GUI.
- </dd>
- <dt>Octave buttons</dt>
- <dd>
- These shift the root note of the current pad scale up or down by
- 1 octave.
- </dd>
- <dt>Page buttons</dt>
- <dd>
- These scroll Ardour's editor display left and right along the
- timeline.
- </dd>
- <dt>Master (top right) knob</dt>
- <dd>
- This knob controls the gain/volume of Ardour's main output. If
- the session has a monitor saec
- </dd>
- </dl>
-</p>
-
-
----
-title: Configuring MIDI
-part: chapter
----
-
-
----
-title: Using External MIDI Devices
-part: subchapter
----
-
-<p class="fixme">Add content</p>
-
-
----
-title: Setting Up MIDI
-part: subchapter
----
-
-<h2>What Can Ardour Do With MIDI?</h2>
-<p>
- <dfn><abbr title="Musical Instrument Digital
- Interface">MIDI</abbr></dfn> is a way to describe musical
- performances and to control music hardware and software.
-</p>
-<p>Ardour can import and record MIDI data, and perform a variety of
- editing operations on it. Furthermore, MIDI can be used to control
- various functions of Ardour.
-</p>
-
-<h2>MIDI Handling Frameworks</h2>
-<p>
- MIDI input and output for Ardour are handled by the same "engine"
- that handles audio input and output. Up to release 3.5, that means
- that all MIDI I/O takes place via JACK. JACK itself uses the
- native MIDI support of the operating system to receive and send
- MIDI data. The native MIDI support provides device drivers for MIDI
- hardware and libraries needed by software applications that want to
- work with MIDI.
-</p>
-
-<dl>
-<dt>OS X</dt>
-<dd> <dfn>CoreMIDI</dfn> is the standard MIDI framework on OSX systems.
-</dd>
-<dt>Linux</dt>
-<dd>
- <dfn><abbr title="Advanced Linux Sound API">ALSA</abbr> MIDI</dfn>
- is the standard MIDI framework on Linux systems.
-</dd>
-</dl>
-
-<p class="note">
- On Linux systems, <dfn>QJackCtl</dfn> control software displays ALSA MIDI
- ports under its "ALSA" tab (it does not currently display CoreMIDI
- ports). By contrast, JACK MIDI ports show up under
- the <kbd class="menu">MIDI</kbd> tab in QJackCtl.
-</p>
-
-<h2>JACK MIDI Configuration</h2>
-<p>
-By default, JACK will <strong>not</strong> automatically detect and use existing MIDI
-ports on your system. You must choose one of several ways
-of <dfn>bridging</dfn> between the native MIDI frameworks
-(e.g. CoreMIDI or ALSA) and JACK MIDI, as described in the sections
-below.
-</p>
-
----
-title: MIDI on Linux
-part: subchapter
----
-
-<p>The right approach for using MIDI on Linux depends on which version of
-JACK you use. The world divides into:</p>
-
-<dl>
-<dt>Systems using JACK 1, versions 0.124 or later</dt>
-<dd>On these systems, just start JACK with the <code>-X alsa_midi</code> server argument. To support legacy control applications, you can also use the <code>-X seq</code> argument to the ALSA backend of JACK and get the exact same results.</dd>
-<dt>All others</dt>
-<dd>Use a2jmidid to act as a bridge between ALSA MIDI and JACK. Do not use the <code>-X seq</code> or <code>-X raw</code> arguments—the timing and performance of these options is not acceptable.
-</dd>
-</dl>
-
-<h2>a2jmidid</h2>
-
-<p>
- <dfn>a2jmidid</dfn> is an application that bridges between the system
- <abbr title="Musical Instrument Digital Interface">MIDI</abbr> ports and
- <abbr title="JACK Audio Connection Kit">JACK</abbr>.
-</p>
-
-<p>
- First you should make sure that there is no ALSA sequencer support enabled
- in JACK. To do that open QJackCtl's <kbd class="menu">Setup</kbd> window.
-</p>
-
-<p>
- Set <kbd class="menu">Settings > MIDI Driver</kbd> to <kbd
- class="input">none</kbd>.
- Then uncheck the <kbd class="optoff">Misc > Enable ALSA Sequencer
- support</kbd> option.<br />
- Now it's time to restart your jack server before going on.
-</p>
-
-<h3>Check for a2jmidid availability</h3>
-
-<p>
- First, check whether a2jmidid is already installed in your system. After
- starting your JACK server, go to the command line and type
-</p>
-
-<kbd class="cmd lin">a2jmidid -e</kbd>
-
-<p>
- If a2jmidid does not exist, install it with the software manager of your
- Linux distribution and try again.
-</p>
-
-<h2>Check available MIDI ports</h2>
-
-<p>
- If you have correctly configured JACK for MIDI, then your MIDI ports should appear in
- qjackctl under <kbd class="menu">Connections > MIDI </kbd>.
-</p>
-
-<h3>Making it automatic</h3>
-
-<p>
-Once you've verified that the ports appear in JACK as expected, you
-can make this happen whenever you start JACK.
-</p>
-
-<p>If you use a newer version of JACK 1, just make sure the -X
-alsa_midi or -X seq options are enabled for whatever technique you use
-to start JACK.
-</p>
-
-<p>
-For other versions of JACK,
-add <kbd class="input">a2jmidid -e &</kbd> as an "after start-up" script
-in the <kbd class="menu">Setup > Options</kbd> tab of QJackCtl, so
-that it is started automatically whenever you start JACK.
-</p>
-
-<p class="fixme">Is this true anymore in Ardour 5? This section may have been relevant in Ardour 3, but it might not be relevant anymore.</p>
-
----
-title: MIDI on OS X
-part: subchapter
----
-
-<p>
- In order for CoreMIDI to work with Jack MIDI, a CoreMIDI-to-JACK-MIDI
- <dfn>bridge</dfn>
- is required. This feature is available on versions equal to or great than
- version 0.89 of JackOSX.
-</p>
-
-<h2>Routing MIDI</h2>
-
-<h3>Inside Ardour</h3>
-
-<p>
- MIDI ports show up in Ardour's MIDI connection matrix in multiple
- locations. Bridged CoreMIDI ports as well as JACK MIDI ports that have
- been created by other software clients will show up under the "Other" tab.
- Bridged CoreMIDI hardware ports show up under the "Hardware" tab.
-</p>
-
-<h3>External Applications</h3>
-
-<p>
- There are multiple options for connecting MIDI ports outside of Ardour.
-</p>
-
-<ul>
- <li><a href="http://www.snoize.com/MIDIMonitor/">MIDI Monitor</a> is a handy
- tool for doing various MIDI-related tasks.</li>
- <li><a href="http://notahat.com/midi_patchbay">MIDI Patchbay</a> lets you
- connect ports and filters MIDI data.</li>
-</ul>
-
-
-
-
----
-title: Ardour's Interface
-part: part
----
-
-
----
-title: About Ardour's Interface
-part: chapter
----
-
-<p>
- In Ardour, you work in two main windows: the <dfn>Editor</dfn> and the
- <dfn>Mixer</dfn>.
-</p>
-<figure>
- <img src="/images/editor_split.png" alt="Ardour's mixer window">
- <img src="/images/mixer_split.png" alt="Ardour's editor window">
- <figcaption>
- <ol class="multicol4">
- <li>Main menu</li>
- <li>Status bar</li>
- <li>Transport bar & Times</li>
-</ol><ol class="multicol4" start="4">
- <li>Mode switch</li>
- <li>The <dfn>Editor</dfn> window</li>
- <li>a track's mixer strip</li>
-</ol><ol class="multicol4" start="7">
- <li>Editors List</li>
- <li>The <dfn>Mixer</dfn> window</li>
- <li>Favorite plugins</li>
-</ol><ol class="multicol4" start="10">
- <li>Strips list</li>
- <li>Group list</li>
- <li>Master strip</li>
- </ol>
- </figcaption>
-</figure>
-<p>
- To switch between those windows, use the buttons (#4 Mode switch in the upper right),
- the shortcut <kbd class="mod2">M</kbd>, or the menu
- <kbd class="menu">Window > Editor <em>(or Mixer)</em> > Show</kbd>.
- Both windows can be visible at the same time (eg. for a multi-monitor
- setup) using <kbd class="menu">Detach</kbd> in the same menu.</p>
-