[Ardour-Dev] OSC changes/updates

Len Ovens len at ovenwerks.net
Thu Apr 14 11:02:54 PDT 2016


Just started working on some middleware for OSC control with Ardour.
Here are some things I would like to work on in the Ardour code to make 
OSC use better. I would normally talk about this on IRC, but it is easier 
to put a clear idea of where I am going in this format.

Feedback:
 	sending /routes/list starts Ardour sending some feedback about 
each channel. There are:
 	a) some things missing (such as pan or trim)
 	b) some things that are not as useful as they could be
 		- gain is abs only. Fader or dB would both be more useful.
 		- SOLO is SIP only, Listen does not work.
 	c) None of the master kinds of things get feedback turned on
 		- master gain or mute
 		- monitor anything
 		- Transport controls
 		- even though /routes/list returns PH position it is not monitored
 	d) metering
 		- I would suggest dB and positional metering
 			(0-1 based on meter position in GUI)

Banking:
 	Feedback is already by server (the server that sent requests), 
Banking should therefore follow. Each server should have banksize and 
current_bank. Banksize = 0 means no banking for that server. So a 
controller would use banking by first sending a banksize command. Any bank 
type command should return an error if banksize = 0. On error, the 
controller should resend banksize if it wants banking. For a server 
receiving Banked info, all of the commands would be strip based instead of 
rid based. OSC code in Ardour would translate strip <=> rid for each 
transaction. I think this would be better than adding an /ardour/bank 
namespace. Effectively non-banked would be infinite bank size/bank 1.

This is a far from full list of things that could help OSC. I am thinking 
that starting with the banking code would mean less work later on adding 
bank code to more functions (less work finding where it needs to be 
added). From what I can tell, most OSC controllers are tablet based with 
minimum internal smarts. Middleware could make up for that, but the person 
who downloads and uses a tablet app is likely to find that troublesome. So 
from their POV, Banking and positional control/feedback are probably most 
important.

Comments? Maybe I am full of it :)

--
Len Ovens
www.ovenwerks.net



More information about the Ardour-Dev mailing list