-
-
Notifications
You must be signed in to change notification settings - Fork 155
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
[WIP] 8 CV input expander for parameters (Ildaeil, Carla plugin host) #88
base: main
Are you sure you want to change the base?
Conversation
plugins/Cardinal/src/Ildaeil.cpp
Outdated
if (i < fPluginGenericUI->parameterCount && module->leftExpander.module->inputs[i].isConnected()) { | ||
float scaled_param = (messagesFromExpander[i] + 10.0) * (fPluginGenericUI->parameters[i].max - fPluginGenericUI->parameters[i].min) / (20.0 + fPluginGenericUI->parameters[i].min); | ||
fPluginGenericUI->values[i] = scaled_param; | ||
carla_set_parameter_value(module->fCarlaHostHandle, 0, 0, scaled_param); |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
@falkTX I'm unsure about that part, if there's a more elegant way. How does that look to you? From my test and understanding of this module, both ui->values[]
and call to carla_set_parameter_value
have to be updated to the new value in order to update both the DSP and the UI.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
yeah this should be done in a different way, I will handle it soon
…host too (First plugin in Carla rack can be controlled for now)
e0aecb0
to
30134b4
Compare
971ae2f
to
a9e5b9a
Compare
e3644fb
to
ae04997
Compare
f8e7b03
to
24bed60
Compare
54b0ec1
to
d3b722e
Compare
a30e278
to
f7a919f
Compare
0cba0a1
to
80bda51
Compare
58e55b0
to
52d71a1
Compare
Pretty basic for now, 8 parameters of the loaded plugin can be automated.
If inputs are connected, the expander "steals" the UI control, if unconnected, the user controls it.
Note that this is a left-side expander.
There has been some discussion about using the more common convention of right side.
I've made it left-side to experiment with the pattern of constructing chains of expanding modules: here this expander adds (parameters) inputs to the left, and future expanders for outputs could use the right side.
TODO:
Mark the parameter visually in the UI when the expander "stole" it.Done in cea5099Notes for future improvements: