Replies: 5 comments 5 replies
-
One way to do this is for the plugin to expose additional audio ports.
In order to handle the case when the feedback ports are not connected by the host, a dry/wet mix parameter could be exposed by the plugin. Or maybe better is to use clap_audio_ports_config, the plugin can then provide two such configs; one with only the main audio ports, and one including the feedback audio ports. Otherwise I think there is no way for the plugin to query the host if an audio port is connected though? clap_process_t states that "they must have the same count as specified by clap_plugin_audio_ports->count()." struct clap_audio_buffer does have a latency field included, which could be set by the host to the nested plugin's latency. I don't know the correct way to handle this though, the plugin might need to set its own latency to a minimum of the one reported by the audio buffer, but during process() call it is too late to change the latency. The plugin should be prepared to handle if the host connects feedback_out to feedback_in and reports the plugin's own latency, so it doesn't create a recursive loop of ever increasing latency. |
Beta Was this translation helpful? Give feedback.
-
This issue has some comments on it. #101 |
Beta Was this translation helpful? Give feedback.
-
For doing this, maybe the easiest is to host the plugin yourself: you scan the clap plugins (and maybe others), you build your own plugin cache and plugin chooser. If you rely on the host it'll work half of the time. So basically you'd sell a non-working product to the user. |
Beta Was this translation helpful? Give feedback.
-
my use case would be swapping out a subtractive synth's filters |
Beta Was this translation helpful? Give feedback.
-
This makes a lot of sense to me. Do CLAPs know if their audio streams are being read? If not, the host would have to say when it was taking on one of these injection points because one would want the audio to pass right by if nothing was connected. |
Beta Was this translation helpful? Give feedback.
-
I like that feature of Bitwig Studio very much where I can nest devices into others. E.g. useful for
In theory it should be possible that a CLAP plugin offers nesting slots to a host that supports that kind of routing.
Some rough ideas here:
Questions/difficulties:
Maybe all that is way to complicated and maybe it would be an extension only the Bitwig guys could design with their experience in that domain. (?) Also as Bitwig so far is the only software supporting such kind of routings, it might be better suited in a Bitwig-specific extension.
Beta Was this translation helpful? Give feedback.
All reactions