Vst Dev: Numerical Vst Value Displayed As %


I have just started out studying VST programming, and have compiled the ‘again’ example in the VST SDK 2.4

It loads fine into Renoise, but when I click on the dB value label to directly input a value by keyboard, the numerical value, which is displayed at 0.000000dB, converts to a % value (0.000000 being 100%)

Now, this is a little annoying, as % values don’t allow me to accurately input how much I want to raise / drop the gain by.

Is this an issue with Renoise, or is it to do with the code in the ‘again’ example?

I have noticed this behaviour in a number of other 3rd party plugins too…


I have yet to see a gui less plugin where this works, VSTs store all their paramaters internally as float ranging from 0 to 1. As far as i know the VSTs have to do their own conversion to the proper values internally, just like Renoise does with it’s own paramaters. If you want to offer proper input you’d have to offer a GUI for the VST and parse the value entered in a textbox yourself. Highly doubt this has anything to do with Renoise, but might be wrong of course.

I think the problem is that VST plugin parameters are all type of float from 0.0 to 1.0, the plugins have some method that gives the display value, but no function to set the parameter by the displayed value. Renoise displays 0.0 … 1.0 as percentage, it makes a little more sense than 0 - 1. But there is really no way how to let user enter the db or whatever other than using the GUI of the plugin itself. If plugin has the GUI. If not, you are stuck with percents.

Instead of again you can obviously use renoise internal Gainer device which lets you enter precise values. :P

There are functions to do string<->float conversions for VSTs. But the problem with those is that no host uses them, and many plugs crash when calling them. Thats why we are editing all parameter values in percentages…

Well, I could, yeah! I wasn’t using again to replace the internal Gainer (which is of course, much better!). I was making it to kick start my VST making adventure. If numerical values can’t be input properly onto the standard GUI in Renoise for a 3rd party plug, I will need to make my GUI’s extra special!

OK, so the only way to go about this would be to confine the numerical input to the GUI, right?