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

new plugin manager is missing preset selector #170

Closed
atsushieno opened this issue Sep 8, 2023 · 4 comments
Closed

new plugin manager is missing preset selector #170

atsushieno opened this issue Sep 8, 2023 · 4 comments

Comments

@atsushieno
Copy link
Owner

It is an overlooked missing feature, noticed when I was working on #169 (preset selector is the only feature that could be invoked in realtime manner, even if set_preset() may not "take effect" in realtime manner).

@atsushieno
Copy link
Owner Author

It turned out that NativeRemotePluginInstance does not expose/implement getPreset() and getPresetCount() methods right now.

Since they are based on extensions, I wonder if we should have somewhat better foundation to support extensions. It is easy to implement getPreset() like AudioPluginInstance did, but that means only standard extensions are usable through this class.

atsushieno added a commit that referenced this issue Sep 9, 2023
context: #170

We will still have to play around aap::PluginInstance for preset support
and/or more generic extension support.
@atsushieno
Copy link
Owner Author

Maybe we can inject aap::RemotePluginInstance::sendExtensionMessage() to generate AAPXS SysEx8 message and add it to the event queue (or create another dedicated queue) to be merged at process().

We will have to get "size" information about the extension data, but it is currently not available (AAPXS does not require extensions to provide it) so there will be an additional function to provide it. Unless it can be made optional, it will be a BREAKING CHANGE.

atsushieno added a commit that referenced this issue Sep 9, 2023
context: #170

There is still some misimplementation code that causes this error on the
default plugin details activity:

> Failed to translate MIDI 1.0 inputs to MIDI 2.0 UMPs

It is not only on presets but also parameter changes (notes still work)
@atsushieno
Copy link
Owner Author

It is in general working as of 24f1303.

The native UI needs some more tweaks on how to ensure to show all the preset options.

atsushieno added a commit that referenced this issue Sep 10, 2023
@atsushieno
Copy link
Owner Author

Fixed ^ at 29355c3.

atsushieno added a commit that referenced this issue Sep 13, 2023
…inPlayer.

Everything is still hacky; we should bring in another wrapping layer around
AAPXSClientInstance. context:

- #170 (comment)
- #171
- #175
- #169 (comment)

The code still does not bring in fairly good RT safety because it looks up
interned URI (because we cannot intern extension URIs that are sent by the
client). We will have to come up with something like LV2 URIDs and/or
reserved extension URI mappings (like well known TCP ports).

As for 0.7.8, this PoC would suffice.
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

1 participant