You are here

CLAP plugin development

I'm building a CLAP plugin and I'm noticing some strange inconsistencies, and I'm not sure if I'm doing something wrong, or if I've found a bug in qtractor, or if the CLAP spec has changed and the "new" way of doing things isn't supported yet.

According to the CLAP documentation, host_params->rescan is supposed to be called on the main thread, and host->request_callback is how you're supposed to request an opportunity to run code on the main thread. Sometimes this works as intended, but it seems that more often than not I never receive the callback.

But then I accidentally called rescan on the audio thread, and it works, and works consistently, even though I'm not supposed to do that.

On the other hand, neither technique seems to work when I try to use request_restart.

Can I get some advice on the best way to approach this in a way that should theoretically not blow up in other hosts?

(I built from source using the tag qtractor_0_9_34.)

rncbc's picture

you might have a point there but the most of what you ask is not implemented in qtractor as clap host.

for example, although host_params::rescan() is partially implemented host::request_callback() is not, there are just stubs that do nothing at all.


Ah. That explains it. Thanks for the information.

Taking a look at the underlying code I think I should be able to implement plugin_request_callback easily enough. I don't see any contribution guidelines on the project website; would you prefer a MR on SF?

rncbc's picture

would you prefer a MR on SF?

either a MR on SF or a PR on GH is fine, thanks.

rncbc's picture

merged as ee4d3ea2 in develop branch. thanks

Add new comment