Skip to content

atsushieno/aap-lv2-guitarix

Repository files navigation

aap-lv2-guitarix: Guitarix plugin for Audio Plugins For Android via LV2

This repository is a port of Guitarix plugins to AAP. It is powered by LV2 using aap-lv2.

Building

make should take care of the builds. See GitHub Actions script for further normative setup.

Hacking

guitarix depends on a handful of libraries such as fftw3, and the plugin comes with many binaries. They are all built in the atsushieno/android-native-audio-builders repo.

With all those prebuilt binaries, we don't really build native binary in this repo.

Our aap_metadata.xml is generated by aap-import-lv2-metadata tool at build time, which is part of submodule aap-lv2. Makefile specifies the submodule path to it.

Why not build sources in place?

In aap-lv2-mda, we submodule lv2-mda and can build the entire sources on Android Studio. mda-lv2 uses waf like Guitarix does, but it was made possible by porting wscript to CMakeLists.txt.

Guitarix is more complicated. In particular fftw3 dependency messes our builds. libsigc++ might do as well (haven't reached that phase yet). Unlike mda-lv2 it's not just translating Guitarix's wscript. There is an attempt to achieve that in our in-tree-guitarix-build branch which might be usable to resume the attempt.

(Historically guitarix LV2 plugins depended on glibmm which raised the native build bars quite high, but now that it's gone the latest binary builds should be smaller and easier. Our binaries that we download from the build scripts in this repo are still not updated due to GitHub Actions inability of providing appropriate artifact downloads android-native-audio-builders issue#8. Functionality wise it should not matter.)

Licensing notice

aap-lv2-guitarix codebase is distributed under the MIT license.

LV2 (repository for the headers) is under the ISC license.

guitarix is distributed under the GPL v3 license. Hence this is applied to the entire application.

The entire plugin application bundles androidaudioplugin-lv2 AAR module from aap-lv2, and androidaudioplugin AAR module, and is packaged into one application.