-
-
Notifications
You must be signed in to change notification settings - Fork 145
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
Linux VST3 & JUCE: many extra parameters, via "emulate MIDI CC with parameters" #1240
Comments
Seems to me it is working as intended. Plugins that want to handle CC internally really should not exist. My recommendation is to simply not have that "juce hack" enabled. |
What is the legacy midi option? How could I enable that? What would be the generic approach to receive the MIDI CC with this option? |
Perhaps this topic on VST 3 SDK forum is related. On VST 3, I haven't used JUCE, so not sure how Latest VST 3 SDK (3.7) provides
On Carla 2.2.0-RC-1, there's a setting to increase the number of parameter displayed by generic UI (Configure Carla -> Engine -> Max Parameters). However, Max Parameters can't exceed 1000 on my environment. |
So I guess the best would be to wait for juce to update the VST SDK to 3.7 and to use the kIsHidden flag for the MIDI controller parameters. Is that it? |
Please dont do that. This seems the typical "before asking if you could, ask if you should" situation. What exactly are you trying to accomplish here? |
I want to receive Midi CC in a Juce Vst3 plugin. I don't understand why I should not use what is suggested by Juce (they could have made a mistake but I don't understand what it is, I don't know very well this domain so I don't know the "risk"). And what would be the alternative because if there is no sustainable alternative, I prefer to use an approach that is not ideal but that works in most of the situations. |
receiving midi cc is fine. mapping midi cc to parameter changes on the plugin-side is not. if you have a parameter mapped to a midi cc, the host is not able to know this information. I have developed both a host (Carla) and some plugins (through DISTRHO-Ports and DPF stuff). As I see it, plugins should choose one of these options:
Trying to both expose parameter to the host, and handle them internally too with MIDI CCs is a design mistake and/or a hack. |
I think adding
@pierreguillot After looking up a documentation a bit, I think hiding parameter from host is possible by removing |
Closing this issue since there is nothing to do from Carla's side. |
It seems a bit old thread before JUCE indeed started to hide those CC parameters in the recent releases, but anyways.
I figured this exact issue is causing the issue at Zrythm (which is based on Carla plugin hosting). It is showing extra parameters, and there is no way for it to know which parameters should be hidden: https://todo.sr.ht/~alextee/zrythm-feature/577#event-214808 I'm not sure if there should be a different ticket/issue though. Things discussed here seems to precisely describe the issue. What information would be needed further? |
Might depend on the plugin. Carla is reading "is hidden" attribute for vst3 parameters, and unsets the On JUCE hosted plugins we do not get access to the full VST3 object, which makes implementing this a bit tricky.. Once the native VST3 implementation is finished this will stop being an issue, since then Carla has full control of the plugin hosting. |
Oh, definitely. What I tried with Zrythm was my custom build of jpcima/Hera with JUCE7, but to make sure I confirmed with surge-synthesizer/surge as of commit fab28b3d on Ubuntu 22.04. Though if the existing JUCE based implementation did not work yet it is already supposed to, then it would make better sense to wait for native VST3 implementation. At least it is not blocking Zrythm at all. |
This is an issue with Camomile VST3 plugins (Pure Data) in Carla. Extra parameters are instantiated, 128 parameters per MIDI channel (2048 total -- beyond Carla's parameter limit, apparently):
pierreguillot/Camomile#194
Apparently related to JUCE option JUCE_VST3_EMULATE_MIDI_CC_WITH_PARAMETERS. It's set at compile time. Documented here in a JUCE thread:
https://forum.juce.com/t/what-is-the-intention-of-macro-juce-vst3-emulate-midi-cc-with-parameters/17858
The text was updated successfully, but these errors were encountered: