Skip to content

Are We Audio Plugin Format Yet?

Atsushi Eno edited this page Mar 29, 2023 · 9 revisions

In short words

  • Is it usable on DAWs?
    • Not really, but aap-juce-helio can be seen as an integration example.
  • What can AAP do now?
    • It works as a MidiDeviceService (depending on client, sometimes it may drop notes).
    • It can take audio and MIDI inputs and generate audio outputs
      • statically with no problem.
      • dynamically, in general works but could involve glitch noises, depending on client app and other apps (e.g. when there is running MidiDeviceService that also occupies AAudio).

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 o (translates to 1.0) o (translates to 1.0)
process MIDI 2.0 inputs o 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
presets o o (almost) o
float parameters o o o
non-float parameters - - -
audio port config - - -
UI controller protocol work just started (up to core) (up to core)
in-plugin-process UI discouraged (security reason) UIs vary on each plugin juce_gui_basics only works as Activity (JUCE issue)
cross-process UI only basic MIDI (1.0/2.0) sender works (ditto) (ditto)
logging (low quality) (up to core) (up to core)
tracing o o o
offline rendering - (it's just a flag, right?) - -
processing tail - - -
transport control - - -

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
plugin o o o
host no stable API yet any portable host to mobile? hosting API exists, aap-juce-plugin-host(awkward), aap-juce-simple-host(normative)
Clone this wiki locally