Is Audio Plug-In supported under Android?


I was hoping that Audio Plug-In would be supported under Android, but I'm not sure wether it's the case. I have no clue about an audio plugin format under Android, but I was hoping that maybe someone would have devised an ad-hoc plugin format taht the host would be able to load...

Anyway I tried to compile Audio Host, and ran into few errors (* at the end of the message), so I'm asking...




armulys:Android conversy$ /Users/--/src-ext/adt-bundle-mac-x86_64-20140702/android-ndk-r10/ndk-build -k
[armeabi] Compile++ arm  : juce_jni <= FilterGraph.cpp
jni/../../../Source/FilterGraph.cpp: In member function 'void FilterGraph::addFilter(const juce::PluginDescription*, double, double)':
jni/../../../Source/FilterGraph.cpp:96:13: error: 'showMessageBox' is not a member of 'juce::AlertWindow'
make: *** [obj/local/armeabi/objs/juce_jni/__/__/__/Source/FilterGraph.o] Error 1
[armeabi] Compile++ arm  : juce_jni <= GraphEditorPanel.cpp
jni/../../../Source/GraphEditorPanel.cpp: In static member function 'static void PluginWindow::closeAllCurrentlyOpenWindows()':
jni/../../../Source/GraphEditorPanel.cpp:70:40: error: 'class juce::MessageManager' has no member named 'runDispatchLoopUntil'
jni/../../../Source/GraphEditorPanel.cpp: In member function 'virtual void FilterComponent::mouseDown(const juce::MouseEvent&)':
jni/../../../Source/GraphEditorPanel.cpp:338:29: error: 'class juce::PopupMenu' has no member named 'show'
jni/../../../Source/GraphEditorPanel.cpp: In member function 'virtual void GraphEditorPanel::mouseDown(const juce::MouseEvent&)':
jni/../../../Source/GraphEditorPanel.cpp:823:29: error: 'class juce::PopupMenu' has no member named 'show'
make: *** [obj/local/armeabi/objs/juce_jni/__/__/__/Source/GraphEditorPanel.o] Error 1
[armeabi] Compile++ arm  : juce_jni <= MainHostWindow.cpp
jni/../../../Source/MainHostWindow.cpp: In member function 'void MainHostWindow::showAudioSettings()':
jni/../../../Source/MainHostWindow.cpp:426:7: error: 'struct juce::DialogWindow::LaunchOptions' has no member named 'runModal'
make: *** [obj/local/armeabi/objs/juce_jni/__/__/__/Source/MainHostWindow.o] Error 1
[armeabi] Compile++ arm  : juce_jni <= juce_audio_processors.cpp
In file included from jni/../../../../../modules/juce_audio_processors/juce_audio_processors.cpp:150:0:
jni/../../../../../modules/juce_audio_processors/format_types/juce_VSTPluginFormat.cpp:56:44: fatal error: pluginterfaces/vst2.x/aeffectx.h: No such file or directory
compilation terminated.
make: *** [obj/local/armeabi/objs/juce_jni/__/__/__/__/__/modules/juce_audio_processors/juce_audio_processors.o] Error 1
make: Target `all' not remade because of errors.




Audio-plugin is a little vague. Many types of audio plugin exist. If you just wish to run Juce AudioProcessors on Android you can without any problems. From what I've read modal loops are not permitted on Android so you'll need to rewrite whatever code that makes modal calls. 

Well, here is my scenario:

- I have written an audio plugin based on the audio plugin demo.

- I want to make it run on an Android Tablet

- What would be the minimal set of actions to perform in order to do so?

What would be nice would be to first compile the Audio plugin host on Android, then my Audio plugin in whatever format is supported on Android (jack?), then run the host, load the plugin, and play...



Just use the standalone filter wrapper. It will load a single instance of an audio processer. Very useful.