Question for the devs I suppose - does Ardour have a global preferences setting for VST3 plug-ins ‘knob mode’ - e.g. linear, relative, circular etc?
I was doing some testing and I noticed the VST3 plug-in control behavior seems always to be ‘linear’, whereas on other host applications you can set it globally (or let the plug-in use its own default / user preference)
We used to use Vst::kRelativCircularMode until July 2021, and then changed it to to match Ardour’s automation line behavior.
Possible options are:
non-linear jumps is something that should be highly discouraged, yet Ardour could offer a preference for kRelativCircularMode. So far nobody asked for it, and the only user feedback was that we should use kLinearMode (to match automation line).
That would mean the host does not call setKnobMode?
The reason this came up is that I introduced a preferences panel in my plug-ins, which allows the user to set the knob mode (for all instances of the plug-in). A support ticket was raised saying the selection via the plug-in’s prefs panel were not being saved (in Ardour it always reverted to linear - which is actually what most people, except me it seems, prefer anyway… )
I designed it so that the host setting will normally take priority over the plug-in’s own preferences setting - which is exactly what is happening here, but in e.g. Cubase, Reaper, etc you can globally configure the host setting for e.g.
Default (let the plug-in decide, e.g. don’t call setKnobMode(mode) at all. In my case the plug-in would then default to whatever the user set in the plug-in’s own prefs, or some default, I think I chose relative mode - but most other plug-ins would likely default to linear, since no-one likes circular mode).
Linear (drag vertically to change the parameter).
Circular (clicking on a control will move it immediately to the mouse pointer’s angular position. To adjust the control, drag the mouse pointer in a circle or an arc).
Relative (Similar to circular mode, however moving the mouse will adjust the control *relative to its current setting).
A lot of plug-ins seem not to implement setKnobMode at all and just default to linear - perhaps it would be possible to have a preferences setting in Ardour for us strange folks who like something other than linear? )
Thanks, yes it seems to be working fine for me - possibly I wouldn’t have added the ‘(discouraged)’ qualification to circular mode - you’re right, I think there are very valid reasons why its normally not to be recommended, as its a total nightmare if you click on a control and it makes a step jump, but maybe it isn’t for the DAW (developers) to decide if you should or shouldn’t like to use it? That may depend on other factors you don’t know about such as what input device is being used, or just personal preference, even if it seems bizarre. Personally I would just give all options equal weight. But on a technical level, it now works as intended.
(side note, I’ve had a few unrelated crashes when using the demo version of Ardour, specifically when selecting ‘Save and Quit’ in response to the demo timeout pop-up, ardour exits uncleanly e.g.
or just segfaults. This doesn’t happen in normal use where the ‘don’t quit’ ‘just quit’ ‘save and quit’ etc popup seems to work fine. This seems to go back as far as Ardour8, I don’t have anything earlier to test with).
I was using the nightly (debug) build, might also be that the transport was still running when I quit?
(I was playing back a mix as a test, when the demo timed out and the ‘stay silent, save and exit’ etc popup appeared, so I just selected to ‘save and exit’ without thinking to stop the playback first (since it was silent by then anyway).