UAPMD 0.5.0 is the first "AAP integration works like it does on desktop" version. Plus, some future direction such as document events support and standard node graphs.
Android: as usable as desktop
- AAP 0.11: now we use AudioPluginService V4 protocol (incompatible with earlier versions)
- All of Parameters, States, and Presets (and of course MIDI2 events) just work.
- A handful of crash protection to remote plugin processes
- Project loader/saver now work with Android Document Providers too.
- A handful of async-ification adjustment with AAP async-ification.
uapmd-graph: new audio graph module
- We extend node graph system to include essential nodes such as GainNode.
- Included standard nodes basis based on Web Audio API.
- Added save/load points and data format extension to include those nodes in uapmd-data.
- uapmd-app now contains volume sliders.
Project Loader/Saver and Mutation Events for ARA integration
- Stabilized project loader that often caused UI freeze.
- Document events API for ARA support
- uapmd-ara module integration (the modules resides in a separate repo for different licensing)
- Async-ified project loader (saver was already async).
Miscellaneous
- winmidi2 virtual device registration: it should work (not verified as there is no working client yet)
- C API enhancements and real-world use: now you can consume UAPMD API from Kotlin Multiplatform using atsushieno/uapmd-kmp
- uapmd-kmp app is not as real-world ready, but it is almost feature parity with uapmd-app.
- extensibility points: remidy now exposes some extensibility API. AAP needs GUI extensibility for AAP GUI extension that expects SurfaceControlViewHost and co.
- there has been a lot of CLAP hosting fixes so that there is no known CLAP plugin issue anymore.