X-Git-Url: http://shamusworld.gotdns.org/cgi-bin/gitweb.cgi?a=blobdiff_plain;f=include%2Fosc58-controlling-ardour-with-osc.html;h=7e5d3d5a7ed5f4bd74c1c3bd1dbaaac25cc33be7;hb=6a784fa96c8e94a6fd220202d7083759fb7442ba;hp=e6ba85f670988629cbf10d0509b16521d6d5f03c;hpb=042723be8949fe53bb488183a91e27c398d40ce4;p=ardour-manual
diff --git a/include/osc58-controlling-ardour-with-osc.html b/include/osc58-controlling-ardour-with-osc.html
index e6ba85f..7e5d3d5 100644
--- a/include/osc58-controlling-ardour-with-osc.html
+++ b/include/osc58-controlling-ardour-with-osc.html
@@ -10,13 +10,44 @@
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,
+ work with (including bank size) and the gain controls have new math
+ calculations. 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
@@ -39,7 +70,8 @@ here"/>
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
+ feedback request or to a port set manually in the setup dialog.
+ 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
@@ -50,7 +82,7 @@ here"/>
OSC feedback In Ardour.
-Control Surface Set Up
+Control Surface Set Up
Control surface set up allows the controller to tell Ardour about its
@@ -65,9 +97,6 @@ here"/>
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
@@ -79,24 +108,27 @@ here"/>
If /set_surface is not sent, the default values are used:
- - Bank Size: 0— No banking (or infinite bank size).
- - Strip Types: 0— All strip types except hidden and special.
- - Feedback: 0— All off.
- - Fader Mode: 0— gain in dB (not relevant with feedback off)
- - Send Page Size: 0— No Send Paging.
- - Plugin Page Size: 0— No Plugin Paging.
+ - Bank Size: 0 — No banking (or infinite bank size).
+ - Strip Types: 159 — All strip types except hidden and special.
+ - Feedback: 0 — All off.
+ - Fader Mode: 0 — gain in dB (not relevant with feedback off)
+ - Send Page Size: 0 — No Send Paging.
+ - Plugin Page Size: 0 — No Plugin Paging.
+ - reply port: 8000 — control surface will receive feedback on port 8000
+ - Link set: 0 — no linking for this control surface
+ - Link ID: 0 — no link ID
These values give the same behaviour as prior versions of Ardour. (or the closest possible)
-
- /set_surface bank_size strip_types
- feedback fadermode send_page_size plugin_page_size |
-
- See below for an explanation of each parameter.
- |
-
+
+ /set_surface bank_size strip_types
+ feedback fadermode send_page_size
+ plugin_page_size port linkset linkid
+
+ See below for an explanation of each parameter.
+
The /set_surface message may have all values except the last in-line.
For example: /set_surface/8/31/8403/0/8 i 16
would be valid.
@@ -166,13 +198,23 @@ here"/>
gainmode
- Gainmode is a an int that acts as a bool:
+ Gainmode is an int:
- - 0 (or false) dB value as a float from -193 to +6. Sent as
- /strip/gain SSID value. (-193 or below are the same as -inf)
- - 1 (or true) A positional fader based on the same math
- as Ardour's GUI. An Float from 0 to 1. Sent as
- /strip/fader SSID value
+ - 0: dB value as a float from -193 to +6. Sent as
+ /strip/gain SSID value. (-193 or below are the same as -inf)
+ - 1: A positional fader based on the same math
+ as Ardour's GUI. A Float from 0 to 1. Sent as
+ /strip/fader SSID value. At the same time the
+ gain value in dB is sent to the channel name as text. The name
+ will be restored after a short timeout.
+ - 2: A positional fader based on the same math
+ as Ardour's GUI. A Float from 0 to 1. Sent as
+ /strip/fader SSID value. At the same time
+ the gain value in dB is sent as /strip/gain SSID
+ value.
+ - 3: A positional fader based on the same math
+ as Ardour's GUI. A Float from 0 to 1. Sent as
+ /strip/fader SSID value.
@@ -205,7 +247,43 @@ here"/>
Plugin page size can also be set with /set_surface/plugin_page_size plugin_page_size.
-
+port
+
+ The port the controller would like to receive it's feedback on. Starting
+ with Ardour 6.0, the surface can directly set the manual port or set
+ it's host to auto
port mode.
+
+
+ The value for port
can be 0 for auto
port mode or any
+ port value above 1024. It is suggested not to use Ardour's port number
+ of 3819 as controllers on the same machine that try to use the same
+ port will fail.
+
+
+ If the surface does not
+ tell Ardour which port to use, the default is 8000 or the setting
+ set up in the OSC setup GUI. There can only be one port setting per
+ host. If that setting is auto
, than more than one
+ controller can be run on that host, but if a manual port is set there
+ can only be one. In the case of auto
mode, the control
+ surface must set it's receive port to be the same as it's send port.
+ If that is not possible, then manual port mode must be used. This
+ allows a smart controller to use a number of ports on the same ip while
+ a smartphone set up as a personal monitor control can use the default
+ manual port.
+
+
+ The host's port can also be set with /set_surface/port port.
+
+
+ Changing the port will remove feedback from a device on the same host
+ using a different port.
+
+Link set and Link ID
+
+ Please see Linking Surfaces
+ For more information.
+
Querying Ardour for information
The control Surface may wish to control the type a frequency of
@@ -213,7 +291,14 @@ here"/>
href="@@osc58-querying-ardour">
Querying Ardour with OSC.
-
+Using more than one surface
+
+ Ardour can use more than one surface at a time that both control the
+ same controls in Ardour. It is also possible to use two surfaces in
+ concert with each other. See:
+ Linking Surfaces for more information.
+
List of OSC messages
Parameter types show how the value will be used. However, they may
@@ -221,9 +306,9 @@ here"/>
href="@@osc58-parameter-types">
Parameter Types in OSC.
-Master or Global messages
+Master or Global messages
-Transport Control
+Transport Control
/transport_stop |
Stops a rolling transport |
@@ -249,6 +334,11 @@ here"/>
Where seconds is a float (+/-) of the number of seconds to jump |
/toggle_click |
Toggle metronome click on and off |
+ /marker marker |
+ Where marker may be a float or int of the nth marker or a
+ string with the marker name to locate to (new Ardour 6.0). If the playhead
+ is at a marker and the marker is unique, the marker at the playhead
+ will be renamed to the string sent |
/add_marker |
(adds marker to the current transport position) |
/remove_marker |
@@ -277,7 +367,7 @@ here"/>
/scrub delta |
Where delta is a float indicating forward or reverse movement.
- See OSC Scrub Modes |
+ See OSC Scrub Modes
/jog delta |
Where delta is a float indicating forward or reverse movement |
/jog/mode mode |
@@ -286,7 +376,7 @@ here"/>
OSC Jog Modes
-Recording control
+Recording control
/toggle_punch_in |
|
@@ -296,7 +386,7 @@ here"/>
Toggles master record enable |
-Transport Information
+
/transport_frame |
Ardour sends /transport_frame current_frame |
@@ -306,7 +396,7 @@ here"/>
Ardour sends /record_enabled recordenable_status |
-Editing-related
+Editing-related
/undo |
|
@@ -315,9 +405,11 @@ here"/>
/save_state |
(this is the regular
operation) |
+ /session_name new_name |
+ Set session name to new_name (if new_name is legal and unique) |
-Master and Monitor strip control
+Master and Monitor strip control
/master/gain dB |
dB is a float indicating the desired gain in dB |
@@ -347,10 +439,15 @@ here"/>
state is an int of 0 or 1 where 1 is mono mode |
-Track specific operations
+Track specific operations
For each of the following, ssid is the Surface Strip ID for the track
+
+ As of Ardour 6.0, the user may use a subset all available strips. See:
+
+ Making a user selected strip list.
+
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
@@ -376,6 +473,19 @@ here"/>
---|
/use_group state |
Where state is a float of 1 to use group or 0 to not use group.
more info on use_group |
+ /strip/spill ssid |
+ Use strips this strip is grouped with or those that feed this bus
+ (if this strip is a bus) or that this vca (if this is a VCA) controls.
+ See Spill Strips for more details |
+ /strip/hide ssid y/n |
+ Where y/n = 1 hide this strip, 0 for show this track.
+
+ Hiding strips. |
+ /strip/name ssid strip_name |
+ where strip_name is a string representing the desired name for the strip |
+ /strip/group ssid group_name |
+ where group_name is a string representing the name of the group desired.
+ See groups for more details |
/strip/mute ssid mute_st |
where mute_st is a bool/int representing the desired mute state of the track |
/strip/solo ssid solo_st |
@@ -448,7 +558,7 @@ here"/>
---|
/strip/name ssid name |
where name is a string for the desired name of the track |
-Selected Strip Operations
+Selected Strip Operations
New for Ardour 5, A whole set of operations that work on the selected
or expanded strip.
@@ -491,6 +601,56 @@ here"/>
Expanded. Setting to 0 resets the expansion to follow selection.
/select/expand y/n |
Where y/n = 1 for expanded mode, 0 for Select mode. |
+ /select/hide y/n |
+ Where y/n = 1 hide this strip, 0 for show this track.
+
+ Hiding strips. |
+ /select/name strip_name |
+ where strip_name is a string representing the desired name for the strip |
+ /select/comment comment |
+ where comment is a string representing the desired comment for the strip |
+ /select/group group_name |
+ where group_name is a string representing the name of the group desired.
+ See groups for more details |
+ /select/group/enable state |
+ where state is an int representing the desired enable state
+ of the group the selected strip is a part of |
+ /select/group/gain state |
+ where state is an int which sets the gain sharing of the
+ group the strip belongs to. See
+ Track and Bus Groups for more details |
+ /select/group/relative state |
+ where state is an int which sets relative state of thew
+ group the strip belongs to. See
+ Track and Bus Groups for more details |
+ /select/group/mute state |
+ where state is an int which sets the mute sharing of the
+ group the strip belongs to. See
+ Track and Bus Groups for more details |
+ /select/group/solo state |
+ where state is an int which sets the solo sharing of the
+ group the strip belongs to. See
+ Track and Bus Groups for more details |
+ /select/group/recenable state |
+ where state is an int which sets the recenable sharing of the
+ group the strip belongs to. See
+ Track and Bus Groups for more details |
+ /select/group/select state |
+ where state is an int which sets the select sharing of the
+ group the strip belongs to. See
+ Track and Bus Groups for more details |
+ /select/group/active state |
+ where state is an int which sets the route active sharing of the
+ group the strip belongs to. See
+ Track and Bus Groups for more details |
+ /select/group/color state |
+ where state is an int which sets the color sharing of the
+ group the strip belongs to. See
+ Track and Bus Groups for more details |
+ /select/group/monitoring state |
+ where state is an int which sets the monitoring sharing of the
+ group the strip belongs to. See
+ Track and Bus Groups for more details |
/select/recenable y/n |
Where y/n is 1 for enabled and 0 for disabled |
/select/record_safe y/n |
@@ -514,7 +674,20 @@ here"/>
---|
/select/fader position |
Where position is an float ranging from 0 to 1 representing the fader control position. |
/select/db_delta delta |
- where delta is a float that will increase or decrease the gain of the selected track by the amount of the delta. (Ardour 5.11+) |
+ where delta is a float that will increase or decrease the
+ gain of the selected track by the amount of the delta. (Ardour 5.11+) |
+ /select/vca name state |
+ where name is a string with the name of the VCA, and
+ state is an int that determines if the named VCA will control
+ this strip. (Ardour 6.0) |
+ /select/vca/toggle name |
+ where name is a string with the name of the VCA. This toggles the
+ use of the named vca with this strip. Any trailing "[_]" will be ignored.
+ (Ardour 6.0) |
+ /select/spill |
+ show only strips this strip is grouped with or
+ those that feed this bus or that this vca controls.
+ See Spill Strips for more details |
/select/*/automation mode |
where mode is an int ranging from 0 to 3 representing the desired automation mode for the control.
See OSC Automation. |
@@ -545,6 +718,8 @@ here"/>
where delta is an int or float selecting another send as a delta from the current send. |
/select/plugin_page", delta |
where delta is an int or float selecting another plugin parameter as a delta from the current parameter. |
+ /select/plugin/activate", state |
+ where state is an int or float with the desired state of the current plugin activation.(new Ardour 6.0) |
/select/plugin/parameter", plugin parameter value |
where plugin = nth plugin, parameter = nth parameter and value is a float from 0 to 1 |
@@ -554,7 +729,85 @@ here"/>
for page up and a switch with a value of -1
for page down. An encoder
can be used as well. (these commands were added in Ardour version 5.10)
-Menu actions
+Using groups with strip and select (new for Ardour 6.0)
+
+ No grouping will occure unless use_group
is set either
+ by using /set_surface/strip_types with the use groups bit set
+ or by using /use_group i 1.
+
+
+ The result for /strip/group or
+ /select/group is determined by the parameter
+ passed in the command and the current group and available list of
+ groups. The group name the control surface sends may be:
+
+
+ -
+ "none", "" or " " will remove this strip from this group. If this
+ was the only strip in this group, the group is deleted. Some
+ OSC controllers have trouble sending an empty string and a
+ list of groups contains "none" as well so a dropdown can just
+ send a text item and work.
+
+ -
+ The name of a group this strip does not belong to will remove
+ this strip from it's current group and add it to the named group.
+ If this strip was the only strip in the group it was removed from,
+ that group will be deleted.
+
+ -
+ An unused name when this strip is not part of a group will create
+ a new group with the group name sent and add this strip to that
+ group
+
+ -
+ An unused name when this strip is already a part of a group will
+ rename this group to the name sent.
+
+
+ To create a new group from a strip that is already joined to a group,
+ the strip must first remove itself from the current group.
+
+Spill Strips
+/select/spill or /strip/spill
+ will:
+
+ -
+ set the current set of strips in use to include only the strips
+ that are a part of the group the strip is a part of so long
+ as that strip is a track.
+ -
+ set the current set of strips to the set of strips that feed
+ this strip if it is a bus. In the case where this strip is
+ being fed by sends rather than strip outputs, the strips that
+ feed this bus will have their names set to the name of the strip
+ with -send appended to it and the fader, pan and mute will
+ control the send rather than the strip. The other strip controls
+ will be disabled in this mode. This only happens when the strip
+ that calls spill is a bus. In the case where a strip that is part
+ of a group is chosen as above where the group all sends to a common
+ bus this will not happen. This can be useful for a group that uses
+ "Add New Aux Bus" to switch from sends to faders.
+ -
+ set the current set of strips to the set of strips that are
+ controled by the VCA if this strip is a VCA.
+
+ spill/group, spill/bus or spill/vca can also be used to force
+ the type of spilling that is done. This may be useful if the strip
+ is a bus that is a part of a group and the group variation is required.
+ In all cases, if there is a bus or VCA attached to the group of strips
+ it will be included as well.
+ What is less obvious, is how to return to the normal set of strips.
+ There are a number of ways of doing so depending on the operator's wishes.
+ The most obvious way is to use /set_surface/strip_types
+ to set the strip list as desired. It is expected that a control surface
+ may have more than one strip types button in any case to see only
+ inputs or only busses etc and of course one to give a full mix. Another
+ option is to reselect the custom set of strips with
+ /strip/custom/mode mode.
+
+
+
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