falkTX / Carla

Audio plugin host
https://kx.studio/carla
1.62k stars 146 forks source link

Allow choosing between logarithmic and linear scale for CC controls #387

Open unfa opened 8 years ago

unfa commented 8 years ago

Right now, controlling a filter with Carla using MIDI CC is quite difficult, because it is mapping the 0..127 value range linearly to 20..20000 Hz (approximately) which makes the control unnecesarily precise for the high frequencies and badly rough for the low frequencies.

georgkrause commented 8 years ago

@falkTX this is the bug which i mentioned in irc yesterday. i can give you some detailed information on this if needed

falkTX commented 8 years ago

yeah, I need to implement log scale for such parameters.

OrsonMaxwell commented 6 years ago

If I may, I'll suggest a more generic behaviour (probably for a later release) - a mapping function for each CC editable by the user. There are two good implementations that I've seen:

  1. FL Studio maintains a mathematical function which gets evaluated when mapping a CC like "-0.5*x - 0.5" to reversely control the lower half of the CC range;
  2. Piz MIDICurve VST plugin (which I use now) which has a minimalistic, but very nice graphical editor for the mapping curve and allows for great flexibility.

The current situation does not permit 14 bit CCs at all, but at least I found a messy way to map 7bit CCs as I please which GREATLY extends the range of useful automation I can do in my live racks.

jp-bennett commented 2 years ago

@falkTX this very old bug is still a problem with some interface/plugin combinations. I have a Behringer Xtouch one, and assigning the main fader to a Calf volume control demonstrates the same problem. 5991c38 does the heavy lifting to fix this, but unfortunately the user interface bit never got wired up. A simple option to force the use of the log scale would go a long ways toward fixing this.

JohannesLorenz commented 8 months ago

It seems that the Lv2 Port Property "logarithmic" (<http://lv2plug.in/ns/ext/port-props#logarithmic>) is completely ignored for input ports? As a reference, the TTL file from https://github.com/calf-studio-gear/calf/issues/260#issuecomment-1970766307 has no logarithmic controls in Carla.

Is this a duplicate, or should I open a separate issue for that?