This repository is an example port of sfizz LV2 plugin to Audio Plugins For Android, using aap-lv2.
Right now there is no way to specify SFZ file from the plugin at run time. It has to be specified at build time. Take it more like a proof of concept right now.
make
should take care of the builds. See our GitHub Actions script. for the normative setup.
You can edit external/sfizz/lv2/sfizz.c
to alter DEFAULT_SFZ_FILE
to any other .sfz
file. Note that since Android 11 you have quite limited access to local storage, so you should probably just put your sfz contents as assets. It will be automatically copied into local data storage area (as there is no alternative mechanism to load sfz and audio files by other means).
Our aap_metadata.xml
is generated by aap-import-lv2-metadata
tool but it is done manually. So every time sfizz submodule is updated, chances are that the metadata needs to be regenerated (or manually fixed). Run make update-metadata
to regenerate it from the latest sources (though note that the resources may be relocated; they sometimes do).
app
directory directly references sfizz's own CMakeLists.txt
from build.gradle
. Though note that sfizz itself is patched at build time (by make
).
aap-lv2-sfizz
itself is distributed under the MIT license.
LV2 (repository for the headers) is under the ISC license.
sfizz
is distributed under the MIT license, but it has dependencies that are under the Apache License 2.0 etc. See the project repository for details. As of v0.1.6, AAP Sfizz does not depend on libsndfile anymore.
AAP Sfizz
apk bundles sample external sfz from sfzinstruments/SplendidGrandPiano whose samples are Public Domain.
The entire plugin application bundles androidaudioplugin-lv2
AAR module from aap-lv2
, and androidaudioplugin
AAR module, and is packaged into one application.