Open helgoboss opened 2 years ago
Hey, I think this is what I intended with #204 ! Right now I need it again, because a VST I recently purchased (GForce SEM) has only one parameter for pitch, but I have separate virtual (and real) source knobs for coarse and fine. So I would like to use a factor of 0.1 or 0.05 for the "Pitch Fine" virtual source (in case it is from "make relative" or from an encoder).
Hey, I think this is what I intended with #204 !
Sounds like something else to me. This issue is not about a general switch, it's about choosing which step size to use, in the GUI via dropdown, not via knob/fader/....
Right now I need it again, because a VST I recently purchased (GForce SEM) has only one parameter for pitch, but I have separate virtual (and real) source knobs for coarse and fine. So I would like to use a factor of 0.1 or 0.05 for the "Pitch Fine" virtual source (in case it is from "make relative" or from an encoder).
You can do that already using conditional activation. Please discuss in #204 if you have new ideas about the general switch.
I do not mean the "general switch" idea. And I know about conditional activation ;-)
I want to create a mapping, which has as its input a knob, which is converted using "make relative" (in the controller mapping), and then being able to have FINE control with that knob. In other words, moving the knob from one to the other extreme should cover only a small part of the VST parameter range (for example 1/10). I tried to achieve that using Step min = 0.1, but it does not work.
This is my (main) mapping:
{
kind = "Mapping",
value = {
id = "o1S-zNFI9b_GU9taXNXqj",
name = "8",
source = {
kind = "Virtual",
id = "SY/Osc2PitchFine",
},
glue = {
step_size_interval = {0.001, 0.005},
step_factor_interval = {1, 5},
},
target = {
kind = "FxParameterValue",
parameter = {
address = "ById",
fx = {
address = "ById",
chain = {
address = "Track",
},
id = "61A22922-B9CD-9B4F-994F-25CF630FF949",
},
index = 1,
},
},
},
}
Did you try adjusting target min/max? That's what one usually uses for and restricting the target range. And it works for "Make relative" as well.
Did you try adjusting target min/max
But then I am stuck to one specific part of the range.
I want to use one mapping, to go from target value 0 to 0.6. Then use the "fine tune" mapping, to go from 0.6 to 0.622. Some time later, I want to go with the "coarse" mapping from 0.622 to 0.422. The "fine tune" to 0.415.
Yes, then I guess this FR here could be useful to you. It would allow you to conditionally switch between to "Make relative" mappings with different step sizes.
Yes. the factor for relative is the important thing for me.
I had some more ideas, which I would like to write down (even though I do not have a use case or a need for them):
When implementing this, "Make relative" should also be improved so that repeated arrival of 1.0 increases and repeated arrival of 0.0 decreases. This makes it possible to easily deal with encoders that can only send absolute values. See https://forum.cockos.com/showthread.php?t=277640, Qube Mobi One
Make relative produces a continuous increment. At the moment, it will be converted to 1/-1 in some cases or maybe even the target step size will be ignored (?)
We should introduce "Force continuous" #183 but name it as enum:
a) Use incoming step size (allows full sweep) factor b) Use target step size if target discrete factor c) Define custom step size (= force continuous)
Continuous absolute target (volume): a and c make sense. Default: a
Continuous relative target (doesn't exist yet but could exist in future, e.g. with clap format): same as above
Discrete absolute target (navigate within tracks): a, b and c would make sense. Default = a (use incoming step size)
Discrete relative target (mouse scroll wheel): b would make sense. Default = b
Trigger target: like discrete relative target