Skip to content

Commit

Permalink
docs: add giagram about native GUI entities.
Browse files Browse the repository at this point in the history
  • Loading branch information
atsushieno committed May 9, 2024
1 parent 36e21e6 commit 721542f
Show file tree
Hide file tree
Showing 2 changed files with 228 additions and 0 deletions.
2 changes: 2 additions & 0 deletions docs/design/GUI.md
Original file line number Diff line number Diff line change
Expand Up @@ -156,6 +156,8 @@ Unlike Web UI protocol, we don't need DSP controllers as it is basically a matte

### SurfaceControlViewHost: controller from Kotlin API

![Native UI boundary](../images/native-ui.drawio.svg)

The host will instantiate the plugin's View by sending an independent Message to an independent GUI controller (i.e. not `AudioPluginService`, not in the .aidl). It is due to current limitation on AIDL that cannot handle Message/Parcelables in .aidl that are being used in both Java and NDK.

It is done in Kotlin land, as it requires couple of Java/Kotlin classes e.g. `Service`, `SurfaceView` and `SurfaceControlViewHost.SurfacePackage` instances. Here is these internal steps to use it:
Expand Down
226 changes: 226 additions & 0 deletions docs/images/native-ui.drawio.svg
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.

0 comments on commit 721542f

Please sign in to comment.