OSC type tag 'd' for plugin descriptors?

I’m using Ardour with Châtaigne. I’ve been writing a JS module for Châtaigne in order to control Ardour via OSC.
So far so good, i can ask and get transport, tracks, sends and plugins. Now i’m trying to ask for the plugins parameters with
/strip/plugin/descriptor ssid pid
and it seems like Ardour sends me a type tagged ‘d’ message (which Châtaigne can’t handle, but that is a separate issue).

So far, i think i have not received any ‘d’ message in all my experiments with Ardour, and this is not written in the documentation.

Am i right ? Is this answer a ‘d’ type message ?
If so, what is the rationale here ? All the other numbers i got were just floats or ints maybe, why would we need doubles here specifically ?


The current value of the plugin’s parameter is sent as double.

It seems wrong. A float should suffice, in particular since setting the value takes a float as argument. Now the problem is that fixing this will break existing applications that expect double precision.

Transport speed is also sent as double.
I do not have an explanation about the rationale, my best guess is that it is historical (internally control values can use double precision).

1 Like

Thanks a lot for your answer, Robin.

Add the value as a float just after the value as a double ?

Strip SSID
Plug-in ID
Plug-in parameter ID
Plug-in name
Bitset of flags
Data type
Number of scale points
Scale points
Current parameter value as a double
Current parameter value as a float

Unless the meaning of the “data type” field is precisely to specify the format of the parameter…

Add another flag to the feedback settings ?

True ! I missed that.

This topic was automatically closed 28 days after the last reply. New replies are no longer allowed.