Are We Audio Plugin Format Yet? - atsushieno/aap-core GitHub Wiki

In short words

  • Is it usable on DAWs?
  • What can AAP do now?
    • It works as a MidiDeviceService and MidiUmpDeviceService (depending on client, sometimes it may drop notes).
    • It can take audio and MIDI inputs and generate audio outputs, statically and dynamically.
      • There might be glitchy noises and latencies, depending on client app and other apps (e.g. when there is running MidiDeviceService and MidiUmpDeviceService that also occupy AAudio).
      • They are still crashy.

Core features

Feature API/Core LV2 JUCE
process audio inputs o o o
process MIDI 1.0 inputs o only ControlPorts o
process MIDI 1.0 outputs o - o
process MIDI 2.0 inputs o (UMP is native) o (translates to 1.0) o (translates to 1.0)
process MIDI 2.0 inputs o (UMP is native) o (translates to 1.0) o (translates to 1.0)

Extension features

Feature API/Core LV2 JUCE
state o it should work it should work needs revamp
presets o o (almost) o
float parameters o o o
non-float parameters - - -
out parameter transmits o (ditto) (ditto)
audio port config - - -
UI controller protocol o (up to core) works in general
in-plugin-process UI o (custom View, Android11+) LV2UI does not support Android (LV2 issue) some JUCE UI works (with handful of JUCE tweaks and app tweaks)
cross-process UI UMP sender works (ditto) (ditto)
logging (low quality) (up to core) (up to core)
tracing o o o
offline rendering - (it's up to host app) - -
processing tail - - -
transport control send UMP Flex Data (Tempo/TimeSig etc.) maybe? - -

Performance

Feature API/Core LV2 JUCE
processes within 1msec. o o o
cross-process latency - (involves locks) (up to core) (up to core)
latency reports - - -

Application (seealso List of AAP plugins and hosts)

Feature API/Core LV2 JUCE UAPMD
plugin o o o host only
host no stable API yet any portable host to mobile? hosting API exists, aap-juce-plugin-host (awkward), aap-juce-simple-host (normative) no stable API yet, but common to desktop/iOS/Web.