aap-lv2-mda: mda-lv2 plugins ported to Audio Plugins For Android
July 8, 2026 ยท View on GitHub
This repository is for ports of mda-lv2 plugins example for AAP. It is powered by LV2 using aap-lv2.
Building
See GitHub Actions script for the normative setup.
For local desktop development, build the local aap-lv2 submodule into Maven Local first, then build this app:
$ cd external/aap-lv2/external/aap-core
$ ./gradlew publishToMavenLocal
$ cd ../..
$ ./gradlew :androidaudioplugin-lv2:build :androidaudioplugin-lv2:publishToMavenLocal
$ cd ../..
$ ./gradlew build bundle
We submodule mda-lv2, but we use our own CMakeLists.txt (instead of waf build script) so that we can easily debug into mda-lv2 sources using Android Studio.
To avoid further dependencies like cairo, we skip some samples in mda-lv2 port (they are actually skipped at android-native-audio-builders repo).
Updating Metadata
aap_metadata.xml is generated manually when LV2 assets change:
$ cd external/aap-lv2
$ cmake -E rm -rf tools/aap-import-lv2-metadata/build
$ cmake -S tools/aap-import-lv2-metadata -B tools/aap-import-lv2-metadata/build -G Ninja -DCMAKE_BUILD_TYPE=Debug
$ cmake --build tools/aap-import-lv2-metadata/build
$ cd ../..
$ external/aap-lv2/tools/aap-import-lv2-metadata/build/aap-import-lv2-metadata app/src/main/assets/lv2 app/src/main/res/xml
Debugging with mda-lv2 internals
It used to be difficult and complicated to step into LV2 toolkit sources (serd/sord/sratom/lilv), but now aap-lv2 builds those toolkits within its androidaudioplugin-lv2 module (instead of prebuilt binaries), it is just a matter of adding external/aap-lv2/androidaudioplugin-lv2 as a module.
Here is an example patch: https://gist.github.com/atsushieno/799ea5129c09a616a0b6712fbb8ea5b1
Licensing notice
aap-lv2-mda codebase itself is distributed under the MIT license.
LV2 (repository for the headers) is under the ISC license.
mda-lv2 is distributed under the GPL v3 license.
The entire plugin application bundles androidaudioplugin-lv2 AAR module from aap-lv2, and modules in aap-core repository (e.g. androidaudioplugin) as well, which are all distributed under the MIT license.
They are packaged into the application apk.