Can't achieve max values with knobs?

I’m not certain if this is as intended, but as long as I’ve had the Organelle, I’ve had an existing potential problem where parameters that are measured on a gradient (ex: tuning in cents) on most of my patches don’t seem to achieve the maximum value when the knob is turned clockwise.

Patches where a knob aims to achieve a range measured in -% to +% will only go from -100% to +99%.

Patches with tuning bound a knob go from 0 to 2395 (I imagine 2400 is the logical max tuning value).

The Rhodey patch will transpose from -12 to +11, etc. etc.

Is this as intended? Is it a hardware issue?

I’ve seen the same (and also negative values)

It’s not really a hardware issue, more a scaling issue for parameters, in the patch.

I think the cause (certainly in my patches so far, which I’ll be improving :wink: ) is a too trivial scaling.
a pot ideally goes from 0…1 , but in reality due to various things, its probably going -0.0001 to 0.999938.
so lets say you want to have a range 0 to 100, a trivial implantation is
[knob] ->[*100.0] -> [int], but as int rounds down this will give you 0…99.
a ‘minor improvement’ is to add a bit e.g.
[knob] -> [+0.05]-> [*100.0] -> [int], so now this pushes it to (e.g. 100.04), which rounds down to 100

the trick is the ‘bit to add’ is dependent on the range, you need enough, to push over 100 (in this case), but not too much that you push 0% to 1%.

also, I’m not sure about all patches, but for mine, is largely a display issue only…
I like to display as integers percentages to keep the display tidy, but actually I use the value at full resolution… i.e. it might read 99%, but it if you have it fully turned clockwise, its probably more like 99.9998 (similarly, you can actually dial in between other values e.g. between 50…51%, is only the display that is stepped)

perhaps mother.pd could be improved slightly, especially stopping negative values, it cant really solve this, as you need to do the offsetting depending upon the target range - and usually better if the patch has the flexibility of dealing with this issue.

3 Likes

Thanks for the informative reply. We’ve got a lot of knowledgable people here in these forums.

Is there anything that might be done as a layperson? The 2395 cents is actually at 2395 cents which throws the tuning off a little for me. It’s not much but I do notice it.

In the Pure Data patch you can add [+ 5] to that value. If you need the bottom tuning to be accurate as well it may be a good idea to do some maths to scale your actual knob values to the values that you want inside of the patch.

I don’t think there is a much easier way currently. There would need to be some changes in the OS to auto-calibrate the true range of the knob to a 0-1 scale before outputting to PD.

It looks like your Organelle is working normally. You could change the scaling by overriding mother.pd (placing your own version in the Patches folder), or change on a patch by patch basis.

To change in mother:
In the mother.pd file navigate to the [analog] sub patch in the [messageIO] sub patch. At the bottom the raw integer knob values are converted to 0-.999 by dividing by 1024. Change the 1024 to 1023 to make it from 0-1.

i have a file that helps this issue it’s a version of scale~ from MSP.
d-scale.pd (1.1 KB)

you call it like this

[d-scale inValLow invalhigh Val(low) Val(high) 100]

Sorry to revive the thread. I’m having the same issue where my pots are not reaching their full values (Organelle 1). They all goes to 0 without issue, but none reach their max values.

Just wanted to ask if it is possible to override the scaling globally, or do I have to make separate mother.pd’s for each patch…?

What OS version are you running (if you navigate to Settins → Info it will say). You might need to update

I’m running 4.0. And today I swapped the pots the fresh ones, and the issue is still there. I perhaps got a couple of decimals better. Earlier max was 99.4 and now max is 99.6. The thing is that all pots have the same behaviour.

The values stops increasing even though there is a couple of milllimeters left in the pots physical turning radius.

I’ve tried to override the scaling for each pot in the mother.pd. I’m probably doing it wrong since I’m not seeing any change regardless if I put 1010 or 500 instead of the default 1023…

Why are my newly installed pots behaving the same way as the old ones? The issue must be something other than the physical pots right?

As of now I can not change values in patches which have the maxmium value set as the default value (and with the “catch up” behaviour for the pots enabled). So If the filter is fully open in a patch, I can not reach that value with the pots, so I’m stuck at that value…

Any help would be appreciated.

Edit: Nevermind this last post. It seems it was only in Orac where the changing of the scaling in the analog.pd did nothing. I’ll see if anyone in the Orac thread can help me.