X-Git-Url: http://shamusworld.gotdns.org/cgi-bin/gitweb.cgi?a=blobdiff_plain;f=_manual%2F22_using-control-surfaces%2F01_controlling-ardour-with-osc.html;h=e74c7e7c36f795a81dc093c1e5cec792d9561f2c;hb=79a4e2ddda1af4890a50807a3fc3a34c15b19e63;hp=28dd8b298d4016218fc648d325d4f2c95b8da677;hpb=2f92b02fbb5cb72b3e4f0d2495428a18d6b51df2;p=ardour-manual diff --git a/_manual/22_using-control-surfaces/01_controlling-ardour-with-osc.html b/_manual/22_using-control-surfaces/01_controlling-ardour-with-osc.html index 28dd8b2..e74c7e7 100644 --- a/_manual/22_using-control-surfaces/01_controlling-ardour-with-osc.html +++ b/_manual/22_using-control-surfaces/01_controlling-ardour-with-osc.html @@ -2,13 +2,25 @@ 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, 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 @@ -29,80 +41,212 @@ title: Controlling Ardour with OSC <Option name="osc-port" value="Your choice 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 + 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 + independantly 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

+ +

+ 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 valuse set by Aurdour'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. +

+

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

+
+
/set_surface bank_size strip_types + feedback fadermode
+
+ See below for an explaination of each parameter. +
+
+

bank_size

+

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

+

strip_types

+

+ Strip Types are coming soon... check for more info sometime. For now + just use 0 (or anything else) as this is ignored. I don't know the bit + order just yet, but it will work similar to feedback below. Strip Types + will determine What kind of strips will be included in a bank. This would + include: Audio, MIDI, busses, VCAs, Master, Monitor and hopefully + hidden or selected strips. +

+

feedback

+

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 17 would turn on feedback for strip and master + controls, but leave meters, timecode and bar/beat feedback off. +

+

gainmode

+

+ Gainmode is a an int that acts as a bool: +

+

+

List of OSC messages

-

Transport Control

+

Master or Global messages

+ +

Transport Control

-
/ardour/transport_stop
+
/transport_stop
-
/ardour/transport_play
+
/transport_play
-
/ardour/set_transport_speed s
+
/set_transport_speed s
where s is a float ranging from -8.0f to 8.0f
-
/ardour/ffwd
+
/ffwd
-
/ardour/rewind
+
/rewind
-
/ardour/goto_start
+
/goto_start
-
/ardour/goto_end
+
/goto_end
-
/ardour/add_marker
+
/add_marker
(adds marker to the current transport position)
-
/ardour/next_marker
+
/next_marker
-
/ardour/prev_marker
+
/prev_marker
-
/ardour/locate spos roll
+
/locate spos roll
where spos is the target position in samples and roll is a bool/integer defining whether you want transport to be kept rolling or not
-
/ardour/loop_toggle
+
/loop_toggle
-

Editing-related

+

Editing-related

-
/ardour/undo
+
/undo
-
/ardour/redo
+
/redo
-
/ardour/save_state
+
/save_state
(this is the regular Session > Save operation)
-

Recording control

+

Recording control

-
/ardour/toggle_punch_in
+
/toggle_punch_in
-
/ardour/toggle_punch_out
+
/toggle_punch_out
-
/ardour/rec_enable_toggle
+
/rec_enable_toggle
-
/ardour/toggle_all_rec_enables
+
/toggle_all_rec_enables
(toggles all tracks' recording state)
+

Master and Monitor strip control

+
+
/master/gain dB
+
where dB is a float ranging from -193 to +6 representing the desired gain of master in dB
+
/master/fader position
+
where position is an int ranging from 0 to 1023 representing the fader control position
+
/master/trimdB dB
+
where dB is a float ranging from -20 to +20 representing the desired trim for master in dB
+
/master/pan_stereo_position position
+
where position is a float ranging from 0 to 1 representing the desired pan position for master
+
/master/mute yn
+
where yn is a bool/int representing the desired mute state of the track
+
/monitor/gain dB
+
where dB is a float ranging from -193 to 6 representing the desired gain of monitor in dB
+
/monitor/fader position
+
where position is an int ranging from 0 to 1023 representing the fader control position
+
+

Track specific operations

- For each of the following, rid is the remote ID or the track + 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 possition 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.

-
/ardour/routes/mute rid mute_st
+
/bank_up
+
Change bank to the next higher bank.
+
/bank_down
+
Change bank to the next lower bank.
+
/strip/mute ssid mute_st
where mute_st is a bool/int representing the desired mute state of the track
-
/ardour/routes/solo rid solo_st
+
/strip/solo ssid solo_st
where solo_st is a bool/int representing the desired solo state of the track
-
/ardour/routes/recenable rid rec_st
+
/strip/recenable ssid rec_st
where rec_st is a bool/int representing the desired rec state of the track
-
/ardour/routes/gainabs rid gain_abs
-
where gain_abs is a float ranging from 0 to 2 (0 being -infinite, 1 being 0dB and 2 being +6dB).
-
/ardour/routes/gaindB rid gain_db
-
where gain_db is a float ranging from -400 to 6 representing the desired gain of the track in dB.
-
/ardour/routes/trimabs rid trim_abs
+
/strip/gain ssid gain
+
where gain is a float ranging from -193 to 6 representing the desired gain of the track in dB.
+
/strip/fader ssid position
+
where position is an int ranging from 0 to 1023 representing the fader control position.
+
/strip/trimabs ssid trim_abs
where trim_abs is a float ranging from 0.1 to 10 (-20dB to +20dB). (since 4.1)
-
/ardour/routes/trimdB rid trim_db
-
where trim_db is a float ranging from -20 to 20 representing the desired trim of the track in dB. (since 4.1)
+
/strip/trimdB ssid trim_db
+
where trim_db is a float ranging from -20 to 20 representing the desired trim of the track in dB.
+
/strip/pan_stereo_position ssid position
+
where position is a float ranging from 0 to 1 representing the desired pan position of the track

Menu actions

@@ -110,7 +254,7 @@ here"/> 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):

-/ardour/access_action action_name +/access_action action_name

The list below shows all available values of action-name as of mid-February 2014 for Ardour 3.5. You can get the current list at any @@ -687,3 +831,5 @@ here"/>

Zoom/zoom-focus-playhead
Zoom Focus Playhead
Zoom/zoom-focus-right
Zoom Focus Right
+ +{% children %}