[Ardour-Dev] OSC Anyone want to test?

Len Ovens len at ovenwerks.net
Tue May 31 19:18:27 PDT 2016


New OSC has moved to Master in git. This is OSC for Ardour 5 and beyond.

For legacy OSC programs... remove any /ardour and replace any /routes or 
/route with /strip
Almost all old commands are there in this form.

Lots of new feedback aimed at simple OSC surfaces (tablet based). The 
feedback matches the command. For example /master/mute "f" 1 will turn on 
master's mute and Ardour will send /master/mute "f" 1 to the surface if 
the mute is turned on by the GUI, midi or another OSC surface.

Ardour will accept both /path and /path f where f is 1 for press and 0 for 
release (0 is ignored). (thanks to TouchOSC)

Feedback is turned on with /set_surface iiii where the third i is the 
feedback setting or /set_surface/feedback i where i is a bitset that 
determines what parts of feedback are sent to the surface. If your surface 
only sends floats that is ok, Ardour will read them as an Int.

One of the bits will tell Ardour to send strip info in the 
/strip/command/id f manner for surfaces that don't understand anything 
else. (Ardour will also take commands input the same way) The old method 
of /strip/command id value will of course still work. (for 
builders/programmers of surfaces, the old way is also much easier to deal 
with at the receiving end)

Changes: faders have only two types of math (right now), /strip/gain is in 
dB and /strip/fader is in position where 1023 is 100% (+6 dB), 800 is 78% 
(0dB) and 0 is -inf (AKA -193). So if you are using gainabs you will want 
to change it to one of those two. gain allows exact settings (to the 
limits of 32bit floats) and fader gives a position that matches the fader 
position in the GUI.

Positional gain: I am thinking of making it either 2 - 1025 or 0-1 float. 
If the incoming value is less than 2 it will be treated as 0.0 - 1.0 fader 
position and 2 and up will be -2/1023 to get the same number. My personal 
preference would be to just do 0.0 to 1.0 for all position numbers.

dealing with the master and monitor strip has changed. They are no longer 
318/319 but can be accessed directly as /master/command and 
/monitor/command.

Some feedback with no commands are new. /timecode, /bar_beat, /heartbeat,
/strip/name, /session_name, /strip/meter (3 maths), /strip/signal (active 
if the signal is at least -40dB), /record_tally (to power one of those 
lighted "do not enter" signs)

The five main transport commands (rew,ffwd, stop, play, and record) have 
feedback... more to come.

Banking is new. The code is set up so that everything is banked even if 
banking is not set up (in which case the bank size is infinite). 
/set_surface (or /set_surface/bank_size) will allow the surface to tell 
Ardour how many strips in a bank. So there are of course /bank_up and 
/bank_down commands. I still have some work to do on this, the right end 
of the surface is "odd" and bank_up past the end fills all strips.

All feedback/banking/settings is on a per surface basis. Two devices with 
different bank sizes ,fader maths and path styles have been in use here 
for my testing. They do not have to be in sync. One can control strips 
10-16 while the other is working on strips 24-48. When I get strip types 
working one could be looking at busses and VCAs only and the other input 
strips.

I have tried to update the manual pages for OSC, but there is a lot left 
to do.

Still coming:
 	/strip/select and /selected/command parameter
 		This is still at the thinking stage. I am not sure how I
 		will set this. GUI selection becomes a pain when using
 		groups (select one in a group and all are... which one
 		did I select?)
 	/monitor/stuff
 		Mute, Dim, mono, All solos off, whatever else I can.
 		in the case that there is no monitor there will be
 		no control/feedback :)
 	Strip types
 		The settings are there, but not used yet.
 	more manual updates
 		it would be nice to have commands that have been in the
 		code since Ardour 3 actually documented... speaking of
 		Ardour 3, the listed menu actions are that far out of date
 		as well.
 	Possible GUI settings
 		Don't hold your breath ;)  This would include saving
 		device settings.

Any testing would help. Some bugs I might know of, but most will be new to 
me.

--
Len Ovens
www.ovenwerks.net




More information about the Ardour-Dev mailing list