OSC next
Len Ovens <[email protected]> Thu, 12 May 2016 15:38:17 -0700 (PDT)
| Newsgroups | gmane.comp.audio.ardour.devel |
|---|---|
| Message-ID | <[email protected]> |
Quick question for those interested. Right now I have 4 different kinds of fader control (route gain): absolute gain, gain in dB, fader position and fader position as an uint. Right now these are all separate commands: /strip/gainabs /strip/gaindB /strip/fader /strip/fader1024 If the GUI fader is changed, the same message is sent back to the control surface with the new value as well so that motor faders, encoders or remote GUIs can track GUI changes. However, the surface needs to know fader (and other) positions before the user tries to change the control or Ardours value will jump to where the surface's fader is. So there is a new /set_surface command that sets some variables for each surface in use. If that surface has feedback turned on, the current values will be sent to the surface. One of the values sent with the /set_surface command is the fader math to use. As such ardour already knows what math to use and could be just using /strip/gain for all four of the above. The only advantage for keeping all of the commands is for backwards compatability. So my question is: should I keep all four messages intact or just use the one /strip/gain? (this would also impact /master/gain and /monitor/gain which I am working on now) Anyway, as always there is an OSC branch... and documentation can seen here if that is easier: http://scott.cbbs.org/using-control-surfaces/controlling-ardour-with-osc/ (The Docs will be merged when osc hits main) My thoughts on variable control math is that the most universal method would be control position. I would almost prefer to only offer position (either as 1024 int or float 0 to 1) for any variable control. The 1024 option is the easiest for CPUs like Arduino that do better staying away from floating point math. It will still work with most FP kinds of things that can take a minimum/maximum value. So that is perhaps the most universal. The current default of abs seems to be the hardest method of dealing with fader values for any control surface. I personally have been using gaindB with break points to give me something that looks like a P&G fader (percentage values were taken from their 104mm model) This gives me a fader with nice dB values on the surface, but I am sure I could do the same with position as well. Using only one gain math would simplify things quite a bit. My only concern with using position is with software that communicates with Ardour. I am thinking things like PD that work with gain or dB internally. Yes, I am definitely looking for comments. -- Len Ovens www.ovenwerks.net