From: Shamus Hammons
+ 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 around mixing and editing and musical + performance, without the clip/scene oriented approach in Live. This + may change in future versions of Ardour. +
+ ++ 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). +
++ 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. +
++ 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. +
++ 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. +
+ ++ 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. +
+ +
+ ++ With the Push 2 support in Ardour 5.4, you can do the following + things: +
+ 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. +
++ 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. +
++ 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 not 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. +
+ ++ 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. +
++ +
++ 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. +
++ As of Ardour 5.4, the possible parameters are: +
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. +
++ 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. +
++ 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. +
++ 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). +
+ ++ 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 first currently selected + track(s). +
++ There are two indications that one or more tracks are soloed: +
+ To cancel solo, either: +
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. +
++ +
++ 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. +
++ 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). +
++ 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. +
++ 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. +
+ ++ Press the Scale button to enter Scale mode. The display will look + like this: +
++ +
++ 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). +
++ 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). +
++ 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. +
++ 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. +
++ 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). +
++ 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. +
+ ++ 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: +
+ +
++ 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. +
++ +
+ ++ 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 EG + 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. +
+
+ Encoder #1 sets the operating mode and should be set to U-1 or
+ USB mode 1 if using with a USB cable connection.
+
+ Encoder #3 sets the foot switch mode and should most likely be set to
+ Auto to detect how the foot switch is wired.
+
+ Encoder #5 sets the device id, if you are using only 1 device the id
+ should be set to ID 1. If you are using multiple BCF/BCR2000 each
+ device is required to be set up sequentially and one at a time.
+
+ Encoder #7 controls the MIDI Dead Time or the amount of milliseconds
+ after a move has been made that the device ignores further changes, this
+ should be set to 100.
+
+ Encoder #8 controls the MIDI message Send Interval in milliseconds
+ and should be set to 10
+
+ To exit the EG mode press the Exit button. The device is now + ready to use with Ardour. +
+ ++ +
++ 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. +
++The surface can be broken into 8 groups of controls. +
+ ++ +
++ 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. +
++ +
++ 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. +
++ +
++ The operations of various buttons change while holding down the Shift 1 button +
++ +
++ The operations of various buttons change while holding down the Shift 2 button +
++ +
++ FIX ME +
\ No newline at end of file diff --git a/include/calculating-feedback-and-strip-types-values.html b/include/calculating-feedback-and-strip-types-values.html new file mode 100644 index 0000000..91a9b70 --- /dev/null +++ b/include/calculating-feedback-and-strip-types-values.html @@ -0,0 +1,143 @@ +--- +layout: default +title: OSC: Feedback and Strip-types Values +--- + +/set_surface has two values the user needs to calculate before + use. In general these will not be calculated at run time, but + beforehand. There may be more than one button with different values + to turn various kinds of feedback on or off or to determine which + kinds of strips are currently viewed/controlled. +
+Both ,feedback and strip-types use bitsets to keep + track what they are doing. Any number in a computer is made out of + bits that are on or off, but we represent them as normal base 10 + numbers. Any one bit turned on will add a unique value to the + number as a whole. So for each kind of feedback or strip type + to be used, that number should be added to the total.
++ strip_types is an integer made up of bits. The easy way to + deal with this is to think of strip_types items being worth a number and + then adding all those numbers together for a value to send. + Strip Types will determine What kind of strips will be included in + bank. This would include: Audio, MIDI, busses, VCAs, Master, Monitor + and hidden or selected strips. +
++ Selected and Hidden bits are normally not needed as Ardour defaults to + showing Selected strips and not showing Hidden strips. The purpose of + these two flags is to allow showing only Selected strips or only + Hidden strips. Using Hidden with other flags will allow Hidden strips + to show inline with other strips. +
++ Some handy numbers to use might be: 15 (all tracks and buses), 31 + (add VCAs to that). Master or Monitor strips are generally not useful + on a surface that has dedicated controls for these strips as there are + /master* and /monitor* commands already. However, on a surface with + just a bank of fader strips, adding master or monitor would allow + access to them within the banks. Selected would be useful for working + on a group or a set of user selected strips. Hidden shows strips the + GUI has hidden. +
++ Audio Aux? say what? I am sure most people will have noticed that they + can find no Aux strips in the Ardour mixer. There are none. + There are buses that can be used a number of ways. From analog days, + in OSC, a bus is something that gets used as a sub mix before ending up + going to Master. An auxiliary bus is used like a separate mixer and + it's output goes outside the program or computer to be used as: + a monitor mix, a back up recording, or what have you. In OSC where + controller strips may be limited, it may be useful not to use up a + strip for an aux that is not really a part of the mix. It is also + useful to get a list of only aux buses if the control surface is a + phone used to provide talent monitor mix control on stage. Each + performer would be able to mix their own monitor. The user is free + to enable both buses and auxes if they would prefer. +
+ +Feedback is an integer made up of bits. The easy way to + deal with this is to think of feedback items being worth a number and + then adding all those numbers together for a value to send. +
++ So using a value of 19 would turn on feedback for strip and master + controls, but leave meters, timecode and bar/beat feedback off. +
diff --git a/include/controlling-ardour-with-osc.html b/include/controlling-ardour-with-osc.html index edf802a..194960f 100644 --- a/include/controlling-ardour-with-osc.html +++ b/include/controlling-ardour-with-osc.html @@ -1,1280 +1,12 @@ --- +layout: default title: Controlling Ardour with OSC ---- OSC 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, + OSC 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).
-- Note: OSC control has changed dramatically since Ardour 4.7. - The Path structure has been completely redone, Banking has been introduced, - The controller is now able to tell Ardour what kind of feedback it can - work with (including bank size) and two new math styles have been added - to gain controls. If you are using an Ardour version of 4.7 or less, - please read - Osc control in ardour 4.7 and prior. -
- -- 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, particularly the "Actions" part below, since this relates to the - GTK GUI for Ardour rather than the backend. -
- -
- OSC support is not enabled by default, but can be turned on via
- Edit > Preferences > Control Surfaces.
- 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 <Config>
section:
-
- Ardour sends any feedback to the port and address that sent any - feedback request. The port does not have to match Ardour's port. In - fact it is better not to. This means that Ardour can deal with more - than one controller at a time. The two controllers can bank - independently and even use different math for faders. This could be - used to allow talent to adjust their own monitor mix using a tablet - or phone that can run an OSC controller. For a full explanation of - how Ardour's feedback works please read - OSC feedback In Ardour. -
- -- Control surface set up allows the controller to tell Ardour about it's - capabilities. The surface can tell Ardour how many control strips it - has for banking, if it is capable of setting it's faders or buttons - to values set by Ardour's GUI or automation, What kind of math the - faders use and more. -
- -- Any time the /set_surface command is sent, the current bank - is recalculated and if feedback is turned on, the values of each - strip's controls are sent (or refreshed) as well. This will also - refresh the Master feedback setup. -
- -- Surface Port Setting is available in the OSC GUI. -
- -- As of Ardour 5.1, There is now a GUI setup in response to those using - tablets with applications such as touchOSC or AndrOSC who need to be - able to set a port for Ardour to send to. It can also change the - default setting for set_surface. For more information about Ardour's - OSC configuration GUI please read - Ardour's Setup Dialog. -
- -If /set_surface is not sent, the default values are used: -
- These values give the same behaviour as prior versions of Ardour. (or the closest possible) -
- -- Bank Size is the number of channel strips the controller supports - without banking. Setting this to 0 turns banking off by setting the - bank size to infinite. -
- -- Bank size can also be set with /set_surface/bank_size size. -
- -- strip_types is an integer made up of bits. The easy way to - deal with this is to think of strip_types items being worth a number and - then adding all those numbers together for a value to send. - Strip Types will determine what kind of strips will be included in - bank. This would include: Audio, MIDI, buses, VCAs, Master, Monitor - and hidden or selected strips. -
- -- Aside from setting the track types for the main mix assignments, using - /set_surface/strip_types with more than one surface button will allow - switching between modes for example: inputs only, buses only, - selected only, hidden only, by having the buttons send values of: 3, - 12, 256, 512. A full mix button might have a value 31. -
- -- While Master and Monitor are listed as possibilities, most surfaces - will not use them. Using /master and /monitor makes more sense. - However, in the case where there are no master or monitor fader strips - on the surface, it may be necessary to include them in the banked - strips. -
- -Please see: - Calculating Feedback and Strip-types Values. -
- -- Strip types can also be set with /set_surface/strip_types types. -
- -Feedback is an integer made up of bits. The easy way to - deal with this is to think of feedback items being worth a number and - then adding all those numbers together for a value to send. -
- -Please see: - Calculating Feedback and Strip-types Values. -
- -- Feedback can also be set with /set_surface/feedback feedback. -
- -- Gainmode is a an int that acts as a bool: -
- Gainmode applies only to feedback values. The controller can choose - which gain math to use by choosing to use the /*/gain or /*/fader path - to send to Ardour. This makes sure a controller that doesn't set up - Ardour's OSC can still use either math. The gainmode for feedback also - determines the path Ardour uses for feedback so that the feedback - messages match the control messages. -
- -- Gain mode can also be set with /set_surface/gainmode gainmode. -
- -- The control Surface may wish to control the type a frequency of - updates it receives. It can do this with querying commands. See: - Querying Ardour with OSC. -
- -- Parameter types show how the value will be used. However, they may - be sent as a different type if needed, see: - Parameter Types in OSC. -
- -- For each of the following, ssid is the Surface Strip ID for the track -
- -- SSID has a different meaning than RID in Ardour version 4.7 and before. - Effectively, banking is always being used and the SSID is generated on - the fly. The SSID is the position of the strip within bank as an int - 1 to bank size. There are no gaps as there have been in the past. - Depending on the value of strip_types sent to Ardour, Master and - Monitor, may be included in the list of SSIDs or not as set in - /set_surface. -
- -- Some Surfaces (many Android applets) are not able to deal with more - than one parameter in a command. However, the two parameter commands - below can also be sent as /strip/command/ssid param. In this case the - param should be a float even if an int is required below. -
- -- New for Ardour 5, A whole set of operations that work on the selected - or expanded strip. -
- -- Selected strip operations are complex enough for their own page. - Please read: - Selection Considerations in OSC. This is most important if more - than one OSC surface is being used with Ardour. -
- -- There are two kinds of selection in OSC. GUI selection and local - expansion. By default expansion follows selection. -
- 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): -
- -/access_action action_name - -- The list below shows all available values of action-name as of - June 2016 for Ardour 5.0.pre0.1. You can get the current list at any - time by running Ardour with the -b flag. -
- -+ 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. +
diff --git a/include/devices-using-mackielogic-control-protocol.html b/include/devices-using-mackielogic-control-protocol.html new file mode 100644 index 0000000..32051b8 --- /dev/null +++ b/include/devices-using-mackielogic-control-protocol.html @@ -0,0 +1,66 @@ +--- +layout: default +title: Devices using Mackie/Logic Control Protocol +menu_title: Mackie/Logic Control Devices +--- + ++ This will walk you through the process of configuring and using + a MIDI control surface with Ardour that uses the Mackie Control + protocol (MCP) or 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. +
+ ++ Navigate to Edit > Preferences > Control Surfaces. + Double-click on Mackie Control to see the setup dialog: +
+ ++ From the selector at the top, choose the type of device you are using. + ( + What to do if your device is not listed). +
++ Once your setup is complete, click "OK" to close the dialog. Now click + on the enable checkbox for "Mackie Control". +
+ ++ 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. +
++ 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. +
++ When you have made these connections once, Ardour will recreate them + for you in the future, as long as you leave Mackie Control enabled. +
+ ++ Every possible Mackie Control button can be bound to any action present + in Ardour's GUI. Please check your control surface page for suggestions. +
+ ++ Most interfaces will require some configuration to send and respond to + MCP. +
+ ++ When setting up the control surface, do not 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. +
+ diff --git a/include/feedback-in-osc.html b/include/feedback-in-osc.html new file mode 100644 index 0000000..1b40557 --- /dev/null +++ b/include/feedback-in-osc.html @@ -0,0 +1,243 @@ +--- +layout: default +title: OSC: Feedback +--- + ++ Feedback from the Ardour to the the control surface is very useful for + a number of things. Motor faders need to know where the the track + they have been attached to is at before they were assigned otherwise + the DAW fader will jump to where the controller fader is. Likewise, + the buttons on each strip need to know what their value is so they can + light their LED correctly. Transport controls should let you know if + they are active too. This is what feedback is all about. +
++ Ardour does feedback by sending the same path back that is used to + control the same function. As such any controls that have feedback + have a parameter that is the value of the control or it's state + (on or off). In the case of OSC paths listed on the main OSC page + as having no parameter, if they have feedback, they will also work + with a 1 for button press and 0 for button release. This is because + many OSC controllers will only use exactly the same path for feedback + as for control. For example: +
+ +can be used also in the form:
+ ++ The feedback does not have the same meaning as the control message. + Where the button release sent to Ardour will be ignored and has no + meaning. Both states have meaning in feedback to the controller. + The feedback will be: +
+ ++ With feedback turned on, OSC control commands that try to change a + control that does not exist will get feedback that resets that control + to off. For example, sending a /strip/recenable to a buss will not work + and Ardour will try to turn the controller LED off in that case. Also + note that Pan operation may be limited by pan width in some cases. + That is with pan width at 100% (or -100%) there is no pan position + movement available. +
++ It may come as a surprise, but feedback often generates more network + traffic than control itself does. Some things are more obvious like + head position or meters. But even a simple button push like transport + start sends not only a signal to turn on the play LED, but also one to + turn off the stop LED, the Rewind LED, the Fast Forward LED and the + Loop LED. That is still minor, think instead of a surface refresh + such as happens when the surface is first connected and then most of + that happens every time the fader strips are banked. This is why + feedback is enabled in sections so that as little feedback as is + actually needed is sent. This is also a consideration if the surface + is connected via wifi. +
++ These messages are feedback only. They are sent as status from Ardour + and some of them may be enabled separately from other feedback. See: + + Calculating Feedback and Strip-types Values. +
++ See strip section below for info about ssid and wrapping it into the + path. Also /master and /monitor support what the /strip does. +
++ In the case where Gainmode is set to position, the track name will + show the dB value while values are changing. +
++ Master and monitor strips are similar to track strips but do not use + the SSID. Rather they use their name as part of the path: +
++ For each of the following, ssid is the surface strip ID for the track +
++ Some Surfaces (many Android applets) are not able to deal with more + than one parameter in a command. However, the two parameter commands + below can also be sent as /strip/command/ssid param. Feedback can be + set to match this with the /set_surface/feedback state + command. See + Calculating Feedback and Strip-types Values. +
+ ++ Selection feedback is the same as for strips, only the path changes + from /strip to /select and there is no ssid. + there are some extra feedback and commands that will be listed here. +
++ Every single menu item in Ardour's GUI is accessible via OSC. However, + there is no provision for returning the state of anything set this way. + This is not a bad thing as most menu items either do not have an on/off + state or that state is quite visible. Binding that affect other parameters + that OSC does track will show on those OSC controls. Examples of this + might be track record enable for tracks 1 to 32, play or stop. +
diff --git a/include/mackie-control-setup-on-linux.html b/include/mackie-control-setup-on-linux.html new file mode 100644 index 0000000..e155e5a --- /dev/null +++ b/include/mackie-control-setup-on-linux.html @@ -0,0 +1,20 @@ +--- +layout: default +title: Mackie Control Setup on Linux +--- + ++ 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. +
+ ++ Before attempting to use a Mackie Control device that communicates via + a standard MIDI cable or a USB cable, you should ensure that + your Linux + MIDI environment is setup. +
+ diff --git a/include/menu-actions-list.html b/include/menu-actions-list.html new file mode 100644 index 0000000..8bf4131 --- /dev/null +++ b/include/menu-actions-list.html @@ -0,0 +1,743 @@ +--- +layout: default +title: List of Menu Actions +--- + + ++ Every single menu item in Ardour's GUI is accessible by control + surfaces or scripts. +
+ ++ The list below shows all available values of action-name as of + June 2016 for Ardour 5.0.pre0.1. You can get the current list at any + time by running Ardour with the -b flag. +
++ Ardour 2.X supported + MIDI learning + 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 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. +
++ Currently (August 2016), we have presets for the following devices/modes: +
++ MIDI binding maps are accessible by double-clicking Edit + > Preferences > Control Surfaces > Generic MIDI. Ardour will + retain your selection after you choose one. +
+ ++ 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 + remote control ID. This ID uniquely identifies a track or bus + so that when messages arrive from elsewhere via MIDI or OSC , we can determine + which track or bus they are intended to control. 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. +
++ MIDI bindings are stored in files with the suffix ".map" attached to their + name. The minimal content looks like this: +
++<?xml version="1.0" encoding="UTF-8"?> +<ArdourMIDIBindings version="1.0.0" name="The name of this set of +bindings"> +</ArdourMIDIBindings> ++
+ So, to start, create a file with that as the initial contents. +
+
+ On OS X, Ardour loads midi maps from its binary-bundle folder in
+ Ardour-<version>/midi_maps/
and checks
+ various other locations as well (defined by the ARDOUR_MIDIMAPS_PATH
+ environment variable). On GNU/Linux the easiest is to save the file to
+ ~/.config/ardour3/midi_maps/
.
+
+ 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
+ gmidimon
and kmidimon
, 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.)
+
+ 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. +
++ A track/bus binding has one of two basic structures +
+
+ <Binding msg specification uri="... control address ..."/>
+ <Binding msg specification function="... function name ..."/>
+
+
++ 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: +
+
+ <Binding channel="1" ctl="13" ....
+
+
+ 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 ctl
, you can alternatively
+ use note
(to create binding for a Note On message) or
+ pgm
(to create a binding for a Program Change message).
+
+ As of Ardour 4.2, enc-r
, enc-l
, enc-2
and
+ enc-b
may be used for surfaces that have encoders that send
+ offsets rather than values. These accept Continuous Controller messages
+ but treat them as offsets. These are good for banked controls as they are
+ always at the right spot to start adjusting. (
+
+ Learn more about working with encoders
+ )
+
+ You can also bind sysex messages: +
+
+ <Binding sysex="f0 0 0 e 9 0 5b f7" ....
+ <Binding sysex="f0 7f 0 6 7 f7" ....
+
+
+ The string after the sysex=
part is the sequence of MIDI bytes,
+ as hexadecimal values, that make up the sysex message.
+
+ Finally, you can bind a totally arbitrary MIDI message:
+
+ <Binding msg="f0 0 0 e 9 0 5b f7" ....
+ <Binding msg="80 60 40" ....
+
+
+ The string after the msg=
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.
+
+ As of Ardour 4.6 it is possible to use multi-event MIDI strings such as + two event CC messages, RPN or NRPN. +
+ +
+ The sysex=
and msg=
bindings will only work with
+ function=
or action=
control addresses. They
+ will not work with the uri=
control addresses.
+ Controls used with uri=
require a Value which is
+ only available in a known place with channel mode MIDI events.
+
+ A control address defines what the binding will actually control. + There are quite a few different things that can be specified here: +
+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:
++ 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). +
+
+ One additional feature: for solo and mute bindings, you can also add
+ momentary="yes"
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.
+
+ 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: +
+
+ <Binding channel="1" note="13" function="transport-roll"/>
+
++ In this case, a NoteOn message for note number 13 (on channel 1) will + start the transport rolling. The following function names are available: +
+transport-stop
+transport-roll
+transport-zero
+transport-start
+transport-end
+loop-toggle
+rec-enable
+rec-disable
+next-bank
+prev-bank
++ 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: +
+
+(gtk_accel_path "<Actions>/Editor/temporal-zoom-in" "equal")
+
++ 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: +
+
+ <Binding msg="80 60 40" action="Editor/temporal-zoom-in"/>
+
+
+ The general rule, when taken an item from the keybindings file and
+ using it in a MIDI binding is to simply strip the
+ <Action>
prefix of the second field in the
+ keybinding definition.
+
+ 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 banks. Banks
+ allow you to control any number of tracks and/or busses easily,
+ regardless of how many faders/knobs etc. your control surface has.
+ To use banking, the control addresses must be specified using the
+ bank relative format mentioned above ("B1" to identify
+ the first track of a bank of tracks, rather than "1" to identify
+ the first track).
+
+ 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:
+
+ <DeviceInfo bank-size="8"/>
+
+
+ In addition, you probably want to ensure that you bind something
+ on the control surface to the next-bank
and
+ prev-bank
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.
+
+<?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> ++
+ 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). +
+ diff --git a/include/midi-learn.html b/include/midi-learn.html new file mode 100644 index 0000000..c200bf1 --- /dev/null +++ b/include/midi-learn.html @@ -0,0 +1,44 @@ +--- +layout: default +title: MIDI Learn +--- + ++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. +
++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. +
+ ++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 +all the bindings will be automatically set up for you. +
diff --git a/include/controlling-ardour-with-osc-4.7-and-prior.html b/include/osc-control-in-ardour-4.7-and-prior.html similarity index 99% rename from include/controlling-ardour-with-osc-4.7-and-prior.html rename to include/osc-control-in-ardour-4.7-and-prior.html index abde245..d5221ae 100644 --- a/include/controlling-ardour-with-osc-4.7-and-prior.html +++ b/include/osc-control-in-ardour-4.7-and-prior.html @@ -1,30 +1,35 @@ --- -title: Controlling Ardour with OSC (Ardour 4.7 and Prior) +layout: default +title: OSC control for Ardour 4.7 and Prior --- ++ This page is what was available before version 5.* was added. It has + not been updated to make sure all 4.7 functionality is acurately + represented. This page will vanish soon. +
+- OSC 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, + OSC 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).
-- 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, particularly the "Actions" part below, since this relates to the + 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, particularly the "Actions" part below, since this relates to the GTK GUI for Ardour rather than the backend.
- OSC support is not enabled by default, but can be turned on via
- Edit > Preferences > Control Surfaces.
- Once enabled, Ardour will listen on port 3819
by default.
- This port number can be changed by editing $ARDOUR_CONFIG
+ OSC support is not enabled by default, but can be turned on via
+ Edit > Preferences > Control Surfaces.
+ 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 <Config>
section:
+ OSC 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). +
+ ++ Note: OSC control has changed dramatically since Ardour 4.7. + The Path structure has been completely redone, Banking has been introduced, + The controller is now able to tell Ardour what kind of feedback it can + work with (including bank size) and two new math styles have been added + to gain controls. If you are using an Ardour version of 4.7 or less, + please read + Osc control in ardour 4.7 and prior. +
+ ++ 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, particularly the "Actions" part below, since this relates to the + GTK GUI for Ardour rather than the backend. +
+ +
+ OSC support is not enabled by default, but can be turned on via
+ Edit > Preferences > Control Surfaces.
+ 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 <Config>
section:
+
+ Ardour sends any feedback to the port and address that sent any + feedback request. The port does not have to match Ardour's port. In + fact it is better not to. This means that Ardour can deal with more + than one controller at a time. The two controllers can bank + independently and even use different math for faders. This could be + used to allow talent to adjust their own monitor mix using a tablet + or phone that can run an OSC controller. For a full explanation of + how Ardour's feedback works please read + OSC feedback In Ardour. +
+ ++ Control surface set up allows the controller to tell Ardour about it's + capabilities. The surface can tell Ardour how many control strips it + has for banking, if it is capable of setting it's faders or buttons + to values set by Ardour's GUI or automation, What kind of math the + faders use and more. +
++ Any time the /set_surface command is sent, the current bank + is recalculated and if feedback is turned on, the values of each + strip's controls are sent (or refreshed) as well. This will also + refresh the Master feedback setup. +
++ Surface Port Setting is available in the OSC GUI. +
++ As of Ardour 5.1, There is now a GUI setup in response to those using + tablets with applications such as touchOSC or AndrOSC who need to be + able to set a port for Ardour to send to. It can also change the + default setting for set_surface. For more information about Ardour's + OSC configuration GUI please read + Ardour's Setup Dialog. +
+If /set_surface is not sent, the default values are used: +
+ These values give the same behaviour as prior versions of Ardour. (or the closest possible) +
++ Bank Size is the number of channel strips the controller supports + without banking. Setting this to 0 turns banking off by setting the + bank size to infinite. +
++ Bank size can also be set with /set_surface/bank_size size. +
++ strip_types is an integer made up of bits. The easy way to + deal with this is to think of strip_types items being worth a number and + then adding all those numbers together for a value to send. + Strip Types will determine what kind of strips will be included in + bank. This would include: Audio, MIDI, buses, VCAs, Master, Monitor + and hidden or selected strips. +
++ Aside from setting the track types for the main mix assignments, using + /set_surface/strip_types with more than one surface button will allow + switching between modes for example: inputs only, buses only, + selected only, hidden only, by having the buttons send values of: 3, + 12, 256, 512. A full mix button might have a value 31. +
++ While Master and Monitor are listed as possibilities, most surfaces + will not use them. Using /master and /monitor makes more sense. + However, in the case where there are no master or monitor fader strips + on the surface, it may be necessary to include them in the banked + strips. +
+Please see: + Calculating Feedback and Strip-types Values. +
++ Strip types can also be set with /set_surface/strip_types types. +
+Feedback is an integer made up of bits. The easy way to + deal with this is to think of feedback items being worth a number and + then adding all those numbers together for a value to send. +
+Please see: + Calculating Feedback and Strip-types Values.
++ Feedback can also be set with /set_surface/feedback feedback. +
+ ++ Gainmode is a an int that acts as a bool: +
+ Gainmode applies only to feedback values. The controller can choose + which gain math to use by choosing to use the /*/gain or /*/fader path + to send to Ardour. This makes sure a controller that doesn't set up + Ardour's OSC can still use either math. The gainmode for feedback also + determines the path Ardour uses for feedback so that the feedback + messages match the control messages. +
++ Gain mode can also be set with /set_surface/gainmode gainmode. +
+ ++ The control Surface may wish to control the type a frequency of + updates it receives. It can do this with querying commands. See: + Querying Ardour with OSC. +
+ ++ Parameter types show how the value will be used. However, they may + be sent as a different type if needed, see: + Parameter Types in OSC. +
++ For each of the following, ssid is the Surface Strip ID for the track +
++ SSID has a different meaning than RID in Ardour version 4.7 and before. + Effectively, banking is always being used and the SSID is generated on + the fly. The SSID is the position of the strip within bank as an int + 1 to bank size. There are no gaps as there have been in the past. + Depending on the value of strip_types sent to Ardour, Master and + Monitor, may be included in the list of SSIDs or not as set in + /set_surface. +
++ Some Surfaces (many Android applets) are not able to deal with more + than one parameter in a command. However, the two parameter commands + below can also be sent as /strip/command/ssid param. In this case the + param should be a float even if an int is required below. +
++ New for Ardour 5, A whole set of operations that work on the selected + or expanded strip. +
++ Selected strip operations are complex enough for their own page. + Please read: + Selection Considerations in OSC. This is most important if more + than one OSC surface is being used with Ardour. +
++ There are two kinds of selection in OSC. GUI selection and local + expansion. By default expansion follows selection. +
+ 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):
+/access_action action_name ++ The + list of actions shows all available values of action-name as of + June 2016 for Ardour 5.0.pre0.1. You can get the current list at any + time by running Ardour with the -b flag. +
+ +{% children %} diff --git a/include/osc-personal-monitoring.html b/include/osc-personal-monitoring.html new file mode 100644 index 0000000..9cc24f5 --- /dev/null +++ b/include/osc-personal-monitoring.html @@ -0,0 +1,112 @@ +--- +layout: default +title: OSC: Personal Monitoring Control +--- + ++ Personal monitoring can allow a performer with a smart phone to set + their personal monitor mix for a floor wedge or inear monitoring. +
++ Some setup needs to be done in the GUI mixer window before this can + work. +
++ This gives stage or studio monitoring for the performer. +
+ ++ All of the personal monitoring commands and feedback start with a + /cue. It is expected that a surface used as a personal + monitor control will use only /cue commands. +
++ The send controls and feedback all have the send id (1 to n) in line + as part of the OSC path. So the path for the second send would be + /cue/send/fader/2 to set the level. It is considered that + most surfaces used for this will only be able to handle one parameter. +
++ While a fader is being adjusted, the corresponding /*/name + text will give the level in db. +
diff --git a/include/osc-setup-dialog.html b/include/osc-setup-dialog.html new file mode 100644 index 0000000..d21edf8 --- /dev/null +++ b/include/osc-setup-dialog.html @@ -0,0 +1,125 @@ +--- +layout: default +title: OSC: Using the Setup Dialog +--- + ++ Starting with Ardour 5.1 OSC has a graphic setup dialog. This dialog + can be accessed from Preferences->Control Surfaces. Select OSC and + click on the Show Protocol Settings. +
++ The Ardour OSC dialog has three tabs. The main tab, the Strip Types + tab and the Feedback tab. +
++ Many OSC devices get their IP from a DHCP making it difficult to set + an IP in Ardour's OSC settings. Therefore, most of the settings are + default settings. Values are set and the next OSC surface to + send a /set_surface* message to Ardour will use those settings. An OSC + surface that has previously sent a message to Ardour will retain the + settings it already had. The Clear OSC Devices will reset all + device settings. A /refresh message will both reset the + device settings as well as set that device to any new settings. The + Use of /set_surface will override all settings except + Port Mode. +
++ +
++ This field is informational only. It shows where Ardour will receive + OSC messages. The system Name and the Port are the most important parts. +
++ This drop down allows the choice of Auto or Manual outbound port + setting. The default Auto port mode, will send OSC messages back to + the port messages from that surface are received from. This setting + allows two surfaces on the same IP to operate independently. However, + there are a number of OSC control surfaces that do not monitor the + same port they send from and in fact may change ports they send from + as well. Manual allows the outgoing port (the port the surface will + receive on, to be manually set. In Manual port mode only one control + surface per IP can work. Most phone or tablet OSC controllers like + touchOSC or Control need Manual port mode. More than one controller + can be used so long as each has it's own IP. +
++ This is an Entry box for setting the outgoing port when in + Manual port mode. +
++ This sets the default bank size for the next surface to send a + /set_surface/* OSC message. Bank size 0 (the default) sets + no banking and allows controlling all strips included in strip_types + at once. +
++ 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. +
++ For debugging purposes this allows logging either good OSC messages + Ardour receives or invalid messages received or none. +
++ 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 + user.preset. 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. +
++ 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. +
++ +
++ 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. +
++ +
++ 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. +
diff --git a/include/parameter-types-in-osc.html b/include/parameter-types-in-osc.html new file mode 100644 index 0000000..7af30f0 --- /dev/null +++ b/include/parameter-types-in-osc.html @@ -0,0 +1,33 @@ +--- +layout: default +title: OSC: Parameter Types +--- + ++ An OSC message is laid out in this form: +
+ + /path/of/command type parameter + ++ The type is there to indicate what the parameter is. This gives + the idea that parameter types are quite strict and if the command + requires an Integer "i" then the controller had better send it. + However, the checking of the parameter type is left to the receiving + software. +
++ What this means in practical terms is that the surface can get away + with sending the wrong type of parameter. There are some places + where that just doesn't make sense. For example, a parameter that + is specified as a Float with a range of 0 to 1, could be sent as + an Integer, but would only have full scale and minimum value with + nothing in between. This is not much use for a fader, though ok for + a button. +
++ There are a number of OSC controllers based on iOS and Android + tablets that only send or receive parameters as floats or text. + These controllers should have no problem sending bool or int values + as floats. Ardour will interpret the values as required. +
diff --git a/include/presonus-faderport.html b/include/presonus-faderport.html new file mode 100644 index 0000000..9acf374 --- /dev/null +++ b/include/presonus-faderport.html @@ -0,0 +1,376 @@ +--- +layout: default +title: Using the Presonus Faderport +menu_title: Presonus Faderport +--- + ++ 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. +
+ ++ 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. +
++ 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. +
+ 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. +
++ 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. +
++ +
++ 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. +
+ 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. +
+ ++ The Faderport's controls can be divided into three groups: +
+ 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. +
+ ++ The transport buttons all work as you would expect. +
+ When pressed on its own, starts the transport moving backwards. Successive presses + speed up the "rewind" behaviour. +
++ If pressed while also holding the Stop button, the playhead will + return to the zero position on the timeline. +
++ If pressed while also holding the Shift button, the playhead will + move to the session start marker. +
++ When pressed on its own, starts the transport moving faster than normal. Successive presses + speed up the "fast forward" behaviour. +
++ If pressed while also holding the Shift button, the playhead + will move to the session end marker. +
+
+ 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 Preferences > Control Surfaces
. Each
+ button has 3 possible actions associated with it:
+
+ The User button also has no obvious mapping to specific Ardour + functionality, so we allow users to choose from any + 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! +
+
+ Possible actions include: +
+ Possible actions include: +
+ Possible actions include: +
+ When pressed on its own, toggles punch recording. If there is no + punch range set for the session, this will do nothing. +
++ When pressed in conjunction with the Shift button, this moves + the playhead to the previous Marker +
++ See above. Any and all GUI-initiated actions can be driven with + by pressing this button on its own, or with a "long" press. +
++ When pressed in conjunction with the Shift button, this will move + the playhead to the next marker. +
++ 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. +
++ When pressed in conjunction with the Shift button, this will + create a new (unnamed) marker at the current playhead + position. +
++
+ 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. +
++ 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. +
++ The knob can also be turned while the "User" button is held, + in order to modify the input gain for the currently controlled + track. +
++ 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 only that track/bus. +
++
+ 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. +
++ 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. +
++ 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. +
++ 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: +
+ +
+ /strip/list
asks Ardour for a list of strips that the
+ current session has. Ardour replies with a message for each
+ strip with the following information:
+
end_route_list
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. +
+ +
+ /strip/sends ssid
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:
+
+ 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. +
+ +
+ /strip/receives ssid
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:
+
+ /strip/plugin/list ssid
will return a list of
+ plug-ins that strip ssid has. The reply will contain the following
+ information:
+
+ /plugin/descriptor ssid piid
will
+ return the plug-in parameters for ppid plug-in on the ssid strip. The
+ reply will contain the following information:
+
+ The flag bitset above has been defined as (from lsb): +
+ While this seems complex, it is really not that bad. Minimum, + maximum and value will in most cases give you all you need. +
diff --git a/include/selection-considerations-in-osc.html b/include/selection-considerations-in-osc.html new file mode 100644 index 0000000..3996b49 --- /dev/null +++ b/include/selection-considerations-in-osc.html @@ -0,0 +1,72 @@ +--- +layout: default +title: OSC: Selection and Expansion Considerations +--- + ++ Ardour does not send every possible feedback value for each channel. + It does send expanded information on the selected channel. There are + also extra commands for the selected strip. All the feedback and + select commands have their own path /select. + This means that for the selected channel the surface does not have to + keep track of the strip ID. The /select strip will follow the + "current mixer strip" in the GUI editor window. +
++ There are two major uses for this: +
+ Selection in Ardour's OSC implementation are complicated by the + possibility of using more than one OSC controller at the same time. + User "A" may select strip 4 and use a selected controller to make + changes to that strip. User "B" may subsequently select strip 7 to + make changes on. This leaves user "A" making changes to strip 7 + which they did not choose. +
++ For this reason Ardour offers local expansion aside from the GUI + selection. Local expansion only affects the one OSC controller. GUI + selection is global and affects all controllers using GUI selection + as well as the GUI. +
++ Both select and expansion use the /select set of commands. +
++ In general, in a one user situation where that one user may use either + the OSC surface or the GUI, using GUI based selection makes the most + sense. This is the default because this is the more common use. +
++ When there is more than one operator, then expansion only is the + mode of choice. It may make sense for one of the surfaces to + use GUI selection where the operator is also using the GUI for some + things. However, the set up should be carefully analyzed for the + possibility of selection confusions. Expansion should be + considered the safe option. +
++ It is always ok to use expansion on the surface even in a one + user scenario. This allows the user to use GUI and surface selection + for different uses. +
++ It is also possible to use both if desired. /strip/select will ways + set the GUI select, but /strip/expand will set the select feedback + and commands locally without changing the GUI select. Another + /strip/expand or a /strip/select will override that expand command + and releasing the /strip/expand or /select/expand (setting it to 0 or + false) will set the /select set of commands and feedback back to + whichever strip the GUI has selected at that time. This could be used + to switch between the GUI select and the local expand to compare two + strips settings. +
diff --git a/include/ssl-nucleus.html b/include/ssl-nucleus.html new file mode 100644 index 0000000..83c98e2 --- /dev/null +++ b/include/ssl-nucleus.html @@ -0,0 +1,219 @@ +--- +layout: default +title: SSL Nucleus +--- + ++ 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 design features + (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. +
+ ++ 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). +
+
+ 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 the
+ profile
+ and load it to your Nucleus using the Edit Profiles
+ 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. 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.
+
+ 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. +
++ 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. +
++ 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. +
++ 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. +
+ ++ 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 MUST be + configured to offer ZERO ports before using this + method. +
+ +
+ Open Preferences > Control Surfaces
. Ensure that the
+ Mackie protocol is enabled, then double-click on it to open the
+ Mackie Control setup dialog.
+
+ 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). +
++ Communication is automatically established with the Nucleus and you + need do nothing more. +
++ If this does not work, then make sure your network cables are + properly connected, and that you are not running + other ipMIDI software on the computer. +
+ ++ This is usable only on computers with 3rd party ipMIDI + driver software installed and configured for (at least) 2 ports. +
+ +
+ Open Preferences > Control Surfaces
. Ensure that the
+ Mackie protocol is enabled, then double-click on it to open the
+ Mackie Control setup dialog.
+
+ Ensure that the device selected is "SSL Nucleus (via platform MIDI)". The dialog should + show four combo/dropdown selectors, labelled (respectively): +
+Main Surface receives via
Main Surface sends via
1st extender receives via
1st extender sends via
+ You should choose "ipMIDI port 1", "ipMIDI port 1", "ipMIDI port 2" + and "ipMIDI port 2" for each of the 4 combo/dropdown selectors. +
++ Communication should be automatically established with the Nucleus. +
++ 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. +
+ ++ 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. +
+ ++ 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. +
+
+ Encoders that send the same continuous values as a pot would are not
+ discussed here as they are already supported by ctl
.
+
+ Encoders as this page talks about them send direction and offset that the + DAW will add to or subtract from the current value. +
++ The 4 kinds of encoder supported are: +
++ 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. +
++ Many controllers have more than one choice as well, check the manual for + the surface. +
diff --git a/include/working-with-extenders.html b/include/working-with-extenders.html new file mode 100644 index 0000000..661d67d --- /dev/null +++ b/include/working-with-extenders.html @@ -0,0 +1,49 @@ +--- +layout: default +title: Working With Extenders +menu_title: Working With Extenders +--- + ++ 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. +
++ The two lines of interest are: +
+
+ <Extenders value="0"/> + <MasterPosition value="0"/> ++
+ Add these two lines if they are not present. The Extenders
+ value is the number of extenders used and should not include the master in
+ that number.
+
+ When an Extenders
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 mackie control #1
,
+ mackie control #2
and up. The numbers will go from left to
+ right. That is, from lowest number channel to highest.
+
+ The MasterPosition
value is the port number the master unit
+ (with the master fader) is connected to. So if there are three surfaces,
+ <MasterPosition value="1"/>
will expect the master on
+ the left, <MasterPosition value="2"/>
would be master
+ in the middle and <MasterPosition value="3"/>
would be
+ master on the right. So the position matches the port name.
+
+ The default value of <MasterPosition value="0"/>
has
+ the same effect as <MasterPosition value="1"/>
.
+
+ If the MasterPosition
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.
+
Like (almost) any other program on Linux, Ardour can be started on the @@ -1108,8 +1104,6 @@ part: subchapter
ardour5 -N /path/to/session -Add content
+ --- -title: OSC Feedback With Ardour +title: Setting Up MIDI part: subchapter --- +- Feedback from the Ardour to the the control surface is very useful for - a number of things. Motor faders need to know where the the track - they have been attached to is at before they were assigned otherwise - the DAW fader will jump to where the controller fader is. Likewise, - the buttons on each strip need to know what their value is so they can - light their LED correctly. Transport controls should let you know if - they are active too. This is what feedback is all about. + MIDI is a way to describe musical + performances and to control music hardware and software.
- -- Ardour does feedback by sending the same path back that is used to - control the same function. As such any controls that have feedback - have a parameter that is the value of the control or it's state - (on or off). In the case of OSC paths listed on the main OSC page - as having no parameter, if they have feedback, they will also work - with a 1 for button press and 0 for button release. This is because - many OSC controllers will only use exactly the same path for feedback - as for control. For example: +
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.
-can be used also in the form:
- -- The feedback does not have the same meaning as the control message. - Where the button release sent to Ardour will be ignored and has no - meaning. Both states have meaning in feedback to the controller. - The feedback will be: + 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.
-- With feedback turned on, OSC control commands that try to change a - control that does not exist will get feedback that resets that control - to off. For example, sending a /strip/recenable to a buss will not work - and Ardour will try to turn the controller LED off in that case. Also - note that Pan operation may be limited by pan width in some cases. - That is with pan width at 100% (or -100%) there is no pan position - movement available. -
-- It may come as a surprise, but feedback often generates more network - traffic than control itself does. Some things are more obvious like - head position or meters. But even a simple button push like transport - start sends not only a signal to turn on the play LED, but also one to - turn off the stop LED, the Rewind LED, the Fast Forward LED and the - Loop LED. That is still minor, think instead of a surface refresh - such as happens when the surface is first connected and then most of - that happens every time the fader strips are banked. This is why - feedback is enabled in sections so that as little feedback as is - actually needed is sent. This is also a consideration if the surface - is connected via wifi. -
-- These messages are feedback only. They are sent as status from Ardour - and some of them may be enabled separately from other feedback. See: - - Calculating Feedback and Strip-types Values. -
- See strip section below for info about ssid and wrapping it into the - path. Also /master and /monitor support what the /strip does. + On Linux systems, QJackCtl 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 MIDI tab in QJackCtl.
+ +- In the case where Gainmode is set to position, the track name will - show the dB value while values are changing. +By default, JACK will not automatically detect and use existing MIDI +ports on your system. You must choose one of several ways +of bridging between the native MIDI frameworks +(e.g. CoreMIDI or ALSA) and JACK MIDI, as described in the sections +below.
-The right approach for using MIDI on Linux depends on which version of +JACK you use. The world divides into:
-- Master and monitor strips are similar to track strips but do not use - the SSID. Rather they use their name as part of the path: -
--X alsa_midi
server argument. To support legacy control applications, you can also use the -X seq
argument to the ALSA backend of JACK and get the exact same results.-X seq
or -X raw
arguments—the timing and performance of these options is not acceptable.
+- For each of the following, ssid is the surface strip ID for the track -
-- Some Surfaces (many Android applets) are not able to deal with more - than one parameter in a command. However, the two parameter commands - below can also be sent as /strip/command/ssid param. Feedback can be - set to match this with the /set_surface/feedback state - command. See - Calculating Feedback and Strip-types Values. -
+- Selection feedback is the same as for strips, only the path changes - from /strip to /select and there is no ssid. - there are some extra feedback and commands that will be listed here. -
-- Every single menu item in Ardour's GUI is accessible via OSC. However, - there is no provision for returning the state of anything set this way. - This is not a bad thing as most menu items either do not have an on/off - state or that state is quite visible. Binding that affect other parameters - that OSC does track will show on those OSC controls. Examples of this - might be track record enable for tracks 1 to 32, play or stop. + a2jmidid is an application that bridges between the system + MIDI ports and + JACK.
---- -title: Calculating Feedback and Strip-types Values -part: subchapter ---- -- /set_surface has two values the user needs to calculate before - use. In general these will not be calculated at run time, but - beforehand. There may be more than one button with different values - to turn various kinds of feedback on or off or to determine which - kinds of strips are currently viewed/controlled. + First you should make sure that there is no ALSA sequencer support enabled + in JACK. To do that open QJackCtl's Setup window.
- Both ,feedback and strip-types use bitsets to keep
- track what they are doing. Any number in a computer is made out of
- bits that are on or off, but we represent them as normal base 10
- numbers. Any one bit turned on will add a unique value to the
- number as a whole. So for each kind of feedback or strip type
- to be used, that number should be added to the total.
+ Set Settings > MIDI Driver to none.
+ Then uncheck the Misc > Enable ALSA Sequencer
+ support option.
+ Now it's time to restart your jack server before going on.
- strip_types is an integer made up of bits. The easy way to - deal with this is to think of strip_types items being worth a number and - then adding all those numbers together for a value to send. - Strip Types will determine What kind of strips will be included in - bank. This would include: Audio, MIDI, busses, VCAs, Master, Monitor - and hidden or selected strips. + First, check whether a2jmidid is already installed in your system. After + starting your JACK server, go to the command line and type
-- Selected and Hidden bits are normally not needed as Ardour defaults to - showing Selected strips and not showing Hidden strips. The purpose of - these two flags is to allow showing only Selected strips or only - Hidden strips. Using Hidden with other flags will allow Hidden strips - to show inline with other strips. -
-- Some handy numbers to use might be: 15 (all tracks and buses), 31 - (add VCAs to that). Master or Monitor strips are generally not useful - on a surface that has dedicated controls for these strips as there are - /master* and /monitor* commands already. However, on a surface with - just a bank of fader strips, adding master or monitor would allow - access to them within the banks. Selected would be useful for working - on a group or a set of user selected strips. Hidden shows strips the - GUI has hidden. -
-- Audio Aux? say what? I am sure most people will have noticed that they - can find no Aux strips in the Ardour mixer. There are none. - There are buses that can be used a number of ways. From analog days, - in OSC a bus is something that gets used as a sub mix before ending up - going to Master. An auxiliary bus is used like a separate mixer and - it's output goes outside the program or computer to be used as: - a monitor mix, a back up recording, or what have you. In OSC where - controller strips may be limited, it may be useful not to use up a - strip for an aux that is not really a part of the mix. It is also - useful to get a list of only aux buses if the control surface is a - phone used to provide talent monitor mix control on stage. Each - performer would be able to mix their own monitor. The user is free - to enable both buses and auxes if they would prefer. -
- -Feedback is an integer made up of bits. The easy way to - deal with this is to think of feedback items being worth a number and - then adding all those numbers together for a value to send. -
-- So using a value of 19 would turn on feedback for strip and master - controls, but leave meters, timecode and bar/beat feedback off. + If a2jmidid does not exist, install it with the software manager of your + Linux distribution and try again.
---- -title: Parameter Types in OSC -part: subchapter ---- +- An OSC message is laid out in this form: + If you have correctly configured JACK for MIDI, then your MIDI ports should appear in + qjackctl under Connections > MIDI .
- - /path/of/command type parameter - +- The type is there to indicate what the parameter is. This gives - the idea that parameter types are quite strict and if the command - requires an Integer "i" then the controller had better send it. - However, the checking of the parameter type is left to the receiving - software. +Once you've verified that the ports appear in JACK as expected, you +can make this happen whenever you start JACK.
-- What this means in practical terms is that the surface can get away - with sending the wrong type of parameter. There are some places - where that just doesn't make sense. For example, a parameter that - is specified as a Float with a range of 0 to 1, could be sent as - an Integer, but would only have full scale and minimum value with - nothing in between. This is not much use for a fader, though ok for - a button. +
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.
- There are a number of OSC controllers based on iOS and Android - tablets that only send or receive parameters as floats or text. - These controllers should have no problem sending bool or int values - as floats. Ardour will interpret the values as required. +For other versions of JACK, +add a2jmidid -e & as an "after start-up" script +in the Setup > Options tab of QJackCtl, so +that it is started automatically whenever you start JACK.
+Is this true anymore in Ardour 5? This section may have been relevant in Ardour 3, but it might not be relevant anymore.
+ --- -title: Selection/Feedback Expansion Considerations in OSC +title: MIDI on OS X part: subchapter ---- Ardour does not send every possible feedback value for each channel. - It does send expanded information on the selected channel. There are - also extra commands for the selected strip. All the feedback and - select commands have their own path /select. - This means that for the selected channel the surface does not have to - keep track of the strip ID. The /select strip will follow the - "current mixer strip" in the GUI editor window. -
-- There are two major uses for this: -
- Selection in Ardour's OSC implementation are complicated by the - possibility of using more than one OSC controller at the same time. - User "A" may select strip 4 and use a selected controller to make - changes to that strip. User "B" may subsequently select strip 7 to - make changes on. This leaves user "A" making changes to strip 7 - which they did not choose. + In order for CoreMIDI to work with Jack MIDI, a CoreMIDI-to-JACK-MIDI + bridge + is required. This feature is available on versions equal to or great than + version 0.89 of JackOSX.
-- For this reason Ardour offers local expansion aside from the GUI - selection. Local expansion only affects the one OSC controller. GUI - selection is global and affects all controllers using GUI selection - as well as the GUI. -
+- In general, in a one user situation where that one user may use either - the OSC surface or the GUI, using GUI based selection makes the most - sense. This is the default because this is the more common use. -
+- When there is more than one operator, then expansion only is the - mode of choice. It may make sense for one of the surfaces to - use GUI selection where the operator is also using the GUI for some - things. However, the set up should be carefully analyzed for the - possibility of selection confusions. Expansion should be - considered the safe option. + 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.
-- It is always ok to use expansion on the surface even in a one - user scenario. This allows the user to use GUI and surface selection - for different uses. -
+- It is also possible to use both if desired. /strip/select will ways - set the GUI select, but /strip/expand will set the select feedback - and commands locally without changing the GUI select. Another - /strip/expand or a /strip/select will override that expand command - and releasing the /strip/expand or /select/expand (setting it to 0 or - false) will set the /select set of commands/feedback back to whichever - strip the GUI has selected at that time. This could be used to switch - between the GUI select and the local expand to compare two strips - settings. + There are multiple options for connecting MIDI ports outside of Ardour.
---- -title: Using the OSC Setup Dialog -part: subchapter ---- +- Starting with Ardour 5.1 OSC has a graphic setup dialog. This dialog - can be accessed from Preferences->Control Surfaces. Select OSC and - click on the Show Protocol Settings. -
-- The Ardour OSC dialog has three tabs. The main tab, the Strip Types - tab and the Feedback tab. -
-- Many OSC devices get their IP from a DHCP making it difficult to set - an IP in Ardour's OSC settings. Therefore, most of the settings are - default settings. Values are set and the next OSC surface to - send a /set_surface* message to Ardour will use those settings. An OSC - surface that has previously sent a message to Ardour will retain the - settings it already had. The Clear OSC Devices will reset all - device settings. A /refresh message will both reset the - device settings as well as set that device to any new settings. The - Use of /set_surface will override all settings except - Port Mode. -
-- + In Ardour, you work in two main windows: the Editor and the + Mixer.
-- This field is informational only. It shows where Ardour will receive - OSC messages. The system Name and the Port are the most important parts. + Switching between the Editor and the Mixer windows done:
-- This drop down allows the choice of Auto or Manual outbound port - setting. The default Auto port mode, will send OSC messages back to - the port messages from that surface are received from. This setting - allows two surfaces on the same IP to operate independently. However, - there are a number of OSC control surfaces that do not monitor the - same port they send from and in fact may change ports they send from - as well. Manual allows the outgoing port (the port the surface will - receive on, to be manually set. In Manual port mode only one control - surface per IP can work. Most phone or tablet OSC controllers like - touchOSC or Control need Manual port mode. More than one controller - can be used so long as each has it's own IP. + Both windows can be visible at the same time (eg. for a multi-monitor + setup) using Window > Editor (or Mixer) > Detach option in the same submenu.
-Which of these two should be there? They seem to have the same content…
- This is an Entry box for setting the outgoing port when in - Manual port mode. + In Ardour, you work in two main windows: the Editor and the Mixer.
-- This sets the default bank size for the next surface to send a - /set_surface/* OSC message. Bank size 0 (the default) sets - no banking and allows controlling all strips included in strip_types - at once. + To switch between those windows, use the buttons (#4 Mode switch in the upper right), the shortcut M, or the menu Window > Editor (or Mixer) > Show. Both windows can be visible at the same time (eg. for a multi-monitor setup) using Detach in the same menu.
-- 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. -
-- For debugging purposes this allows logging either good OSC messages - Ardour receives or invalid messages received or none. -
-- 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 - user.preset. 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. -
-- 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. -
-- -
-- 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. -
- -- -
- -- 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. -
- ---- -title: Querying Ardour with OSC -part: subchapter ---- - -- 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: -
- -
- /strip/list
asks Ardour for a list of strips that the
- current session has. Ardour replies with a message for each
- strip with the following information:
-
end_route_list
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. -
- -
- /strip/sends ssid
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:
-
- 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. -
- -
- /strip/receives ssid
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:
-
- /strip/plugin/list ssid
will return a list of
- plug-ins that strip ssid has. The reply will contain the following
- information:
-
- /plugin/descriptor ssid piid
will
- return the plug-in parameters for ppid plug-in on the ssid strip. The
- reply will contain the following information:
-
- The flag bitset above has been defined as (from lsb): -
- While this seems complex, it is really not that bad. Minimum, maximum and value will in most cases give you all you need. -
- ---- -title: Devices using Mackie/Logic Control Protocol -menu_title: Mackie/Logic Control Devices -part: subchapter ---- - -- This will walk you through the process of configuring and using - a MIDI control surface with Ardour that uses the Mackie Control - protocol (MCP) or 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. -
- -- Navigate to Edit > Preferences > Control Surfaces. - Double-click on Mackie Control to see the setup dialog: -
- - - -- From the selector at the top, choose the type of device you are using. - ( - What to do if your device is not listed). -
- -- Once your setup is complete, click "OK" to close the dialog. Now click - on the enable checkbox for "Mackie Control". -
- -- 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. -
- -- 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. -
- -- When you have made these connections once, Ardour will recreate them - for you in the future, as long as you leave Mackie Control enabled. -
- -- Every possible Mackie Control button can be bound to any action present - in Ardour's GUI. Please check your control surface page for suggestions. -
- -- Most interfaces will require some configuration to send and respond to - MCP. -
- -- When setting up the control surface, do not 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. -
- ---- -title: Behringer devices in Mackie/Logic Control Mode -menu_title: Behringer devices -part: subchapter ---- - -- -
- -- 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. -
- -- -
- -- 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 EG - 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. -
-
- Encoder #1 sets the operating mode and should be set to U-1 or
- USB mode 1 if using with a USB cable connection.
-
- Encoder #3 sets the foot switch mode and should most likely be set to
- Auto to detect how the foot switch is wired.
-
- Encoder #5 sets the device id, if you are using only 1 device the id
- should be set to ID 1. If you are using multiple BCF/BCR2000 each
- device is required to be set up sequentially and one at a time.
-
- Encoder #7 controls the MIDI Dead Time or the amount of milliseconds
- after a move has been made that the device ignores further changes, this
- should be set to 100.
-
- Encoder #8 controls the MIDI message Send Interval in milliseconds
- and should be set to 10
-
- To exit the EG mode press the Exit button. The device is now - ready to use with Ardour. -
- -- -
-- 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. -
--The surface can be broken into 8 groups of controls. -
- -- -
-- 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. -
-- -
-- 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. -
-- -
-- The operations of various buttons change while holding down the Shift 1 button -
-- -
-- The operations of various buttons change while holding down the Shift 2 button -
-- -
- -FIX ME
- ---- -title: SSL Nucleus -part: subchapter ---- - -- 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 design features - (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. -
- -- 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). -
-
- 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 the
- profile
- and load it to your Nucleus using the Edit Profiles
- 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. 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.
-
- 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. -
-- 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. -
-- 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. -
-- 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. -
- -- 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 MUST be - configured to offer ZERO ports before using this - method. -
- -
- Open Preferences > Control Surfaces
. Ensure that the
- Mackie protocol is enabled, then double-click on it to open the
- Mackie Control setup dialog.
-
- 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). -
-- Communication is automatically established with the Nucleus and you - need do nothing more. -
-- If this does not work, then make sure your network cables are - properly connected, and that you are not running - other ipMIDI software on the computer. -
- -- This is usable only on computers with 3rd party ipMIDI - driver software installed and configured for (at least) 2 ports. -
- -
- Open Preferences > Control Surfaces
. Ensure that the
- Mackie protocol is enabled, then double-click on it to open the
- Mackie Control setup dialog.
-
- Ensure that the device selected is "SSL Nucleus (via platform MIDI)". The dialog should - show four combo/dropdown selectors, labelled (respectively): -
-Main Surface receives via
Main Surface sends via
1st extender receives via
1st extender sends via
- You should choose "ipMIDI port 1", "ipMIDI port 1", "ipMIDI port 2" - and "ipMIDI port 2" for each of the 4 combo/dropdown selectors. -
-- Communication should be automatically established with the Nucleus. -
-- 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. -
- -- 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. -
- -- 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. -
- -- Before attempting to use a Mackie Control device that communicates via - a standard MIDI cable or a USB cable, you should ensure that - your Linux - MIDI environment is setup. -
- ---- -title: What to do if your Device is not Listed -menu_title: Unlisted devices -part: subchapter ---- - -- 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. -
- ---- -title: Working With Extenders -menu_title: Working With Extenders -part: subchapter ---- - -- 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. -
- -- The two lines of interest are: -
- -
- <Extenders value="0"/> - <MasterPosition value="0"/> -- -
- Add these two lines if they are not present. The Extenders
- value is the number of extenders used and should not include the master in
- that number.
-
- When an Extenders
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 mackie control #1
,
- mackie control #2
and up. The numbers will go from left to
- right. That is, from lowest number channel to highest.
-
- The MasterPosition
value is the port number the master unit
- (with the master fader) is connected to. So if there are three surfaces,
- <MasterPosition value="1"/>
will expect the master on
- the left, <MasterPosition value="2"/>
would be master
- in the middle and <MasterPosition value="3"/>
would be
- master on the right. So the position matches the port name.
-
- The default value of <MasterPosition value="0"/>
has
- the same effect as <MasterPosition value="1"/>
.
-
- If the MasterPosition
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.
-
- Ardour 2.X supported - MIDI learning - 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 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. -
- -- Currently (August 2016), we have presets for the following devices/modes: -
- -- MIDI binding maps are accessible by double-clicking Edit - > Preferences > Control Surfaces > Generic MIDI. Ardour will - retain your selection after you choose one. -
- -- 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 - remote control ID. This ID uniquely identifies a track or bus - so that when messages arrive from elsewhere via MIDI or OSC , we can determine - which track or bus they are intended to control. 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. -
-- MIDI bindings are stored in files with the suffix ".map" attached to their - name. The minimal content looks like this: -
--<?xml version="1.0" encoding="UTF-8"?> -<ArdourMIDIBindings version="1.0.0" name="The name of this set of -bindings"> -</ArdourMIDIBindings> --
- So, to start, create a file with that as the initial contents. -
-
- On OS X, Ardour loads midi maps from its binary-bundle folder in
- Ardour-<version>/midi_maps/
and checks
- various other locations as well (defined by the ARDOUR_MIDIMAPS_PATH
- environment variable). On GNU/Linux the easiest is to save the file to
- ~/.config/ardour3/midi_maps/
.
-
- 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
- gmidimon
and kmidimon
, 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.)
-
- 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. -
-- A track/bus binding has one of two basic structures -
-
- <Binding msg specification uri="... control address ..."/>
- <Binding msg specification function="... function name ..."/>
-
-
-- 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: -
-
- <Binding channel="1" ctl="13" ....
-
-
- 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 ctl
, you can alternatively
- use note
(to create binding for a Note On message) or
- pgm
(to create a binding for a Program Change message).
-
- As of Ardour 4.2, enc-r
, enc-l
, enc-2
and
- enc-b
may be used for surfaces that have encoders that send
- offsets rather than values. These accept Continuous Controller messages
- but treat them as offsets. These are good for banked controls as they are
- always at the right spot to start adjusting. (
-
- Learn more about working with encoders
- )
-
- You can also bind sysex messages: -
-
- <Binding sysex="f0 0 0 e 9 0 5b f7" ....
- <Binding sysex="f0 7f 0 6 7 f7" ....
-
-
- The string after the sysex=
part is the sequence of MIDI bytes,
- as hexadecimal values, that make up the sysex message.
-
- Finally, you can bind a totally arbitrary MIDI message:
-
- <Binding msg="f0 0 0 e 9 0 5b f7" ....
- <Binding msg="80 60 40" ....
-
-
- The string after the msg=
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.
-
- As of Ardour 4.6 it is possible to use multi-event MIDI strings such as - two event CC messages, RPN or NRPN. -
- -
- The sysex=
and msg=
bindings will only work with
- function=
or action=
control addresses. They
- will not work with the uri=
control addresses.
- Controls used with uri=
require a Value which is
- only available in a known place with channel mode MIDI events.
-
- A control address defines what the binding will actually control. - There are quite a few different things that can be specified here: -
-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:
-- 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). -
-
- One additional feature: for solo and mute bindings, you can also add
- momentary="yes"
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.
-
- 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: -
-
- <Binding channel="1" note="13" function="transport-roll"/>
-
-- In this case, a NoteOn message for note number 13 (on channel 1) will - start the transport rolling. The following function names are available: -
-transport-stop
-transport-roll
-transport-zero
-transport-start
-transport-end
-loop-toggle
-rec-enable
-rec-disable
-next-bank
-prev-bank
-- 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: -
-
-(gtk_accel_path "<Actions>/Editor/temporal-zoom-in" "equal")
-
-- 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: -
-
- <Binding msg="80 60 40" action="Editor/temporal-zoom-in"/>
-
-
- The general rule, when taken an item from the keybindings file and
- using it in a MIDI binding is to simply strip the
- <Action>
prefix of the second field in the
- keybinding definition.
-
- 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 banks. Banks
- allow you to control any number of tracks and/or busses easily,
- regardless of how many faders/knobs etc. your control surface has.
- To use banking, the control addresses must be specified using the
- bank relative format mentioned above ("B1" to identify
- the first track of a bank of tracks, rather than "1" to identify
- the first track).
-
- 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:
-
- <DeviceInfo bank-size="8"/>
-
-
- In addition, you probably want to ensure that you bind something
- on the control surface to the next-bank
and
- prev-bank
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.
-
-<?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> --
- 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). -
- ---- -title: Working With Encoders in Ardour -menu_title: Working With Encoders -part: subchapter ---- - -- 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. -
-
- Encoders that send the same continuous values as a pot would are not
- discussed here as they are already supported by ctl
.
-
- Encoders as this page talks about them send direction and offset that the - DAW will add to or subtract from the current value. -
-- The 4 kinds of encoder supported are: -
-- 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. -
-- Many controllers have more than one choice as well, check the manual for - the surface. -
- ---- -title: MIDI Learn -part: subchapter ---- - -- 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. -
- -- 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. -
- -- 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 all the bindings will be automatically set up for you. -
- ---- -title: Using the Presonus Faderport -menu_title: Presonus Faderport -part: subchapter ---- - -- 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. -
- -- 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. -
- -- 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. -
- -- 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. -
- -- 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. -
- -- -
- -- 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. -
- -- 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. -
- -- The Faderport's controls can be divided into three groups: -
- 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. -
- -- The transport buttons all work as you would expect. -
- When pressed on its own, starts the transport moving backwards. Successive presses - speed up the "rewind" behaviour. -
-- If pressed while also holding the Stop button, the playhead will - return to the zero position on the timeline. -
-- If pressed while also holding the Shift button, the playhead will - move to the session start marker. -
-- When pressed on its own, starts the transport moving faster than normal. Successive presses - speed up the "fast forward" behaviour. -
-- If pressed while also holding the Shift button, the playhead - will move to the session end marker. -
-
- 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 Preferences > Control Surfaces
. Each
- button has 3 possible actions associated with it:
-
- The User button also has no obvious mapping to specific Ardour - functionality, so we allow users to choose from any - 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! -
-
- Possible actions include: -
- Possible actions include: -
- Possible actions include: -
- When pressed on its own, toggles punch recording. If there is no - punch range set for the session, this will do nothing. -
-- When pressed in conjunction with the Shift button, this moves - the playhead to the previous Marker -
-- See above. Any and all GUI-initiated actions can be driven with - by pressing this button on its own, or with a "long" press. -
-- When pressed in conjunction with the Shift button, this will move - the playhead to the next marker. -
-- 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. -
-- When pressed in conjunction with the Shift button, this will - create a new (unnamed) marker at the current playhead - position. -
--
- 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. -
-- 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. -
-- The knob can also be turned while the "User" button is held, - in order to modify the input gain for the currently controlled - track. -
-- 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 only that track/bus. -
--
- 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. -
-- 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. -
-- 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. -
-- -
- -- 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. -
- -- 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). -
- -- 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. -
- -- 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. -
- -- 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. -
- -- 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. -
- - -
- -- With the Push 2 support in Ardour 5.4, you can do the following - things: -
- 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. -
- -- 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. -
- -- 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 not 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. -
- -- 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. -
- -- -
- -- 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. -
- -- As of Ardour 5.4, the possible parameters are: -
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. -
- -- 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. -
-- 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. -
- -- 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). -
- -- 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 first currently selected - track(s). -
- -- There are two indications that one or more tracks are soloed: -
- To cancel solo, either: -
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. -
- -- 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. -
- -- 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). -
- -- 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. -
- -- 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. -
- -- Press the Scale button to enter Scale mode. The display will look - like this: -
- -- -
- -- 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). -
- -- 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). -
- -- 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. -
- -- 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. -
- -- 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). -
- -- 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. -
- -- 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: -
Add content
- - ---- -title: Setting Up MIDI -part: subchapter ---- - -- MIDI is a way to describe musical - performances and to control music hardware and software. -
-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. -
- -- 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. -
- -- On Linux systems, QJackCtl 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 MIDI tab in QJackCtl. -
- --By default, JACK will not automatically detect and use existing MIDI -ports on your system. You must choose one of several ways -of bridging between the native MIDI frameworks -(e.g. CoreMIDI or ALSA) and JACK MIDI, as described in the sections -below. -
- ---- -title: MIDI on Linux -part: subchapter ---- - -The right approach for using MIDI on Linux depends on which version of -JACK you use. The world divides into:
- --X alsa_midi
server argument. To support legacy control applications, you can also use the -X seq
argument to the ALSA backend of JACK and get the exact same results.-X seq
or -X raw
arguments—the timing and performance of these options is not acceptable.
-- a2jmidid is an application that bridges between the system - MIDI ports and - JACK. -
- -- First you should make sure that there is no ALSA sequencer support enabled - in JACK. To do that open QJackCtl's Setup window. -
- -
- Set Settings > MIDI Driver to none.
- Then uncheck the Misc > Enable ALSA Sequencer
- support option.
- Now it's time to restart your jack server before going on.
-
- First, check whether a2jmidid is already installed in your system. After - starting your JACK server, go to the command line and type -
- -a2jmidid -e - -- If a2jmidid does not exist, install it with the software manager of your - Linux distribution and try again. -
- -- If you have correctly configured JACK for MIDI, then your MIDI ports should appear in - qjackctl under Connections > MIDI . -
- --Once you've verified that the ports appear in JACK as expected, you -can make this happen whenever you start JACK. -
- -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. -
- --For other versions of JACK, -add a2jmidid -e & as an "after start-up" script -in the Setup > Options tab of QJackCtl, so -that it is started automatically whenever you start JACK. -
- -Is this true anymore in Ardour 5? This section may have been relevant in Ardour 3, but it might not be relevant anymore.
- ---- -title: MIDI on OS X -part: subchapter ---- - -- In order for CoreMIDI to work with Jack MIDI, a CoreMIDI-to-JACK-MIDI - bridge - is required. This feature is available on versions equal to or great than - version 0.89 of JackOSX. -
- -- 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. -
- -- There are multiple options for connecting MIDI ports outside of Ardour. -
- -- In Ardour, you work in two main windows: the Editor and the - Mixer. -
- -- To switch between those windows, use the buttons (#4 Mode switch in the upper right), - the shortcut M, or the menu - Window > Editor (or Mixer) > Show. - Both windows can be visible at the same time (eg. for a multi-monitor - setup) using Detach in the same menu.
- --- title: Main Menu @@ -7018,7 +4293,9 @@ part: chapter --- +The status bar is an informative bar at the top of the window, showing:
+The buffers are labelled as p for playback and c for capture. If the +
The buffers are labeled as p for playback and c for capture. If the system is fast enough, these buffers should be 100% full at all times, showing the system has time to precompute all the data before delivering it to the audio system. A buffer constantly under 20% is a sign of an underpowered computer system or of too much processing.
@@ -7039,7 +4316,7 @@ computer system or of too much processing.An Xrun (short for buffer over- or under-run) happens when the system has been forced to skip audio frames, e.g. if the latency asked is too short for the computing power of the machine. It usually results in clicks, pops and crackles if it happens while recording.
-The log button turns yellow when a warning is shows, and red when an error occurs. Clicking the log button gives acces to the log.
+The log button turns yellow when a warning occurs, and red when an error occurs. Clicking the log button gives acces to the log.
--- title: Transport bar and times @@ -7061,15 +4338,15 @@ part: chapter- The Shuttle Speed Control supports 2 operating modes, that can be chosen with right click > Mode: + The Shuttle Speed Control supports 2 operating modes, that can be chosen with right click > Mode:
- The 3 vertical buttons on the right of the transport bar control the behaviour of the playhead: + The 3 vertical buttons on the right of the transport bar control the behavior of the playhead:
+ Ardour has many available commands for playback control that can be bound + to keys. Many of them have default bindings, some do not, so the list below + shows both the default bindings and internal command names for some of them. +
+ +
+ Go to the
- Clocks in Ardour are used to display time values precisely. - In many cases, they are also one way to edit (change) time values, and in a few - cases, the only way. All clocks share the same basic appearance and functionality, - which is described below, but a few clocks serve particularly important roles. + Clocks in Ardour are used to display time values precisely. In many cases, they are also one way to edit (change) time values, and in a few cases, the only way. All clocks share the same basic appearance and functionality, which is described below, but a few clocks serve particularly important roles.
To show the current playhead position in a big, resizable window, activate Window > Big Clock. The big clock is very useful @@ -7198,17 +4500,21 @@ part: subchapter large big clock window filling a good part of the display, and on the right, the same clock during active recording.
+ ÂOn a few occasions Ardour needs to display time values to the user, but there is no obvious way to specify what units to use. The most common case is the big cursor that appears when dragging regions. For this and other similar cases, Ardour will display time using the same units as the secondary clock.
+Having two transport clocks lets you see the playhead position in two different time units without having to change any settings. For example, you can see the @@ -7216,6 +4522,7 @@ part: subchapter
The transport bar also contains a set of 5 clocks that show the current selection range and punch ranges. Clicking on the punch @@ -7228,6 +4535,7 @@ part: subchapter
Every clock in Ardour has four different, selectable clock modes. Each mode displays time using different units. @@ -7367,13 +4675,34 @@ title: The Editor part: chapter --- + +
The Editor window includes the editor track canvas where you can arrange audio and MIDI data along a timeline. This is the window you will be in while editing and arranging a project. The window has a general "horizontal" sense to it: the timeline flows from left to right, the playhead showing the current position in the session moves - from left to right — the window really represents time + from left to right—the window really represents time in a fairly literal way.
@@ -7381,7 +4710,7 @@ part: chapter It is possible to show a single channel strip in the editor window, and some people find this enough to work on mixing without actually opening the mixer window. Most of the time though, you will want both of these - windows at various stages of a session's lifetime — sometimes + windows at various stages of a session's lifetime—sometimes you'll be focused on editing, sometimes on mixing and possibly some of the time on both. @@ -7409,21 +4738,21 @@ part: chapter- The Toolbar is made of 5 "zones" -
--- -title: The Toolbar +title: The Toolbox part: subchapter --- - +Make sure the Internal Edit and Draw tool act as described
- --- title: the Zoom Controls part: subchapter @@ -7757,25 +5083,49 @@ part: subchapter --- -title: the Nudge Controls +title: The Nudge Controls +part: subchapter +--- + + + ++ The nudge controls will move the selected region(s) by a fixed amount of time. The left and right buttons move either backward or forward in time, and the small clock to the left of these buttons sets the amount of time to nudge by. As with all other clocks, you can right-click on the clock to choose the time representation you want to use. +
+ ++ If there are no selected objects, the nudge controls can be used to move the playhead backward or forward by the amount shown on the clock. +
+ +--- +title: The Ruler part: subchapter --- - +- The nudge controls will move the selected region(s) by a fixed amount - of time. The left and right buttons move either backward or forward in time, and the small - clock to the left of these buttons sets the amount of time to nudge by. - As with all other clocks, you can right-click on the clock to choose the - time representation you want to use. + The Ruler scales the session along time, allows navigating, and can be marked for different uses. The main use of the Ruler is to move the playhead: clicking anywhere on the timeline will bring the playhead at this location in time.
- If there are no selected objects, the nudge controls can be - used to move the playhead backward or forward by the amount shown on the clock. + It is made of a succession of rows, each having a special role related to time.From top to bottom, those rows are :
++ Most of the operations on the markers are described in Working with Markers, while the Meter, Tempo, Bars:Beats and Timecode use are described in Tempo and Meter. +
--- @@ -7793,7 +5143,6 @@ part: chapter vary the width of the list. - --- title: Region List part: subchapter @@ -7840,7 +5189,7 @@ part: subchapter --- -title: Tracks & Busses List +title: Tracks and Busses List part: subchapter --- @@ -7866,7 +5215,7 @@ part: subchapter@@ -7893,7 +5242,7 @@ part: subchapter
--- -title: Track & Bus Group List +title: Track and Bus Group List part: subchapter --- @@ -7929,22 +5278,16 @@ part: subchapter- The Ranges & Marks List is a tab in the Editor - Lists area on the right of the Editor window. If the editor - list area isn't visible it can be enabled by checking - View > Show Editor List. - The Ranges & Marks list can be used as a single point - of control for all range and location markers (including the punch and - loop ranges), or as a supplement to other methods of working with them. + The Ranges & Marks List is a tab in the Editor Lists area on the right of the Editor window. If the editor list area isn't visible it can be enabled by checking View > Show Editor List. The Ranges & Marks list can be used as a single point of control for all range and location markers (including the punch and loop ranges), or as a supplement to other methods of working with them.
The — (subtract) button in front of each user-defined range or marker in the list allows that particular item to be removed. The name fields of custom ranges and markers can be edited.
+The Hide checkboxes make markers and ranges invisible on the respective ruler to reduce visual clutter; the markers remain @@ -7980,6 +5325,7 @@ part: subchapter than the absolute time. This will make the respective marker follow changes in the tempo map.
+At the bottom of the list are buttons to add new markers or ranges.
@@ -8002,26 +5348,39 @@ part: subchapter that may contain audio data between tracks. +--- +Title: The Summary +part: subchapter +--- + ++ The Summary is a global overview of the session, allowing for a good "bird's eye" view of where in time and tracks the work happens. +
++ Each horizontal line represents a track in the session, with the colored bars being the audio and MIDI regions, colored as per their track's color setting. +
++ Two yellow vertical lines show the position of the Start and End markers, defining the session's length. The red line shows the playhead's position. +
++ The transparent white rectangle represents what's actually displayed in the Editor window, i.e. what part of the session is beign looked at on screen. +
++ The Summary also doubles as a navigator: +
- - - - - - - - - - - - - +- The Mixer window on the other hand represents signal flow and - is the window you will probably be using most when mixing a session. It - includes channel strips for each track and bus in your session. - It has a general "vertical" sense to it: signals flow from the top of each - channel strip through the processing elements in the strip to reach the - output listed at the bottom. + The Mixer window on the other hand represents signal flow and is the window you will probably be using most when mixing a session. It includes channel strips for each track and bus in your session. It has a general "vertical" sense to it: signals flow from the top of each channel strip through the processing elements in the strip to reach the output listed at the bottom.
- ++ This section describes the Mixer. To learn more about the process of mixing, see Mixing. +
--- title: The Mixer - Favorite Plugins Window @@ -8075,21 +5447,91 @@ part: subchapter When favorites are added with the Plugin Manager, they are appended to the bottom of the list. - - --- title: The Mixer - The Strips list part: subchapter --- -add content
++ The Strips List is a quick way to manage big sessions, with lots of tracks, where the mixer would otherwise be too crowded. +
+ ++ It is a list of all the tracks, busses and VCA in the session, with a tick to allow for hiding or showing them. This visibility status also affects the Editor view, and is exactly the same as toggling the V checkbox in the Tracks and Busses panel of the Editor List. +
+ ++ Dragging and dropping tracks inside the Strips List allows to reorganise the tracks in the session, both in the Mixer and the Editor. +
+ ++ It is possible, by right clicking, to act on multiple tracks at once: +
+ ++ The + button under the list is a shortcut to create a new track, bus or VCA, as in clicking Track > Add Track, Bus or VCA…. +
--- title: The Mixer - The Groups list part: subchapter --- -add content
++ The Goups List allows to quickly manage the groups of the session, and make use of them. +
+ ++ Each group has a Show checkbox to quickly toggle their visibility. Clicking an already selected group allows to rename it. +
+ ++ The context menu, reached by right clicking a group, allows for multiple mixing actions: +
+ ++ When a group is selected, right clicking it adds the following menu entries : +
+ ++ The + button under the list allows the creation of an (empty) group, while the − button deletes the selected group (but not the tracks in this group). +
--- title: The Mixer - The Master Strip @@ -8098,7 +5540,6 @@ part: subchapteradd content
- --- title: The Mixer - The Monitor Section part: subchapter @@ -8107,9 +5548,6 @@ part: subchapteradd content
- - - --- title: Sessions & Tracks part: part @@ -8126,6 +5564,7 @@ part: chapter title: New/Open Session Dialog part: subchapter --- +Info is out of date, image needs updating
@@ -9374,37 +6813,13 @@ part: subchapter ---
- Every track and bus in Ardour is assigned a remote control ID. - When a control surface or any other - remote control is used to control Ardour, these IDs are used to identify - which track(s) or buss(es) are the intended target of incoming commands. -
- -- By default, remote IDs will be assigned to tracks and busses in the order - that they are created, starting from 1. The master bus and monitor section - have their own unique IDs (318 and 319). + Every track and bus in Ardour is assigned a remote control ID. When a control surface or any other remote control is used to control Ardour, these IDs are used to identify which track(s) or buss(es) are the intended target of incoming commands.
- Ardour provides two methods to control remote control IDs, which can be - chosen via Edit > Preferences > Control Surfaces - > Control surface remote ID: + Remote IDs will be assigned to tracks and buses in the order that they appear in the mixer window from left to right, starting from 1. Manual assignment of remote IDs is not possible. The master bus and monitor section can be accessed by name.
-- When the loop transport button is pressed, the playhead will - jump the start of the loop range, and continue to the end of that range - before returning to the start and repeating. - While looping, a light green area is displayed in the time ruler over - the tracks to show the loop range. -
- -- By default, looping is bound to the l key. -
- -- For more information on defining and altering the loop range see - Loop Range Markers. -
- -Broken link
- ---- -title: Positioning the Playhead -part: subchapter ---- +The playhead is a vertical line with two arrows at each end that indicates the current position of playback.
-Pressing P will set the playhead to the current position of @@ -9879,7 +7268,7 @@ part: subchapter will move the playhead to that position.
-Click on either the primary or secondary transport clock and @@ -9887,7 +7276,7 @@ part: subchapter to move the playhead to a specific position.
-Click Right on the marker and select either @@ -9902,6 +7291,22 @@ part: subchapter markers start and end, respectively.
++ When the loop transport button is pressed, the playhead will jump the start of the loop range, and continue to the end of that range before returning to the start and repeating. While looping, a light green area is displayed in the time ruler over the tracks to show the loop range. +
+ ++ By default, looping is bound to the l key. +
+ ++ For more information on defining and altering the loop range see Loop Range Markers. +
+ +Broken link
+ --- title: Using Key Bindings part: subchapter @@ -12978,7 +10383,7 @@ part: subchapter- Ardour supports 2 types of busses: Audio and MIDI. A MIDI bus differs from an audio bus just by its input (which is 1 midi input instead of n audio), the fact that you can put an instrument on it at creation time, whereas you can't easily add an instrument to an audio bus. + Ardour supports 2 types of busses: Audio and MIDI. A MIDI bus differs from an audio bus just by its input (which is 1 midi input instead of n audio), the fact that you can put an instrument on it at creation time, whereas you can't easily add an instrument to an audio bus.
@@ -13019,6 +10424,10 @@ part: subchapter
+ Reword this section to Control MAster, separate from Busses, Detail the fact a track can have multiple VCA attached +
+@@ -16121,6 +13530,146 @@ part: subchapter
+--- +title: Open Sound Control (OSC) +part: part +--- + + +--- +title: Controlling Ardour with OSC +include: controlling-ardour-with-osc.html +part: chapter +--- + +--- +title: OSC: Controlling Ardour with OSC +include: osc-control.html +part: subchapter +--- + +--- +title: OSC: Using the Setup Dialog +include: osc-setup-dialog.html +part: subchapter +--- + +--- +title: OSC: Querying Ardour +include: querying-ardour-with-osc.html +part: subchapter +--- + +--- +title: OSC: Feedback +include: feedback-in-osc.html +part: subchapter +--- + +--- +title: OSC: Feedback and Strip-types Values +include: calculating-feedback-and-strip-types-values.html +part: subchapter +--- + +--- +title: OSC: Personal Monitoring Control +include: osc-personal-monitoring.html +part: subchapter +--- + +--- +title: OSC: Parameter Types +include: parameter-types-in-osc.html +part: subchapter +--- + +--- +title: OSC: Selection and Expansion Considerations +include: selection-considerations-in-osc.html +part: subchapter +--- + +--- +title: OSC control for Ardour 4.7 and Prior +include: osc-control-in-ardour-4.7-and-prior.html +part: subchapter +--- + + +--- +title: Devices using Mackie/Logic Control Protocol +include: devices-using-mackielogic-control-protocol.html +part: chapter +--- + +--- +title: Behringer devices in Mackie/Logic Control Mode +menu_title: Behringer devices +include: behringer-devices-in-mackielogic-control-mode.html +part: subchapter +--- + +--- +title: SSL Nucleus +include: ssl-nucleus.html +part: subchapter +--- + +--- +title: Mackie Control Setup on Linux +include: mackie-control-setup-on-linux.html +part: subchapter +--- + +--- +title: What to do if your Device is not Listed +menu_title: Unlisted devices +include: devices-not-listed.html +part: subchapter +--- + +--- +title: Working With Extenders +menu_title: Working With Extenders +include: working-with-extenders.html +part: subchapter +--- + + +--- +title: MIDI Binding Maps +include: midi-binding-maps.html +part: chapter +--- + +--- +title: Working With Encoders in Ardour +menu_title: Working With Encoders +include: working-with-encoders.html +part: subchapter +--- + + +--- +title: MIDI Learn +include: midi-learn.html +part: chapter +--- + +--- +title: Using the Presonus Faderport +menu_title: Presonus Faderport +include: presonus-faderport.html +part: chapter +--- + +--- +title: Using the Ableton Push 2 +menu_title: Ableton Push 2 +include: ableton-push2.html +part: chapter +--- --- @@ -16608,3 +14157,16 @@ exclude: yes part: subchapter --- + +--- +title: Appendix +part: part +--- + + +--- +title: List of Menu Actions +part: chapter +include: menu-actions-list.html +--- + diff --git a/source/css/app.css b/source/css/app.css index 11dc86f..4a9fb5d 100644 --- a/source/css/app.css +++ b/source/css/app.css @@ -184,6 +184,18 @@ caption-side: top ; } +#content figure.right { + margin: 0 0 1em 1em; + float:right; + clear:right; +} + +#content figure.left { + margin: 0 1em 1em 0; + float:left; + clear:left; +} + .multicol2 { width: 48%; float:left; diff --git a/source/images/detailed-editor-window.png b/source/images/detailed-editor-window.png new file mode 100644 index 0000000..4edaf4e Binary files /dev/null and b/source/images/detailed-editor-window.png differ diff --git a/source/images/detailed-mixer-window.png b/source/images/detailed-mixer-window.png new file mode 100644 index 0000000..6af460b Binary files /dev/null and b/source/images/detailed-mixer-window.png differ diff --git a/source/images/global-editor-window-split.png b/source/images/global-editor-window-split.png new file mode 100644 index 0000000..08a3d7f Binary files /dev/null and b/source/images/global-editor-window-split.png differ diff --git a/source/images/global-mixer-window-split.png b/source/images/global-mixer-window-split.png new file mode 100644 index 0000000..7be88bb Binary files /dev/null and b/source/images/global-mixer-window-split.png differ diff --git a/source/images/ruler.png b/source/images/ruler.png new file mode 100644 index 0000000..8be860c Binary files /dev/null and b/source/images/ruler.png differ diff --git a/source/images/summary.png b/source/images/summary.png new file mode 100644 index 0000000..1289dc8 Binary files /dev/null and b/source/images/summary.png differ