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

Bitwig: clap_host::request_restart doesn't trigger deactivate/activate #55

Open
LucasThompson opened this issue Jul 7, 2023 · 5 comments
Assignees
Labels
bitwig Bitwig Studio related bug Something isn't working fixed This issue is now fixed and waiting for verification

Comments

@LucasThompson
Copy link

Bitwig doesn't seem to ever deactivate the plugin after a request to restart. The docs do say that the operation may be delayed by the host, but it seems doubtful that the calls are ever going to come, as stop_processing and start_processing are called in response to the request from the audio thread, perhaps instead of deactivating + activating?

This makes it impossible to reconfigure parameters and notes + audio ports, as the plugin must be in a deactivated state in order to do so (according to the spec). Bitwig does report that it supports all of the audio port rescan flags, which makes it even more unexpected that this restart flow isn't working as detailed in the spec.

REAPER, for example, does call deactivate followed by activate. Why is Bitwig stopping and starting audio processing instead?

Am I missing something?

Enviornment:

  • Bitwig Studio 5.0
  • CLAP 1.1.8
  • macOS 13.4

I've not tried other platforms, but this also occurs with Bitwig Studio 4.4.10

@abique abique self-assigned this Jul 20, 2023
@abique abique added bug Something isn't working bitwig Bitwig Studio related labels Jul 20, 2023
@abique
Copy link
Contributor

abique commented Jul 20, 2023

Hi @LucasThompson ,

I'm aware of this issue and it is fixed in our development branch, unfortunately this won't be merged into the 5.0 branch as it is part of a larger change/refactoring which came too late and was considered too risky to get merged into 5.0.

Sorry, you'll have to wait a bit for the fix.

Cheers,
Alex

@abique abique added the fixed This issue is now fixed and waiting for verification label Sep 14, 2023
@abique
Copy link
Contributor

abique commented Sep 14, 2023

Fix is merged for 5.1.

@mccann
Copy link

mccann commented Apr 8, 2024

Hi, I'm experiencing this problem even in 5.1, and 5.1.6 -- Also on macOS.

In my situation, I have a plugin that only has a single note port in. (It's a note-analyzer, and I want to change the dialects )
When requesting a restart, nothing happens.

There is however one interesting twist. Bitwig will start to function as expected, if I manually via Bitwig GUI push the device 'off/on' orange-power-button. (Which calls stop_processing, start_processing). Once I've clicked that button, requests to restart DO work.

FYI, I'm calling request from the GUI/Main thread, but the result is the same when I shunted the call over to the audio thread.

My intuition is that the initial state is somehow blocking the functionality, but the "power cycle" somehow triggers a functional state.

@abique
Copy link
Contributor

abique commented Apr 8, 2024

Hi @mccann ,
Could you give me a build of your plugin and exact steps so I could repro?
Thank you very much 👍

@mccann
Copy link

mccann commented Apr 8, 2024

@abique Hello,

Would be a bit troublesome to give you a build, but I have made a minimal plugin that has the same problem here: https://github.com/mccann/CLAP-Restart-Test

It has instructions to reproduce in its README.

It is based on the minimal plugin I made for #58

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
bitwig Bitwig Studio related bug Something isn't working fixed This issue is now fixed and waiting for verification
Projects
None yet
Development

No branches or pull requests

3 participants