Skip to content
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

Open
wants to merge 8 commits into
base: main
Choose a base branch
from

Conversation

Simon-L
Copy link
Contributor

@Simon-L Simon-L commented Dec 12, 2021

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:

  • Actually testing and use it!
  • Mark the parameter visually in the UI when the expander "stole" it. Done in cea5099
  • Mark the inputs (red/green leds?) on the expander when there is a matching parameter in the plugin (to handle case where plugin has less than 8 parameters)

Notes for future improvements:

  • An output expander for "output parameters", marked as readonly in LV2, such as levels from analysers etc.

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);
Copy link
Contributor Author

@Simon-L Simon-L Dec 12, 2021

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.

Copy link
Contributor

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

@Simon-L Simon-L changed the title [WIP] Ildaeil: 8 CV input expander for plugin parameter [WIP] Ildaeil: 8 CV input expander for plugin parameters Dec 12, 2021
@Simon-L Simon-L changed the title [WIP] Ildaeil: 8 CV input expander for plugin parameters [WIP] 8 CV input expander for parameters (Ildaeil, Carla plugin host) Dec 16, 2021
@falkTX falkTX force-pushed the main branch 8 times, most recently from e0aecb0 to 30134b4 Compare January 19, 2022 13:33
@falkTX falkTX force-pushed the main branch 4 times, most recently from e3644fb to ae04997 Compare August 7, 2022 15:25
@falkTX falkTX force-pushed the main branch 8 times, most recently from 0cba0a1 to 80bda51 Compare January 5, 2024 18:44
@dromer dromer mentioned this pull request Sep 1, 2024
@dromer dromer linked an issue Sep 1, 2024 that may be closed by this pull request
@falkTX falkTX force-pushed the main branch 4 times, most recently from 58e55b0 to 52d71a1 Compare October 6, 2024 21:31
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

Ildaeil CV expander
2 participants