-
-
Notifications
You must be signed in to change notification settings - Fork 3
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
realtime extension controller: support generic bidirectional messaging between host and plugin #73
Comments
Here are some thoughts. Bidirectional messaging can be implemented just like existing connected ports. But since it does not have to be realtime, also it should be available before They can be also used by inputs from remote UI (or even local UI). |
In 2023 things are clearer; on ACTIVE mode (see #145 for details), plugins do not really use "callback" but send notifications through MIDI2 output port, and on INACTIVE mode it is done via It should be also noted that callback are not RT-safe. |
Now it does receives `requestProcess()` instead of `notify()` that merely requests host to call `process()`. It is part of #73
…ension(). It will be used if any host extension that should be transmitted to host appears. So far there isn't. Note that just like plugin extension() AIDL method, hostExtension() is not realtime safe, and used only at INACTIVE state. (context: #73 )
We can finally mark this issue as completed. |
As part of #44, I am thinking of basic bidirectional messaging functionality between host and plugin. It does not have to be implemented by every plugin, but certain kind of plugins will need it.
Messaging was not required in LV2 world, but that was because LV2 can simply use LV2 features with pointers that contain callback function pointers. We cannot use function pointers because the processes are isolated, so we would need AIDL based messaging (on Android).
The actual messaging format needs to be determined, but since we have MIDI 2.0 now its UMP is a good candidate.
The text was updated successfully, but these errors were encountered: