aap-core
aap-core copied to clipboard
meta: GUI support implementation (take 2.)
It takes over #150, now with Surface Control based GUI (starting a7b2449).
Now we consider these options:
- native UI based on SurfaceControlViewHost: it requires Android 11 (50%-ish devices in the world as of writing it).
- Web UI: supports widest range of devices, implementation is a bit tricky.
while killing these options:
- System Alert Window: works with earlier API versions, but requires special permission on Settings app, kinda tricky and buggy to support as it runs without host's ownership.
- Activity based UI: switching apps would kill the DAW side. Activity embedding is supported on even narrower range of devices. (We can change our mind at any time; it's just to take
instanceId
and determine whether it controls existing instance or create new.)
Here is the updated list of tasks we need to work on:
- [x] update docs (GUI.md)
- [ ] parameter changes need to be reflected on the Kotlin (compose) host controls -> #177
- [ ] parameter change notifications from plugin need to be reflected on Kotlin (compose) host controls -> #177
- [ ] parameter change notifications from plugin need to be reflected on Web UI -> #177
- [x] aap-juce hosting (
AudioProcessorEditor::createEditor
implementation) for surface control View (using GUI extension API). Maybe the native UI takes preference over the Web UI (depending on the device's API level).