[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