aap-core icon indicating copy to clipboard operation
aap-core copied to clipboard

meta: GUI support implementation (take 2.)

Open atsushieno opened this issue 1 year ago • 3 comments

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).

atsushieno avatar May 20 '23 06:05 atsushieno