From the original SynthMaker forum (2004–2014), with its members’ names and dates.
ferryb ·
Hi,
I made a horizontal stiched bitmap that exist of 128 elements and when I load it into a bitmap knob component it works for 99,21875% procent. Because the middle position of 64 is skipped when moving thru the positions
😮
Schematic that illustrates my problem: http://www.chinaski.org/synthmaker/bitmapknob_question.osm
and the bitmap I'm using: http://www.chinaski.org/synthmaker/0_127_cacaca.bmp
Can anyone explain what I do wrong here?
P.S. what does the MIDI cc: property of the bimap knob represent?
oddson ·
Unless you hold down the shift key to kick it into fine control mode you are dividing by 80 possible positions and it 64/127 isn't equal to any of them...(actually it would be the 65th so 65/128 isn't an available ratio from the standard output without fine mode).
There are others skipped too...
You can fix it by changing the sensitivity parameter to 0.0625 (currently set to (0.1).
BTW- you could do the same thing without the bitmaps. The numbers could be calculated instead.
See this thread [old link]
ferryb ·
Oddson,
I'm impressed and very happy with your detailed anwser. Thank you very much!
oddson ·
...very happy with your detailed anwser
One bit of detail I could add is where the number 0.0625 comes from.
For some reason the drag [edit]Y[/edit] uses the standard grid size of 8 as a multiple in its sensitivity. So a sensivity of 0.1 leads to 80 positions. To get 128 you take 128/8 and then take it's multiplicative inverse.
oddson ·
OK - sensitivity should be 0.0629921 = 1/(127/8)
To see 0.0625 is wrong connect to a float instead of an integer...
Here's a version without the bitmap stuff:OSM
It's a stock knob with all the knob graphics removed and with a second label section altered slightly to take the float value and format it (see thread on format).
It's set up for 0-127 range and integer display but all through properties so it can be any configuration.
ferryb ·
oddson,
thanks a lot for the information and the component. I will use that. 🙂
infuzion ·
Couldn't the DragY's input Max Value be changed to 127 instead of using the MinMax module? Or can't VSTParam handle numbers lager than 1?
oddson ·
...Or can't VSTParam handle numbers lager than 1?
That's how I hear it...
oddson ·
Just an FYI - my OSM has at least one bug... it doesn't draw the readout on load. I tried to alter the redraw but couldn't get it to work and since it was a throw-together and I'm not using it my motivation to fix it is limited.
Also, the 'default' setting of 0.5 if used will cause the control to misread.
A normalized ratio of 0.5 is equal to 63.5 output. After that the control outputs float values ending in .5 that are truncated down if coerced to an integer but will display rounded up with the format "%.0f".
I'd say this latter issue is a shortcoming, if not an outright bug, of the stock knob as well. The problem is the 'default' value should be scaled to the same range as the min/max (range) of the control. But since the control also needs to keep track of a normalized ratio for the preset you'd need to alter the min/max module to feedback an inverse value to the default setting the then normalize that for the internal structure of the control....
😕 I think... 😕
Wrote something here? To have a post removed or your name hidden, write to [email protected].