Skip to content

Level meters don't reflect +6db to -193db range

The ardour OSC interface supplies meter information based on the gainmode and feedback settings in set_surfaces.

OSC_flutter sets gainmode to 2. /strip/fader feedback should contain gain as 0.0 .. 1.0; /strip/gain should contain gain as -193db to +6 db.

Gainmode is an int:

0: dB value as a float from -193 to +6. Sent as /strip/gain SSID value. (-193 or below are the same as −∞)
1: A positional fader based on the same math as Ardour's GUI. A Float from 0 to 1. Sent as /strip/fader SSID value. At the same time the gain value in dB is sent to the channel name as text. The name will be restored after a short timeout.
2: A positional fader based on the same math as Ardour's GUI. A Float from 0 to 1. Sent as /strip/fader SSID value. At the same time the gain value in dB is sent as /strip/gain SSID value.
3: A positional fader based on the same math as Ardour's GUI. A Float from 0 to 1. Sent as /strip/fader SSID value.

OSC_Flutter sets feedback to 18587: buttonStatus + // 1 stripControl + // 2 heartbeat + // 8 masterSection + // 16 meterDb + // 128 positionTime + // 2048 slashReply; // 16384

Feedback is a bitmask, the meter bits are: 128: Send meter as dB (-193 to +6) or 0 to 1 depending on gainmode 256: Send meter a 16 bit value where each bit is a level and all bits of lower level are on. For use in a LED strip. This will not work if the above option is turned on.

The numbers are not displayed properly in OSC_Flutter LED widget. This may be related to the decay algorithm. Probably need to confirm this by disabling the decay logic and confirming the supplied values are converted properly.