v0.5.5 is the next release after v0.5.2, it is in the middle of the load towards v0.6.0 release.
This involves various module restructures and namespace changes, yet they are deliberately left incomplete, especially around uapmd-data and uapmd-engine. I think we need more refinement before simple and stupid renaming. Other modules were either simply isolated enough, or well reorganized and separate cleanly.
We provided access to AppModel in uapmd-app, but that should have been done independent of GUI code, so we have uapmd-app-model now. It is also bound to Kotlin and used by uapmd-kmp.
We have brought our first document event model. We also integrated initial ARA2 support based on it, but it is an opt-in feature because its license is slightly different (Apache2).
In this release I made some overhaul in SequencerEngine to improve maintainability by sorting out the advanced sequencer engine features such as latency compensation, freezing of tracks, and playback jumps. Everything was directly implemented in the SequencerEngine, but now most of them are moved to their own manager code with little leftover. We design extension model over the audio processor, audio buffer provider (pumps), audio playback engine, along with the audio graph model that we already had for a while.
Here is the AI slop highlights.
Highlights
- Added track freezing, including progress display and reliable invalidation when a track changes.
- Added MIDI recording, clip enablement, per-track MIDI I/O connections, and track mute/solo controls.
- Improved audio workflow with clearer warp-point visualization and tail processing for more natural playback completion.
- Added foundational ARA integration, including audio-clip document handling and safer plugin disposal.
- Improved graph and monitoring capabilities with an analyser node and fixes for plugin-routed WebAudio nodes.
- Improved plugin compatibility and stability across AUv2, VST3, CLAP, WebCLAP, and WebAssembly builds.
- Fixed MIDI device-name collision handling and a playback-start issue while freezes were pending.
- Improved the scripting editor with copyable console output.
For developers
- UAPMD’s reusable components have been further modularized, including plugin hosting, MIDI services, audio graph, and engine APIs.
- Latency compensation is now exposed as an engine extension.
- The new
uapmd-aramodule is included under the Apache 2.0 license; the rest of the project remains MIT licensed.