igorski/MWEngine

proper inital set up for use as library

scar20 opened this issue · 7 comments

Last year, I've hacked up the example in MWEngine to see its capability. Now I want to properly use the engine as a library for my project. I got a fresh new clone of MWEngine from GitHub and a made a small project to link with just for the purpose of figuring out the right way to do it. I did File->New->Import Module... and pointed to the fresh clone. At first, it seem to had worked but trying to build give error due to the presence of the example app. And deleting it just made chain reactions of others errors. Now a mess... I'm not familiar with configuration stuff so some advice to help me jumps start will be appreciated. I did read the doc, but I'm a bit overwhelmed by all the options. Do I need to do a AAR?

Ideally, I want to have a pure MWEngine on which I could make branch for modifications and use the modification branch as a library in my main project. I have latest Android Studio API 30 and latest NDK installed on Windows10

Thanks

Hi, good question and reminder as this was a development that was on the backlog for too long...

I have created a branch aar which contains an updated setup that separates the example activity from the core code, the latter which will be built as a library, packaged inside an AAR. The README file is also updated to describe how to include this AAR within a custom project.

Your workflow would then be that instead of cloning this repository and changing files accordingly, you have a checkout of the repository which creates the .AAR file. This file you can import in your custom project either manually or via an automation process that moves the assembled .AAR to the target project.

Perhaps you can give this a test drive and see if it works for your purposes ?

Here what i've done:
fresh start:

  • closed all projects
  • delete mwengine
  • empty trash

Get from Version Control https://github.com/igorski/MWEngine.git
checkout arr
new branch scarr
I was not sure if I should comment out include 'mwengine_example' in settings.gradle so I leaved it as is.

Open Gradle tool form View->Tool Windows->Gradle
Unfold MWEngine->Task->build
right-click assemble -> Run 'MWEngine [assemble]'
then:

FAILURE: Build failed with an exception.

  • Where:
    Build file 'C:\Users\Sylvain\AndroidStudioProjects\MWEngine\mwengine\build.gradle' line: 1

  • What went wrong:
    A problem occurred evaluating project ':mwengine'.

Failed to apply plugin [id 'com.android.internal.version-check']
Minimum supported Gradle version is 6.5. Current version is 6.1.1. If using the gradle wrapper, try editing the distributionUrl in C:\Users\Sylvain\AndroidStudioProjects\MWEngine\gradle\wrapper\gradle-wrapper.properties to gradle-6.5-all.zip

  • Try:
    Run with --stacktrace option to get the stack trace. Run with --info or --debug option to get more log output. Run with --scan to get full insights.

  • Get more help at https://help.gradle.org

changed gradle-wrapper.properties:

distributionUrl=https://services.gradle.org/distributions/gradle-6.5-all.zip

and run again mwengine:assemble from the gradle tool

few warnings:
many
SWIG_ADD_MODULE is deprecated. Use SWIG_ADD_LIBRARY instead.
and a few
Warning 813: Warning for MWEngine::FrequencyModulator, base MWEngine::LFO ignored. Multiple inheritance is not supported in Java.
but it finished with:
BUILD SUCCESSFUL in 3m 39s
111 actionable tasks: 111 executed
1:13:46 PM: Task execution finished 'assemble'.

So it look cool... Now i'll try to import in a new project, not sure yet on how do do, so I'll try first from New Module or Import Module, if that fail, i'll install manually and see hoe far I can go.

Below is the complete log from the build in case there is some tweak to do:

1:08:35 PM: Executing task 'assemble'...

Executing tasks: [assemble] in project C:\Users\Sylvain\AndroidStudioProjects\MWEngine

Download https://services.gradle.org/distributions/gradle-6.5-all.zip (145.77 MB)
Download https://services.gradle.org/distributions/gradle-6.5-all.zip finished succeeded, took 8 s 219 ms

Task :mwengine:preBuild UP-TO-DATE
Task :mwengine:preDebugBuild UP-TO-DATE
Task :mwengine:compileDebugAidl NO-SOURCE

Task :mwengine:generateJsonModelDebug
C:\Users\Sylvain\AndroidStudioProjects\MWEngine\mwengine\CMakeLists.txt : C/C++ debug|armeabi-v7a : CMake Deprecation Warning at C:/Users/Sylvain/AppData/Local/Android/Sdk/cmake/3.10.2.4988404/share/cmake-3.10/Modules/UseSWIG.cmake:231 (message):
SWIG_ADD_MODULE is deprecated. Use SWIG_ADD_LIBRARY instead.
Call Stack (most recent call first):
CMakeLists.txt:176 (swig_add_module)

C:\Users\Sylvain\AndroidStudioProjects\MWEngine\mwengine\CMakeLists.txt : C/C++ debug|armeabi-v7a : CMake Deprecation Warning at C:/Users/Sylvain/AppData/Local/Android/Sdk/cmake/3.10.2.4988404/share/cmake-3.10/Modules/UseSWIG.cmake:231 (message):
SWIG_ADD_MODULE is deprecated. Use SWIG_ADD_LIBRARY instead.
Call Stack (most recent call first):
CMakeLists.txt:176 (swig_add_module)

C:\Users\Sylvain\AndroidStudioProjects\MWEngine\mwengine\CMakeLists.txt : C/C++ debug|arm64-v8a : CMake Deprecation Warning at C:/Users/Sylvain/AppData/Local/Android/Sdk/cmake/3.10.2.4988404/share/cmake-3.10/Modules/UseSWIG.cmake:231 (message):
SWIG_ADD_MODULE is deprecated. Use SWIG_ADD_LIBRARY instead.
Call Stack (most recent call first):
CMakeLists.txt:176 (swig_add_module)

C:\Users\Sylvain\AndroidStudioProjects\MWEngine\mwengine\CMakeLists.txt : C/C++ debug|arm64-v8a : CMake Deprecation Warning at C:/Users/Sylvain/AppData/Local/Android/Sdk/cmake/3.10.2.4988404/share/cmake-3.10/Modules/UseSWIG.cmake:231 (message):
SWIG_ADD_MODULE is deprecated. Use SWIG_ADD_LIBRARY instead.
Call Stack (most recent call first):
CMakeLists.txt:176 (swig_add_module)

C:\Users\Sylvain\AndroidStudioProjects\MWEngine\mwengine\CMakeLists.txt : C/C++ debug|x86_64 : CMake Deprecation Warning at C:/Users/Sylvain/AppData/Local/Android/Sdk/cmake/3.10.2.4988404/share/cmake-3.10/Modules/UseSWIG.cmake:231 (message):
SWIG_ADD_MODULE is deprecated. Use SWIG_ADD_LIBRARY instead.
Call Stack (most recent call first):
CMakeLists.txt:176 (swig_add_module)

C:\Users\Sylvain\AndroidStudioProjects\MWEngine\mwengine\CMakeLists.txt : C/C++ debug|x86_64 : CMake Deprecation Warning at C:/Users/Sylvain/AppData/Local/Android/Sdk/cmake/3.10.2.4988404/share/cmake-3.10/Modules/UseSWIG.cmake:231 (message):
SWIG_ADD_MODULE is deprecated. Use SWIG_ADD_LIBRARY instead.
Call Stack (most recent call first):
CMakeLists.txt:176 (swig_add_module)

Task :mwengine:externalNativeBuildDebug
Build mwengine_wrapped_armeabi-v7a
ninja: Entering directory C:\Users\Sylvain\AndroidStudioProjects\MWEngine\mwengine\.cxx\cmake\debug\armeabi-v7a' [1/75] Building CXX object CMakeFiles/mwengine.dir/src/main/cpp/definitions/libraries.cpp.o [2/75] Building CXX object CMakeFiles/mwengine.dir/src/main/cpp/ringbuffer.cpp.o [3/75] Building CXX object CMakeFiles/mwengine.dir/src/main/cpp/wavetable.cpp.o [4/75] Building CXX object CMakeFiles/mwengine.dir/src/main/cpp/events/basecacheableaudioevent.cpp.o [5/75] Building CXX object CMakeFiles/mwengine.dir/src/main/cpp/audiochannel.cpp.o [6/75] Building CXX object CMakeFiles/mwengine.dir/src/main/cpp/channelgroup.cpp.o [7/75] Building CXX object CMakeFiles/mwengine.dir/src/main/cpp/processingchain.cpp.o [8/75] Building CXX object CMakeFiles/mwengine.dir/src/main/cpp/sequencercontroller.cpp.o [9/75] Building CXX object CMakeFiles/mwengine.dir/src/main/cpp/drivers/adapter.cpp.o [10/75] Building CXX object CMakeFiles/mwengine.dir/src/main/cpp/sequencer.cpp.o [11/75] Building C object CMakeFiles/mwengine.dir/src/main/cpp/drivers/opensl_io.c.o [12/75] Building CXX object CMakeFiles/mwengine.dir/src/main/cpp/messaging/observer.cpp.o [13/75] Building CXX object CMakeFiles/mwengine.dir/src/main/cpp/drivers/aaudio_io.cpp.o [14/75] Building CXX object CMakeFiles/mwengine.dir/src/main/cpp/generators/envelopegenerator.cpp.o [15/75] Building CXX object CMakeFiles/mwengine.dir/src/main/cpp/generators/wavegenerator.cpp.o [16/75] Building CXX object CMakeFiles/mwengine.dir/src/main/cpp/events/baseaudioevent.cpp.o [17/75] Building CXX object CMakeFiles/mwengine.dir/src/main/cpp/instruments/sampledinstrument.cpp.o [18/75] Building CXX object CMakeFiles/mwengine.dir/src/main/cpp/events/sampleevent.cpp.o [19/75] Building CXX object CMakeFiles/mwengine.dir/src/main/cpp/global.cpp.o [20/75] Building CXX object CMakeFiles/mwengine.dir/src/main/cpp/services/library_loader.cpp.o [21/75] Building CXX object CMakeFiles/mwengine.dir/src/main/cpp/messaging/notifier.cpp.o [22/75] Building CXX object CMakeFiles/mwengine.dir/src/main/cpp/audiobuffer.cpp.o [23/75] Building CXX object CMakeFiles/mwengine.dir/src/main/cpp/instruments/baseinstrument.cpp.o [24/75] Building CXX object CMakeFiles/mwengine.dir/src/main/cpp/modules/envelopefollower.cpp.o [25/75] Building CXX object CMakeFiles/mwengine.dir/src/main/cpp/modules/routeableoscillator.cpp.o [26/75] Building CXX object CMakeFiles/mwengine.dir/src/main/cpp/utilities/bulkcacher.cpp.o [27/75] Building CXX object CMakeFiles/mwengine.dir/src/main/cpp/utilities/levelutility.cpp.o [28/75] Building CXX object CMakeFiles/mwengine.dir/src/main/cpp/utilities/fastmath.cpp.o [29/75] Building CXX object CMakeFiles/mwengine.dir/src/main/cpp/processors/baseprocessor.cpp.o [30/75] Building CXX object CMakeFiles/mwengine.dir/src/main/cpp/audioengine.cpp.o [31/75] Building CXX object CMakeFiles/mwengine.dir/src/main/cpp/utilities/debug.cpp.o [32/75] Building CXX object CMakeFiles/mwengine.dir/src/main/cpp/modules/lfo.cpp.o [33/75] Building CXX object CMakeFiles/mwengine.dir/src/main/cpp/events/synthevent.cpp.o [34/75] Building CXX object CMakeFiles/mwengine.dir/src/main/cpp/utilities/wavereader.cpp.o [35/75] Building CXX object CMakeFiles/mwengine.dir/src/main/cpp/definitions/pitch.cpp.o [36/75] Building CXX object CMakeFiles/mwengine.dir/src/main/cpp/utilities/bufferpool.cpp.o [37/75] Building CXX object CMakeFiles/mwengine.dir/src/main/cpp/utilities/utils.cpp.o [38/75] Building CXX object CMakeFiles/mwengine.dir/src/main/cpp/utilities/samplemanager.cpp.o [39/75] Building CXX object CMakeFiles/mwengine.dir/src/main/cpp/utilities/tablepool.cpp.o [40/75] Building CXX object CMakeFiles/mwengine.dir/src/main/cpp/utilities/bufferutility.cpp.o [41/75] Building CXX object CMakeFiles/mwengine.dir/src/main/cpp/utilities/diskwriter.cpp.o [42/75] Building CXX object CMakeFiles/mwengine.dir/src/main/cpp/modules/arpeggiator.cpp.o [43/75] Building CXX object CMakeFiles/mwengine.dir/src/main/cpp/processors/bitcrusher.cpp.o [44/75] Building CXX object CMakeFiles/mwengine.dir/src/main/cpp/utilities/wavewriter.cpp.o [45/75] Building CXX object CMakeFiles/mwengine.dir/src/main/cpp/modules/adsr.cpp.o [46/75] Building CXX object CMakeFiles/mwengine.dir/src/main/cpp/processors/dcoffsetfilter.cpp.o [47/75] Building CXX object CMakeFiles/mwengine.dir/src/main/cpp/events/basesynthevent.cpp.o [48/75] Building CXX object CMakeFiles/mwengine.dir/src/main/cpp/generators/synthesizer.cpp.o [49/75] Building CXX object CMakeFiles/mwengine.dir/src/main/cpp/instruments/synthinstrument.cpp.o [50/75] Building CXX object CMakeFiles/mwengine.dir/src/main/cpp/instruments/oscillatorproperties.cpp.o [51/75] Building CXX object CMakeFiles/mwengine.dir/src/main/cpp/processors/decimator.cpp.o [52/75] Building CXX object CMakeFiles/mwengine.dir/src/main/cpp/processors/formantfilter.cpp.o [53/75] Building CXX object CMakeFiles/mwengine.dir/src/main/cpp/processors/delay.cpp.o [54/75] Building CXX object CMakeFiles/mwengine.dir/src/main/cpp/processors/filter.cpp.o [55/75] Building CXX object CMakeFiles/mwengine.dir/src/main/cpp/processors/limiter.cpp.o [56/75] Building CXX object CMakeFiles/mwengine.dir/src/main/cpp/processors/reverb.cpp.o [57/75] Building CXX object CMakeFiles/mwengine.dir/src/main/cpp/processors/flanger.cpp.o [58/75] Building CXX object CMakeFiles/mwengine.dir/src/main/cpp/processors/fm.cpp.o [59/75] Building CXX object CMakeFiles/mwengine.dir/src/main/cpp/processors/lowpassfilter.cpp.o [60/75] Building CXX object CMakeFiles/mwengine.dir/src/main/cpp/processors/phaser.cpp.o [61/75] Building CXX object CMakeFiles/mwengine.dir/src/main/cpp/processors/glitcher.cpp.o [62/75] Building CXX object CMakeFiles/mwengine.dir/src/main/cpp/processors/lpfhpfilter.cpp.o [63/75] Building CXX object CMakeFiles/mwengine.dir/src/main/cpp/processors/pitchshifter.cpp.o [64/75] Building CXX object CMakeFiles/mwengine.dir/src/main/cpp/processors/reverbsm.cpp.o [65/75] Building CXX object CMakeFiles/mwengine.dir/src/main/cpp/drumpattern.cpp.o [66/75] Building CXX object CMakeFiles/mwengine.dir/src/main/cpp/instruments/druminstrument.cpp.o [67/75] Building CXX object CMakeFiles/mwengine.dir/src/main/cpp/processors/waveshaper.cpp.o [68/75] Building CXX object CMakeFiles/mwengine.dir/src/main/cpp/processors/tremolo.cpp.o [69/75] Building CXX object CMakeFiles/mwengine.dir/src/main/cpp/jni/javabridge.cpp.o [70/75] Building CXX object CMakeFiles/mwengine.dir/src/main/cpp/events/drumevent.cpp.o [71/75] Building CXX object CMakeFiles/mwengine.dir/src/main/cpp/jni/javautilities.cpp.o [72/75] Linking CXX static library libmwengine.a [73/75] Swig source C:\Users\Sylvain\AndroidStudioProjects\MWEngine\mwengine\src\main\cpp\processors\fm.h(32) : Warning 813: Warning for MWEngine::FrequencyModulator, base MWEngine::LFO ignored. Multiple inheritance is not supported in Java. [74/75] Building CXX object CMakeFiles/mwengine_wrapped.dir/src/main/java/nl/igorski/mwengine/core/mwengineJAVA_wrap.cxx.o [75/75] Linking CXX shared module ..\..\..\..\build\intermediates\cmake\debug\obj\armeabi-v7a\libmwengine_wrapped.so Build mwengine_wrapped_arm64-v8a ninja: Entering directory C:\Users\Sylvain\AndroidStudioProjects\MWEngine\mwengine.cxx\cmake\debug\arm64-v8a'
[1/75] Building CXX object CMakeFiles/mwengine.dir/src/main/cpp/definitions/libraries.cpp.o
[2/75] Building CXX object CMakeFiles/mwengine.dir/src/main/cpp/ringbuffer.cpp.o
[3/75] Building CXX object CMakeFiles/mwengine.dir/src/main/cpp/wavetable.cpp.o
[4/75] Building CXX object CMakeFiles/mwengine.dir/src/main/cpp/drivers/adapter.cpp.o
[5/75] Building CXX object CMakeFiles/mwengine.dir/src/main/cpp/global.cpp.o
[6/75] Building CXX object CMakeFiles/mwengine.dir/src/main/cpp/processingchain.cpp.o
[7/75] Building CXX object CMakeFiles/mwengine.dir/src/main/cpp/channelgroup.cpp.o
[8/75] Building CXX object CMakeFiles/mwengine.dir/src/main/cpp/audiochannel.cpp.o
[9/75] Building CXX object CMakeFiles/mwengine.dir/src/main/cpp/drivers/aaudio_io.cpp.o
[10/75] Building CXX object CMakeFiles/mwengine.dir/src/main/cpp/sequencer.cpp.o
[11/75] Building CXX object CMakeFiles/mwengine.dir/src/main/cpp/sequencercontroller.cpp.o
[12/75] Building CXX object CMakeFiles/mwengine.dir/src/main/cpp/messaging/observer.cpp.o
[13/75] Building C object CMakeFiles/mwengine.dir/src/main/cpp/drivers/opensl_io.c.o
[14/75] Building CXX object CMakeFiles/mwengine.dir/src/main/cpp/generators/wavegenerator.cpp.o
[15/75] Building CXX object CMakeFiles/mwengine.dir/src/main/cpp/generators/envelopegenerator.cpp.o
[16/75] Building CXX object CMakeFiles/mwengine.dir/src/main/cpp/audiobuffer.cpp.o
[17/75] Building CXX object CMakeFiles/mwengine.dir/src/main/cpp/services/library_loader.cpp.o
[18/75] Building CXX object CMakeFiles/mwengine.dir/src/main/cpp/instruments/sampledinstrument.cpp.o
[19/75] Building CXX object CMakeFiles/mwengine.dir/src/main/cpp/events/baseaudioevent.cpp.o
[20/75] Building CXX object CMakeFiles/mwengine.dir/src/main/cpp/events/basecacheableaudioevent.cpp.o
[21/75] Building CXX object CMakeFiles/mwengine.dir/src/main/cpp/events/sampleevent.cpp.o
[22/75] Building CXX object CMakeFiles/mwengine.dir/src/main/cpp/instruments/baseinstrument.cpp.o
[23/75] Building CXX object CMakeFiles/mwengine.dir/src/main/cpp/messaging/notifier.cpp.o
[24/75] Building CXX object CMakeFiles/mwengine.dir/src/main/cpp/modules/envelopefollower.cpp.o
[25/75] Building CXX object CMakeFiles/mwengine.dir/src/main/cpp/modules/routeableoscillator.cpp.o
[26/75] Building CXX object CMakeFiles/mwengine.dir/src/main/cpp/processors/baseprocessor.cpp.o
[27/75] Building CXX object CMakeFiles/mwengine.dir/src/main/cpp/utilities/levelutility.cpp.o
[28/75] Building CXX object CMakeFiles/mwengine.dir/src/main/cpp/utilities/bulkcacher.cpp.o
[29/75] Building CXX object CMakeFiles/mwengine.dir/src/main/cpp/audioengine.cpp.o
[30/75] Building CXX object CMakeFiles/mwengine.dir/src/main/cpp/utilities/fastmath.cpp.o
[31/75] Building CXX object CMakeFiles/mwengine.dir/src/main/cpp/utilities/debug.cpp.o
[32/75] Building CXX object CMakeFiles/mwengine.dir/src/main/cpp/utilities/wavereader.cpp.o
[33/75] Building CXX object CMakeFiles/mwengine.dir/src/main/cpp/modules/lfo.cpp.o
[34/75] Building CXX object CMakeFiles/mwengine.dir/src/main/cpp/utilities/samplemanager.cpp.o
[35/75] Building CXX object CMakeFiles/mwengine.dir/src/main/cpp/utilities/utils.cpp.o
[36/75] Building CXX object CMakeFiles/mwengine.dir/src/main/cpp/utilities/bufferutility.cpp.o
[37/75] Building CXX object CMakeFiles/mwengine.dir/src/main/cpp/utilities/tablepool.cpp.o
[38/75] Building CXX object CMakeFiles/mwengine.dir/src/main/cpp/utilities/bufferpool.cpp.o
[39/75] Building CXX object CMakeFiles/mwengine.dir/src/main/cpp/utilities/diskwriter.cpp.o
[40/75] Building CXX object CMakeFiles/mwengine.dir/src/main/cpp/utilities/wavewriter.cpp.o
[41/75] Building CXX object CMakeFiles/mwengine.dir/src/main/cpp/events/basesynthevent.cpp.o
[42/75] Building CXX object CMakeFiles/mwengine.dir/src/main/cpp/events/synthevent.cpp.o
[43/75] Building CXX object CMakeFiles/mwengine.dir/src/main/cpp/instruments/synthinstrument.cpp.o
[44/75] Building CXX object CMakeFiles/mwengine.dir/src/main/cpp/modules/arpeggiator.cpp.o
[45/75] Building CXX object CMakeFiles/mwengine.dir/src/main/cpp/definitions/pitch.cpp.o
[46/75] Building CXX object CMakeFiles/mwengine.dir/src/main/cpp/instruments/oscillatorproperties.cpp.o
[47/75] Building CXX object CMakeFiles/mwengine.dir/src/main/cpp/processors/dcoffsetfilter.cpp.o
[48/75] Building CXX object CMakeFiles/mwengine.dir/src/main/cpp/generators/synthesizer.cpp.o
[49/75] Building CXX object CMakeFiles/mwengine.dir/src/main/cpp/modules/adsr.cpp.o
[50/75] Building CXX object CMakeFiles/mwengine.dir/src/main/cpp/processors/delay.cpp.o
[51/75] Building CXX object CMakeFiles/mwengine.dir/src/main/cpp/processors/decimator.cpp.o
[52/75] Building CXX object CMakeFiles/mwengine.dir/src/main/cpp/processors/bitcrusher.cpp.o
[53/75] Building CXX object CMakeFiles/mwengine.dir/src/main/cpp/processors/filter.cpp.o
[54/75] Building CXX object CMakeFiles/mwengine.dir/src/main/cpp/processors/formantfilter.cpp.o
[55/75] Building CXX object CMakeFiles/mwengine.dir/src/main/cpp/processors/phaser.cpp.o
[56/75] Building CXX object CMakeFiles/mwengine.dir/src/main/cpp/processors/lpfhpfilter.cpp.o
[57/75] Building CXX object CMakeFiles/mwengine.dir/src/main/cpp/processors/reverb.cpp.o
[58/75] Building CXX object CMakeFiles/mwengine.dir/src/main/cpp/processors/fm.cpp.o
[59/75] Building CXX object CMakeFiles/mwengine.dir/src/main/cpp/processors/flanger.cpp.o
[60/75] Building CXX object CMakeFiles/mwengine.dir/src/main/cpp/processors/pitchshifter.cpp.o
[61/75] Building CXX object CMakeFiles/mwengine.dir/src/main/cpp/processors/lowpassfilter.cpp.o
[62/75] Building CXX object CMakeFiles/mwengine.dir/src/main/cpp/processors/glitcher.cpp.o
[63/75] Building CXX object CMakeFiles/mwengine.dir/src/main/cpp/processors/limiter.cpp.o
[64/75] Building CXX object CMakeFiles/mwengine.dir/src/main/cpp/processors/reverbsm.cpp.o
[65/75] Building CXX object CMakeFiles/mwengine.dir/src/main/cpp/jni/javabridge.cpp.o
[66/75] Building CXX object CMakeFiles/mwengine.dir/src/main/cpp/processors/tremolo.cpp.o
[67/75] Building CXX object CMakeFiles/mwengine.dir/src/main/cpp/instruments/druminstrument.cpp.o
[68/75] Building CXX object CMakeFiles/mwengine.dir/src/main/cpp/jni/javautilities.cpp.o
[69/75] Building CXX object CMakeFiles/mwengine.dir/src/main/cpp/processors/waveshaper.cpp.o
[70/75] Building CXX object CMakeFiles/mwengine.dir/src/main/cpp/drumpattern.cpp.o
[71/75] Building CXX object CMakeFiles/mwengine.dir/src/main/cpp/events/drumevent.cpp.o
[72/75] Linking CXX static library libmwengine.a
[73/75] Swig source
C:\Users\Sylvain\AndroidStudioProjects\MWEngine\mwengine\src\main\cpp\processors\fm.h(32) : Warning 813: Warning for MWEngine::FrequencyModulator, base MWEngine::LFO ignored. Multiple inheritance is not supported in Java.
[74/75] Building CXX object CMakeFiles/mwengine_wrapped.dir/src/main/java/nl/igorski/mwengine/core/mwengineJAVA_wrap.cxx.o
[75/75] Linking CXX shared module ........\build\intermediates\cmake\debug\obj\arm64-v8a\libmwengine_wrapped.so
Build mwengine_wrapped_x86_64
ninja: Entering directory `C:\Users\Sylvain\AndroidStudioProjects\MWEngine\mwengine.cxx\cmake\debug\x86_64'
[1/75] Building CXX object CMakeFiles/mwengine.dir/src/main/cpp/ringbuffer.cpp.o
[2/75] Building CXX object CMakeFiles/mwengine.dir/src/main/cpp/wavetable.cpp.o
[3/75] Building CXX object CMakeFiles/mwengine.dir/src/main/cpp/drivers/adapter.cpp.o
[4/75] Building CXX object CMakeFiles/mwengine.dir/src/main/cpp/global.cpp.o
[5/75] Building CXX object CMakeFiles/mwengine.dir/src/main/cpp/sequencercontroller.cpp.o
[6/75] Building CXX object CMakeFiles/mwengine.dir/src/main/cpp/processingchain.cpp.o
[7/75] Building CXX object CMakeFiles/mwengine.dir/src/main/cpp/definitions/libraries.cpp.o
[8/75] Building CXX object CMakeFiles/mwengine.dir/src/main/cpp/audiochannel.cpp.o
[9/75] Building CXX object CMakeFiles/mwengine.dir/src/main/cpp/channelgroup.cpp.o
[10/75] Building CXX object CMakeFiles/mwengine.dir/src/main/cpp/sequencer.cpp.o
[11/75] Building CXX object CMakeFiles/mwengine.dir/src/main/cpp/messaging/observer.cpp.o
[12/75] Building CXX object CMakeFiles/mwengine.dir/src/main/cpp/drivers/aaudio_io.cpp.o
[13/75] Building C object CMakeFiles/mwengine.dir/src/main/cpp/drivers/opensl_io.c.o
[14/75] Building CXX object CMakeFiles/mwengine.dir/src/main/cpp/generators/envelopegenerator.cpp.o
[15/75] Building CXX object CMakeFiles/mwengine.dir/src/main/cpp/generators/wavegenerator.cpp.o
[16/75] Building CXX object CMakeFiles/mwengine.dir/src/main/cpp/audiobuffer.cpp.o
[17/75] Building CXX object CMakeFiles/mwengine.dir/src/main/cpp/services/library_loader.cpp.o
[18/75] Building CXX object CMakeFiles/mwengine.dir/src/main/cpp/events/basecacheableaudioevent.cpp.o
[19/75] Building CXX object CMakeFiles/mwengine.dir/src/main/cpp/instruments/sampledinstrument.cpp.o
[20/75] Building CXX object CMakeFiles/mwengine.dir/src/main/cpp/events/baseaudioevent.cpp.o
[21/75] Building CXX object CMakeFiles/mwengine.dir/src/main/cpp/events/sampleevent.cpp.o
[22/75] Building CXX object CMakeFiles/mwengine.dir/src/main/cpp/instruments/baseinstrument.cpp.o
[23/75] Building CXX object CMakeFiles/mwengine.dir/src/main/cpp/messaging/notifier.cpp.o
[24/75] Building CXX object CMakeFiles/mwengine.dir/src/main/cpp/modules/envelopefollower.cpp.o
[25/75] Building CXX object CMakeFiles/mwengine.dir/src/main/cpp/modules/routeableoscillator.cpp.o
[26/75] Building CXX object CMakeFiles/mwengine.dir/src/main/cpp/utilities/bulkcacher.cpp.o
[27/75] Building CXX object CMakeFiles/mwengine.dir/src/main/cpp/processors/baseprocessor.cpp.o
[28/75] Building CXX object CMakeFiles/mwengine.dir/src/main/cpp/audioengine.cpp.o
[29/75] Building CXX object CMakeFiles/mwengine.dir/src/main/cpp/utilities/fastmath.cpp.o
[30/75] Building CXX object CMakeFiles/mwengine.dir/src/main/cpp/utilities/debug.cpp.o
[31/75] Building CXX object CMakeFiles/mwengine.dir/src/main/cpp/utilities/levelutility.cpp.o
[32/75] Building CXX object CMakeFiles/mwengine.dir/src/main/cpp/modules/lfo.cpp.o
[33/75] Building CXX object CMakeFiles/mwengine.dir/src/main/cpp/utilities/wavereader.cpp.o
[34/75] Building CXX object CMakeFiles/mwengine.dir/src/main/cpp/utilities/samplemanager.cpp.o
[35/75] Building CXX object CMakeFiles/mwengine.dir/src/main/cpp/utilities/utils.cpp.o
[36/75] Building CXX object CMakeFiles/mwengine.dir/src/main/cpp/utilities/tablepool.cpp.o
[37/75] Building CXX object CMakeFiles/mwengine.dir/src/main/cpp/utilities/diskwriter.cpp.o
[38/75] Building CXX object CMakeFiles/mwengine.dir/src/main/cpp/utilities/bufferpool.cpp.o
[39/75] Building CXX object CMakeFiles/mwengine.dir/src/main/cpp/utilities/bufferutility.cpp.o
[40/75] Building CXX object CMakeFiles/mwengine.dir/src/main/cpp/events/synthevent.cpp.o
[41/75] Building CXX object CMakeFiles/mwengine.dir/src/main/cpp/definitions/pitch.cpp.o
[42/75] Building CXX object CMakeFiles/mwengine.dir/src/main/cpp/processors/dcoffsetfilter.cpp.o
[43/75] Building CXX object CMakeFiles/mwengine.dir/src/main/cpp/modules/arpeggiator.cpp.o
[44/75] Building CXX object CMakeFiles/mwengine.dir/src/main/cpp/utilities/wavewriter.cpp.o
[45/75] Building CXX object CMakeFiles/mwengine.dir/src/main/cpp/processors/bitcrusher.cpp.o
[46/75] Building CXX object CMakeFiles/mwengine.dir/src/main/cpp/events/basesynthevent.cpp.o
[47/75] Building CXX object CMakeFiles/mwengine.dir/src/main/cpp/modules/adsr.cpp.o
[48/75] Building CXX object CMakeFiles/mwengine.dir/src/main/cpp/processors/decimator.cpp.o
[49/75] Building CXX object CMakeFiles/mwengine.dir/src/main/cpp/processors/delay.cpp.o
[50/75] Building CXX object CMakeFiles/mwengine.dir/src/main/cpp/instruments/oscillatorproperties.cpp.o
[51/75] Building CXX object CMakeFiles/mwengine.dir/src/main/cpp/generators/synthesizer.cpp.o
[52/75] Building CXX object CMakeFiles/mwengine.dir/src/main/cpp/instruments/synthinstrument.cpp.o
[53/75] Building CXX object CMakeFiles/mwengine.dir/src/main/cpp/processors/pitchshifter.cpp.o
[54/75] Building CXX object CMakeFiles/mwengine.dir/src/main/cpp/processors/formantfilter.cpp.o
[55/75] Building CXX object CMakeFiles/mwengine.dir/src/main/cpp/processors/filter.cpp.o
[56/75] Building CXX object CMakeFiles/mwengine.dir/src/main/cpp/processors/fm.cpp.o
[57/75] Building CXX object CMakeFiles/mwengine.dir/src/main/cpp/processors/lpfhpfilter.cpp.o
[58/75] Building CXX object CMakeFiles/mwengine.dir/src/main/cpp/processors/glitcher.cpp.o
[59/75] Building CXX object CMakeFiles/mwengine.dir/src/main/cpp/processors/lowpassfilter.cpp.o
[60/75] Building CXX object CMakeFiles/mwengine.dir/src/main/cpp/processors/limiter.cpp.o
[61/75] Building CXX object CMakeFiles/mwengine.dir/src/main/cpp/processors/reverbsm.cpp.o
[62/75] Building CXX object CMakeFiles/mwengine.dir/src/main/cpp/processors/phaser.cpp.o
[63/75] Building CXX object CMakeFiles/mwengine.dir/src/main/cpp/processors/reverb.cpp.o
[64/75] Building CXX object CMakeFiles/mwengine.dir/src/main/cpp/processors/flanger.cpp.o
[65/75] Building CXX object CMakeFiles/mwengine.dir/src/main/cpp/instruments/druminstrument.cpp.o
[66/75] Building CXX object CMakeFiles/mwengine.dir/src/main/cpp/drumpattern.cpp.o
[67/75] Building CXX object CMakeFiles/mwengine.dir/src/main/cpp/jni/javautilities.cpp.o
[68/75] Building CXX object CMakeFiles/mwengine.dir/src/main/cpp/events/drumevent.cpp.o
[69/75] Building CXX object CMakeFiles/mwengine.dir/src/main/cpp/jni/javabridge.cpp.o
[70/75] Building CXX object CMakeFiles/mwengine.dir/src/main/cpp/processors/tremolo.cpp.o
[71/75] Building CXX object CMakeFiles/mwengine.dir/src/main/cpp/processors/waveshaper.cpp.o
[72/75] Linking CXX static library libmwengine.a
[73/75] Swig source
C:\Users\Sylvain\AndroidStudioProjects\MWEngine\mwengine\src\main\cpp\processors\fm.h(32) : Warning 813: Warning for MWEngine::FrequencyModulator, base MWEngine::LFO ignored. Multiple inheritance is not supported in Java.
[74/75] Building CXX object CMakeFiles/mwengine_wrapped.dir/src/main/java/nl/igorski/mwengine/core/mwengineJAVA_wrap.cxx.o
[75/75] Linking CXX shared module ........\build\intermediates\cmake\debug\obj\x86_64\libmwengine_wrapped.so

Task :mwengine:mergeDebugJniLibFolders
Task :mwengine:compileDebugRenderscript NO-SOURCE
Task :mwengine:generateDebugBuildConfig
Task :mwengine:generateDebugResValues
Task :mwengine:generateDebugResources
Task :mwengine:packageDebugResources
Task :mwengine:mergeDebugNativeLibs
Task :mwengine:parseDebugLocalResources
Task :mwengine:stripDebugDebugSymbols
Task :mwengine:copyDebugJniLibsProjectAndLocalJars
Task :mwengine:javaPreCompileDebug
Task :mwengine:mergeDebugShaders
Task :mwengine:compileDebugShaders NO-SOURCE
Task :mwengine:generateDebugAssets UP-TO-DATE
Task :mwengine:packageDebugAssets
Task :mwengine:packageDebugRenderscript NO-SOURCE
Task :mwengine:prepareLintJarForPublish
Task :mwengine:processDebugJavaRes NO-SOURCE
Task :mwengine:preReleaseBuild UP-TO-DATE
Task :mwengine:compileReleaseAidl NO-SOURCE
Task :mwengine:writeDebugAarMetadata
Task :mwengine:mergeDebugJavaResource
Task :mwengine:processDebugManifest

Task :mwengine:generateJsonModelRelease
C:\Users\Sylvain\AndroidStudioProjects\MWEngine\mwengine\CMakeLists.txt : C/C++ release|armeabi-v7a : CMake Deprecation Warning at C:/Users/Sylvain/AppData/Local/Android/Sdk/cmake/3.10.2.4988404/share/cmake-3.10/Modules/UseSWIG.cmake:231 (message):
SWIG_ADD_MODULE is deprecated. Use SWIG_ADD_LIBRARY instead.
Call Stack (most recent call first):
CMakeLists.txt:176 (swig_add_module)

C:\Users\Sylvain\AndroidStudioProjects\MWEngine\mwengine\CMakeLists.txt : C/C++ release|armeabi-v7a : CMake Deprecation Warning at C:/Users/Sylvain/AppData/Local/Android/Sdk/cmake/3.10.2.4988404/share/cmake-3.10/Modules/UseSWIG.cmake:231 (message):
SWIG_ADD_MODULE is deprecated. Use SWIG_ADD_LIBRARY instead.
Call Stack (most recent call first):
CMakeLists.txt:176 (swig_add_module)

C:\Users\Sylvain\AndroidStudioProjects\MWEngine\mwengine\CMakeLists.txt : C/C++ release|arm64-v8a : CMake Deprecation Warning at C:/Users/Sylvain/AppData/Local/Android/Sdk/cmake/3.10.2.4988404/share/cmake-3.10/Modules/UseSWIG.cmake:231 (message):
SWIG_ADD_MODULE is deprecated. Use SWIG_ADD_LIBRARY instead.
Call Stack (most recent call first):
CMakeLists.txt:176 (swig_add_module)

C:\Users\Sylvain\AndroidStudioProjects\MWEngine\mwengine\CMakeLists.txt : C/C++ release|arm64-v8a : CMake Deprecation Warning at C:/Users/Sylvain/AppData/Local/Android/Sdk/cmake/3.10.2.4988404/share/cmake-3.10/Modules/UseSWIG.cmake:231 (message):
SWIG_ADD_MODULE is deprecated. Use SWIG_ADD_LIBRARY instead.
Call Stack (most recent call first):
CMakeLists.txt:176 (swig_add_module)

C:\Users\Sylvain\AndroidStudioProjects\MWEngine\mwengine\CMakeLists.txt : C/C++ release|x86_64 : CMake Deprecation Warning at C:/Users/Sylvain/AppData/Local/Android/Sdk/cmake/3.10.2.4988404/share/cmake-3.10/Modules/UseSWIG.cmake:231 (message):
SWIG_ADD_MODULE is deprecated. Use SWIG_ADD_LIBRARY instead.
Call Stack (most recent call first):
CMakeLists.txt:176 (swig_add_module)

C:\Users\Sylvain\AndroidStudioProjects\MWEngine\mwengine\CMakeLists.txt : C/C++ release|x86_64 : CMake Deprecation Warning at C:/Users/Sylvain/AppData/Local/Android/Sdk/cmake/3.10.2.4988404/share/cmake-3.10/Modules/UseSWIG.cmake:231 (message):
SWIG_ADD_MODULE is deprecated. Use SWIG_ADD_LIBRARY instead.
Call Stack (most recent call first):
CMakeLists.txt:176 (swig_add_module)

Task :mwengine:generateDebugRFile

Task :mwengine:externalNativeBuildRelease
Build mwengine_wrapped_armeabi-v7a
ninja: Entering directory C:\Users\Sylvain\AndroidStudioProjects\MWEngine\mwengine\.cxx\cmake\release\armeabi-v7a' [1/75] Building CXX object CMakeFiles/mwengine.dir/src/main/cpp/definitions/libraries.cpp.o [2/75] Building CXX object CMakeFiles/mwengine.dir/src/main/cpp/wavetable.cpp.o [3/75] Building CXX object CMakeFiles/mwengine.dir/src/main/cpp/audiobuffer.cpp.o [4/75] Building CXX object CMakeFiles/mwengine.dir/src/main/cpp/ringbuffer.cpp.o [5/75] Building CXX object CMakeFiles/mwengine.dir/src/main/cpp/processingchain.cpp.o [6/75] Building CXX object CMakeFiles/mwengine.dir/src/main/cpp/channelgroup.cpp.o [7/75] Building CXX object CMakeFiles/mwengine.dir/src/main/cpp/drivers/adapter.cpp.o [8/75] Building CXX object CMakeFiles/mwengine.dir/src/main/cpp/audiochannel.cpp.o [9/75] Building C object CMakeFiles/mwengine.dir/src/main/cpp/drivers/opensl_io.c.o [10/75] Building CXX object CMakeFiles/mwengine.dir/src/main/cpp/messaging/observer.cpp.o [11/75] Building CXX object CMakeFiles/mwengine.dir/src/main/cpp/sequencer.cpp.o [12/75] Building CXX object CMakeFiles/mwengine.dir/src/main/cpp/sequencercontroller.cpp.o [13/75] Building CXX object CMakeFiles/mwengine.dir/src/main/cpp/generators/envelopegenerator.cpp.o [14/75] Building CXX object CMakeFiles/mwengine.dir/src/main/cpp/audioengine.cpp.o [15/75] Building CXX object CMakeFiles/mwengine.dir/src/main/cpp/events/basecacheableaudioevent.cpp.o [16/75] Building CXX object CMakeFiles/mwengine.dir/src/main/cpp/events/sampleevent.cpp.o [17/75] Building CXX object CMakeFiles/mwengine.dir/src/main/cpp/events/baseaudioevent.cpp.o [18/75] Building CXX object CMakeFiles/mwengine.dir/src/main/cpp/services/library_loader.cpp.o [19/75] Building CXX object CMakeFiles/mwengine.dir/src/main/cpp/drivers/aaudio_io.cpp.o [20/75] Building CXX object CMakeFiles/mwengine.dir/src/main/cpp/instruments/sampledinstrument.cpp.o [21/75] Building CXX object CMakeFiles/mwengine.dir/src/main/cpp/generators/wavegenerator.cpp.o [22/75] Building CXX object CMakeFiles/mwengine.dir/src/main/cpp/global.cpp.o [23/75] Building CXX object CMakeFiles/mwengine.dir/src/main/cpp/messaging/notifier.cpp.o [24/75] Building CXX object CMakeFiles/mwengine.dir/src/main/cpp/modules/envelopefollower.cpp.o [25/75] Building CXX object CMakeFiles/mwengine.dir/src/main/cpp/instruments/baseinstrument.cpp.o [26/75] Building CXX object CMakeFiles/mwengine.dir/src/main/cpp/utilities/fastmath.cpp.o [27/75] Building CXX object CMakeFiles/mwengine.dir/src/main/cpp/modules/lfo.cpp.o [28/75] Building CXX object CMakeFiles/mwengine.dir/src/main/cpp/modules/routeableoscillator.cpp.o [29/75] Building CXX object CMakeFiles/mwengine.dir/src/main/cpp/processors/baseprocessor.cpp.o [30/75] Building CXX object CMakeFiles/mwengine.dir/src/main/cpp/utilities/levelutility.cpp.o [31/75] Building CXX object CMakeFiles/mwengine.dir/src/main/cpp/utilities/bulkcacher.cpp.o [32/75] Building CXX object CMakeFiles/mwengine.dir/src/main/cpp/utilities/debug.cpp.o [33/75] Building CXX object CMakeFiles/mwengine.dir/src/main/cpp/utilities/wavereader.cpp.o [34/75] Building CXX object CMakeFiles/mwengine.dir/src/main/cpp/utilities/utils.cpp.o [35/75] Building CXX object CMakeFiles/mwengine.dir/src/main/cpp/utilities/tablepool.cpp.o [36/75] Building CXX object CMakeFiles/mwengine.dir/src/main/cpp/utilities/samplemanager.cpp.o [37/75] Building CXX object CMakeFiles/mwengine.dir/src/main/cpp/utilities/bufferutility.cpp.o [38/75] Building CXX object CMakeFiles/mwengine.dir/src/main/cpp/definitions/pitch.cpp.o [39/75] Building CXX object CMakeFiles/mwengine.dir/src/main/cpp/processors/decimator.cpp.o [40/75] Building CXX object CMakeFiles/mwengine.dir/src/main/cpp/events/synthevent.cpp.o [41/75] Building CXX object CMakeFiles/mwengine.dir/src/main/cpp/utilities/diskwriter.cpp.o [42/75] Building CXX object CMakeFiles/mwengine.dir/src/main/cpp/utilities/bufferpool.cpp.o [43/75] Building CXX object CMakeFiles/mwengine.dir/src/main/cpp/processors/delay.cpp.o [44/75] Building CXX object CMakeFiles/mwengine.dir/src/main/cpp/events/basesynthevent.cpp.o [45/75] Building CXX object CMakeFiles/mwengine.dir/src/main/cpp/utilities/wavewriter.cpp.o [46/75] Building CXX object CMakeFiles/mwengine.dir/src/main/cpp/instruments/oscillatorproperties.cpp.o [47/75] Building CXX object CMakeFiles/mwengine.dir/src/main/cpp/modules/arpeggiator.cpp.o [48/75] Building CXX object CMakeFiles/mwengine.dir/src/main/cpp/modules/adsr.cpp.o [49/75] Building CXX object CMakeFiles/mwengine.dir/src/main/cpp/generators/synthesizer.cpp.o [50/75] Building CXX object CMakeFiles/mwengine.dir/src/main/cpp/processors/bitcrusher.cpp.o [51/75] Building CXX object CMakeFiles/mwengine.dir/src/main/cpp/processors/dcoffsetfilter.cpp.o [52/75] Building CXX object CMakeFiles/mwengine.dir/src/main/cpp/instruments/synthinstrument.cpp.o [53/75] Building CXX object CMakeFiles/mwengine.dir/src/main/cpp/processors/filter.cpp.o [54/75] Building CXX object CMakeFiles/mwengine.dir/src/main/cpp/processors/reverb.cpp.o [55/75] Building CXX object CMakeFiles/mwengine.dir/src/main/cpp/processors/flanger.cpp.o [56/75] Building CXX object CMakeFiles/mwengine.dir/src/main/cpp/processors/pitchshifter.cpp.o [57/75] Building CXX object CMakeFiles/mwengine.dir/src/main/cpp/processors/formantfilter.cpp.o [58/75] Building CXX object CMakeFiles/mwengine.dir/src/main/cpp/processors/lowpassfilter.cpp.o [59/75] Building CXX object CMakeFiles/mwengine.dir/src/main/cpp/processors/fm.cpp.o [60/75] Building CXX object CMakeFiles/mwengine.dir/src/main/cpp/processors/limiter.cpp.o [61/75] Building CXX object CMakeFiles/mwengine.dir/src/main/cpp/processors/glitcher.cpp.o [62/75] Building CXX object CMakeFiles/mwengine.dir/src/main/cpp/processors/lpfhpfilter.cpp.o [63/75] Building CXX object CMakeFiles/mwengine.dir/src/main/cpp/processors/phaser.cpp.o [64/75] Building CXX object CMakeFiles/mwengine.dir/src/main/cpp/jni/javabridge.cpp.o [65/75] Building CXX object CMakeFiles/mwengine.dir/src/main/cpp/processors/reverbsm.cpp.o [66/75] Building CXX object CMakeFiles/mwengine.dir/src/main/cpp/processors/tremolo.cpp.o [67/75] Building CXX object CMakeFiles/mwengine.dir/src/main/cpp/jni/javautilities.cpp.o [68/75] Building CXX object CMakeFiles/mwengine.dir/src/main/cpp/processors/waveshaper.cpp.o [69/75] Building CXX object CMakeFiles/mwengine.dir/src/main/cpp/events/drumevent.cpp.o [70/75] Building CXX object CMakeFiles/mwengine.dir/src/main/cpp/drumpattern.cpp.o [71/75] Building CXX object CMakeFiles/mwengine.dir/src/main/cpp/instruments/druminstrument.cpp.o [72/75] Linking CXX static library libmwengine.a [73/75] Swig source C:\Users\Sylvain\AndroidStudioProjects\MWEngine\mwengine\src\main\cpp\processors\fm.h(32) : Warning 813: Warning for MWEngine::FrequencyModulator, base MWEngine::LFO ignored. Multiple inheritance is not supported in Java. [74/75] Building CXX object CMakeFiles/mwengine_wrapped.dir/src/main/java/nl/igorski/mwengine/core/mwengineJAVA_wrap.cxx.o [75/75] Linking CXX shared module ..\..\..\..\build\intermediates\cmake\release\obj\armeabi-v7a\libmwengine_wrapped.so Build mwengine_wrapped_arm64-v8a ninja: Entering directory C:\Users\Sylvain\AndroidStudioProjects\MWEngine\mwengine.cxx\cmake\release\arm64-v8a'
[1/75] Building CXX object CMakeFiles/mwengine.dir/src/main/cpp/definitions/libraries.cpp.o
[2/75] Building CXX object CMakeFiles/mwengine.dir/src/main/cpp/ringbuffer.cpp.o
[3/75] Building CXX object CMakeFiles/mwengine.dir/src/main/cpp/wavetable.cpp.o
[4/75] Building CXX object CMakeFiles/mwengine.dir/src/main/cpp/drivers/adapter.cpp.o
[5/75] Building CXX object CMakeFiles/mwengine.dir/src/main/cpp/channelgroup.cpp.o
[6/75] Building CXX object CMakeFiles/mwengine.dir/src/main/cpp/audiochannel.cpp.o
[7/75] Building CXX object CMakeFiles/mwengine.dir/src/main/cpp/processingchain.cpp.o
[8/75] Building CXX object CMakeFiles/mwengine.dir/src/main/cpp/messaging/observer.cpp.o
[9/75] Building C object CMakeFiles/mwengine.dir/src/main/cpp/drivers/opensl_io.c.o
[10/75] Building CXX object CMakeFiles/mwengine.dir/src/main/cpp/sequencercontroller.cpp.o
[11/75] Building CXX object CMakeFiles/mwengine.dir/src/main/cpp/drivers/aaudio_io.cpp.o
[12/75] Building CXX object CMakeFiles/mwengine.dir/src/main/cpp/sequencer.cpp.o
[13/75] Building CXX object CMakeFiles/mwengine.dir/src/main/cpp/events/baseaudioevent.cpp.o
[14/75] Building CXX object CMakeFiles/mwengine.dir/src/main/cpp/generators/envelopegenerator.cpp.o
[15/75] Building CXX object CMakeFiles/mwengine.dir/src/main/cpp/events/basecacheableaudioevent.cpp.o
[16/75] Building CXX object CMakeFiles/mwengine.dir/src/main/cpp/generators/wavegenerator.cpp.o
[17/75] Building CXX object CMakeFiles/mwengine.dir/src/main/cpp/global.cpp.o
[18/75] Building CXX object CMakeFiles/mwengine.dir/src/main/cpp/events/sampleevent.cpp.o
[19/75] Building CXX object CMakeFiles/mwengine.dir/src/main/cpp/services/library_loader.cpp.o
[20/75] Building CXX object CMakeFiles/mwengine.dir/src/main/cpp/instruments/sampledinstrument.cpp.o
[21/75] Building CXX object CMakeFiles/mwengine.dir/src/main/cpp/messaging/notifier.cpp.o
[22/75] Building CXX object CMakeFiles/mwengine.dir/src/main/cpp/audiobuffer.cpp.o
[23/75] Building CXX object CMakeFiles/mwengine.dir/src/main/cpp/modules/routeableoscillator.cpp.o
[24/75] Building CXX object CMakeFiles/mwengine.dir/src/main/cpp/instruments/baseinstrument.cpp.o
[25/75] Building CXX object CMakeFiles/mwengine.dir/src/main/cpp/utilities/fastmath.cpp.o
[26/75] Building CXX object CMakeFiles/mwengine.dir/src/main/cpp/modules/envelopefollower.cpp.o
[27/75] Building CXX object CMakeFiles/mwengine.dir/src/main/cpp/processors/baseprocessor.cpp.o
[28/75] Building CXX object CMakeFiles/mwengine.dir/src/main/cpp/utilities/bulkcacher.cpp.o
[29/75] Building CXX object CMakeFiles/mwengine.dir/src/main/cpp/utilities/levelutility.cpp.o
[30/75] Building CXX object CMakeFiles/mwengine.dir/src/main/cpp/modules/lfo.cpp.o
[31/75] Building CXX object CMakeFiles/mwengine.dir/src/main/cpp/utilities/debug.cpp.o
[32/75] Building CXX object CMakeFiles/mwengine.dir/src/main/cpp/audioengine.cpp.o
[33/75] Building CXX object CMakeFiles/mwengine.dir/src/main/cpp/utilities/wavereader.cpp.o
[34/75] Building CXX object CMakeFiles/mwengine.dir/src/main/cpp/utilities/utils.cpp.o
[35/75] Building CXX object CMakeFiles/mwengine.dir/src/main/cpp/utilities/tablepool.cpp.o
[36/75] Building CXX object CMakeFiles/mwengine.dir/src/main/cpp/utilities/bufferutility.cpp.o
[37/75] Building CXX object CMakeFiles/mwengine.dir/src/main/cpp/utilities/samplemanager.cpp.o
[38/75] Building CXX object CMakeFiles/mwengine.dir/src/main/cpp/utilities/bufferpool.cpp.o
[39/75] Building CXX object CMakeFiles/mwengine.dir/src/main/cpp/events/basesynthevent.cpp.o
[40/75] Building CXX object CMakeFiles/mwengine.dir/src/main/cpp/definitions/pitch.cpp.o
[41/75] Building CXX object CMakeFiles/mwengine.dir/src/main/cpp/events/synthevent.cpp.o
[42/75] Building CXX object CMakeFiles/mwengine.dir/src/main/cpp/modules/arpeggiator.cpp.o
[43/75] Building CXX object CMakeFiles/mwengine.dir/src/main/cpp/utilities/diskwriter.cpp.o
[44/75] Building CXX object CMakeFiles/mwengine.dir/src/main/cpp/utilities/wavewriter.cpp.o
[45/75] Building CXX object CMakeFiles/mwengine.dir/src/main/cpp/instruments/oscillatorproperties.cpp.o
[46/75] Building CXX object CMakeFiles/mwengine.dir/src/main/cpp/processors/bitcrusher.cpp.o
[47/75] Building CXX object CMakeFiles/mwengine.dir/src/main/cpp/instruments/synthinstrument.cpp.o
[48/75] Building CXX object CMakeFiles/mwengine.dir/src/main/cpp/processors/dcoffsetfilter.cpp.o
[49/75] Building CXX object CMakeFiles/mwengine.dir/src/main/cpp/generators/synthesizer.cpp.o
[50/75] Building CXX object CMakeFiles/mwengine.dir/src/main/cpp/processors/decimator.cpp.o
[51/75] Building CXX object CMakeFiles/mwengine.dir/src/main/cpp/modules/adsr.cpp.o
[52/75] Building CXX object CMakeFiles/mwengine.dir/src/main/cpp/processors/delay.cpp.o
[53/75] Building CXX object CMakeFiles/mwengine.dir/src/main/cpp/processors/flanger.cpp.o
[54/75] Building CXX object CMakeFiles/mwengine.dir/src/main/cpp/processors/limiter.cpp.o
[55/75] Building CXX object CMakeFiles/mwengine.dir/src/main/cpp/processors/filter.cpp.o
[56/75] Building CXX object CMakeFiles/mwengine.dir/src/main/cpp/processors/fm.cpp.o
[57/75] Building CXX object CMakeFiles/mwengine.dir/src/main/cpp/processors/lowpassfilter.cpp.o
[58/75] Building CXX object CMakeFiles/mwengine.dir/src/main/cpp/processors/lpfhpfilter.cpp.o
[59/75] Building CXX object CMakeFiles/mwengine.dir/src/main/cpp/processors/phaser.cpp.o
[60/75] Building CXX object CMakeFiles/mwengine.dir/src/main/cpp/processors/formantfilter.cpp.o
[61/75] Building CXX object CMakeFiles/mwengine.dir/src/main/cpp/processors/pitchshifter.cpp.o
[62/75] Building CXX object CMakeFiles/mwengine.dir/src/main/cpp/processors/glitcher.cpp.o
[63/75] Building CXX object CMakeFiles/mwengine.dir/src/main/cpp/processors/reverb.cpp.o
[64/75] Building CXX object CMakeFiles/mwengine.dir/src/main/cpp/jni/javabridge.cpp.o
[65/75] Building CXX object CMakeFiles/mwengine.dir/src/main/cpp/processors/waveshaper.cpp.o
[66/75] Building CXX object CMakeFiles/mwengine.dir/src/main/cpp/processors/reverbsm.cpp.o
[67/75] Building CXX object CMakeFiles/mwengine.dir/src/main/cpp/events/drumevent.cpp.o
[68/75] Building CXX object CMakeFiles/mwengine.dir/src/main/cpp/instruments/druminstrument.cpp.o
[69/75] Building CXX object CMakeFiles/mwengine.dir/src/main/cpp/drumpattern.cpp.o
[70/75] Building CXX object CMakeFiles/mwengine.dir/src/main/cpp/processors/tremolo.cpp.o
[71/75] Building CXX object CMakeFiles/mwengine.dir/src/main/cpp/jni/javautilities.cpp.o
[72/75] Linking CXX static library libmwengine.a
[73/75] Swig source
C:\Users\Sylvain\AndroidStudioProjects\MWEngine\mwengine\src\main\cpp\processors\fm.h(32) : Warning 813: Warning for MWEngine::FrequencyModulator, base MWEngine::LFO ignored. Multiple inheritance is not supported in Java.
[74/75] Building CXX object CMakeFiles/mwengine_wrapped.dir/src/main/java/nl/igorski/mwengine/core/mwengineJAVA_wrap.cxx.o
[75/75] Linking CXX shared module ........\build\intermediates\cmake\release\obj\arm64-v8a\libmwengine_wrapped.so
Build mwengine_wrapped_x86_64
ninja: Entering directory `C:\Users\Sylvain\AndroidStudioProjects\MWEngine\mwengine.cxx\cmake\release\x86_64'
[1/75] Building CXX object CMakeFiles/mwengine.dir/src/main/cpp/definitions/libraries.cpp.o
[2/75] Building CXX object CMakeFiles/mwengine.dir/src/main/cpp/global.cpp.o
[3/75] Building CXX object CMakeFiles/mwengine.dir/src/main/cpp/ringbuffer.cpp.o
[4/75] Building CXX object CMakeFiles/mwengine.dir/src/main/cpp/processingchain.cpp.o
[5/75] Building CXX object CMakeFiles/mwengine.dir/src/main/cpp/drivers/adapter.cpp.o
[6/75] Building CXX object CMakeFiles/mwengine.dir/src/main/cpp/wavetable.cpp.o
[7/75] Building C object CMakeFiles/mwengine.dir/src/main/cpp/drivers/opensl_io.c.o
[8/75] Building CXX object CMakeFiles/mwengine.dir/src/main/cpp/audiochannel.cpp.o
[9/75] Building CXX object CMakeFiles/mwengine.dir/src/main/cpp/channelgroup.cpp.o
[10/75] Building CXX object CMakeFiles/mwengine.dir/src/main/cpp/sequencer.cpp.o
[11/75] Building CXX object CMakeFiles/mwengine.dir/src/main/cpp/sequencercontroller.cpp.o
[12/75] Building CXX object CMakeFiles/mwengine.dir/src/main/cpp/messaging/observer.cpp.o
[13/75] Building CXX object CMakeFiles/mwengine.dir/src/main/cpp/generators/envelopegenerator.cpp.o
[14/75] Building CXX object CMakeFiles/mwengine.dir/src/main/cpp/drivers/aaudio_io.cpp.o
[15/75] Building CXX object CMakeFiles/mwengine.dir/src/main/cpp/generators/wavegenerator.cpp.o
[16/75] Building CXX object CMakeFiles/mwengine.dir/src/main/cpp/events/sampleevent.cpp.o
[17/75] Building CXX object CMakeFiles/mwengine.dir/src/main/cpp/services/library_loader.cpp.o
[18/75] Building CXX object CMakeFiles/mwengine.dir/src/main/cpp/events/basecacheableaudioevent.cpp.o
[19/75] Building CXX object CMakeFiles/mwengine.dir/src/main/cpp/events/baseaudioevent.cpp.o
[20/75] Building CXX object CMakeFiles/mwengine.dir/src/main/cpp/instruments/sampledinstrument.cpp.o
[21/75] Building CXX object CMakeFiles/mwengine.dir/src/main/cpp/audiobuffer.cpp.o
[22/75] Building CXX object CMakeFiles/mwengine.dir/src/main/cpp/instruments/baseinstrument.cpp.o
[23/75] Building CXX object CMakeFiles/mwengine.dir/src/main/cpp/messaging/notifier.cpp.o
[24/75] Building CXX object CMakeFiles/mwengine.dir/src/main/cpp/modules/envelopefollower.cpp.o
[25/75] Building CXX object CMakeFiles/mwengine.dir/src/main/cpp/modules/routeableoscillator.cpp.o
[26/75] Building CXX object CMakeFiles/mwengine.dir/src/main/cpp/processors/baseprocessor.cpp.o
[27/75] Building CXX object CMakeFiles/mwengine.dir/src/main/cpp/utilities/levelutility.cpp.o
[28/75] Building CXX object CMakeFiles/mwengine.dir/src/main/cpp/modules/lfo.cpp.o
[29/75] Building CXX object CMakeFiles/mwengine.dir/src/main/cpp/utilities/fastmath.cpp.o
[30/75] Building CXX object CMakeFiles/mwengine.dir/src/main/cpp/audioengine.cpp.o
[31/75] Building CXX object CMakeFiles/mwengine.dir/src/main/cpp/utilities/debug.cpp.o
[32/75] Building CXX object CMakeFiles/mwengine.dir/src/main/cpp/utilities/bulkcacher.cpp.o
[33/75] Building CXX object CMakeFiles/mwengine.dir/src/main/cpp/utilities/wavereader.cpp.o
[34/75] Building CXX object CMakeFiles/mwengine.dir/src/main/cpp/utilities/utils.cpp.o
[35/75] Building CXX object CMakeFiles/mwengine.dir/src/main/cpp/utilities/samplemanager.cpp.o
[36/75] Building CXX object CMakeFiles/mwengine.dir/src/main/cpp/utilities/bufferpool.cpp.o
[37/75] Building CXX object CMakeFiles/mwengine.dir/src/main/cpp/utilities/bufferutility.cpp.o
[38/75] Building CXX object CMakeFiles/mwengine.dir/src/main/cpp/utilities/tablepool.cpp.o
[39/75] Building CXX object CMakeFiles/mwengine.dir/src/main/cpp/events/basesynthevent.cpp.o
[40/75] Building CXX object CMakeFiles/mwengine.dir/src/main/cpp/events/synthevent.cpp.o
[41/75] Building CXX object CMakeFiles/mwengine.dir/src/main/cpp/definitions/pitch.cpp.o
[42/75] Building CXX object CMakeFiles/mwengine.dir/src/main/cpp/utilities/diskwriter.cpp.o
[43/75] Building CXX object CMakeFiles/mwengine.dir/src/main/cpp/processors/dcoffsetfilter.cpp.o
[44/75] Building CXX object CMakeFiles/mwengine.dir/src/main/cpp/processors/delay.cpp.o
[45/75] Building CXX object CMakeFiles/mwengine.dir/src/main/cpp/modules/arpeggiator.cpp.o
[46/75] Building CXX object CMakeFiles/mwengine.dir/src/main/cpp/processors/decimator.cpp.o
[47/75] Building CXX object CMakeFiles/mwengine.dir/src/main/cpp/processors/bitcrusher.cpp.o
[48/75] Building CXX object CMakeFiles/mwengine.dir/src/main/cpp/instruments/oscillatorproperties.cpp.o
[49/75] Building CXX object CMakeFiles/mwengine.dir/src/main/cpp/generators/synthesizer.cpp.o
[50/75] Building CXX object CMakeFiles/mwengine.dir/src/main/cpp/utilities/wavewriter.cpp.o
[51/75] Building CXX object CMakeFiles/mwengine.dir/src/main/cpp/instruments/synthinstrument.cpp.o
[52/75] Building CXX object CMakeFiles/mwengine.dir/src/main/cpp/modules/adsr.cpp.o
[53/75] Building CXX object CMakeFiles/mwengine.dir/src/main/cpp/processors/filter.cpp.o
[54/75] Building CXX object CMakeFiles/mwengine.dir/src/main/cpp/processors/phaser.cpp.o
[55/75] Building CXX object CMakeFiles/mwengine.dir/src/main/cpp/processors/fm.cpp.o
[56/75] Building CXX object CMakeFiles/mwengine.dir/src/main/cpp/processors/pitchshifter.cpp.o
[57/75] Building CXX object CMakeFiles/mwengine.dir/src/main/cpp/processors/limiter.cpp.o
[58/75] Building CXX object CMakeFiles/mwengine.dir/src/main/cpp/processors/glitcher.cpp.o
[59/75] Building CXX object CMakeFiles/mwengine.dir/src/main/cpp/processors/reverb.cpp.o
[60/75] Building CXX object CMakeFiles/mwengine.dir/src/main/cpp/processors/lowpassfilter.cpp.o
[61/75] Building CXX object CMakeFiles/mwengine.dir/src/main/cpp/processors/lpfhpfilter.cpp.o
[62/75] Building CXX object CMakeFiles/mwengine.dir/src/main/cpp/processors/flanger.cpp.o
[63/75] Building CXX object CMakeFiles/mwengine.dir/src/main/cpp/processors/formantfilter.cpp.o
[64/75] Building CXX object CMakeFiles/mwengine.dir/src/main/cpp/processors/reverbsm.cpp.o
[65/75] Building CXX object CMakeFiles/mwengine.dir/src/main/cpp/processors/waveshaper.cpp.o
[66/75] Building CXX object CMakeFiles/mwengine.dir/src/main/cpp/processors/tremolo.cpp.o
[67/75] Building CXX object CMakeFiles/mwengine.dir/src/main/cpp/jni/javabridge.cpp.o
[68/75] Building CXX object CMakeFiles/mwengine.dir/src/main/cpp/events/drumevent.cpp.o
[69/75] Building CXX object CMakeFiles/mwengine.dir/src/main/cpp/drumpattern.cpp.o
[70/75] Building CXX object CMakeFiles/mwengine.dir/src/main/cpp/instruments/druminstrument.cpp.o
[71/75] Building CXX object CMakeFiles/mwengine.dir/src/main/cpp/jni/javautilities.cpp.o
[72/75] Linking CXX static library libmwengine.a
[73/75] Swig source
C:\Users\Sylvain\AndroidStudioProjects\MWEngine\mwengine\src\main\cpp\processors\fm.h(32) : Warning 813: Warning for MWEngine::FrequencyModulator, base MWEngine::LFO ignored. Multiple inheritance is not supported in Java.
[74/75] Building CXX object CMakeFiles/mwengine_wrapped.dir/src/main/java/nl/igorski/mwengine/core/mwengineJAVA_wrap.cxx.o
[75/75] Linking CXX shared module ........\build\intermediates\cmake\release\obj\x86_64\libmwengine_wrapped.so

Task :mwengine:mergeReleaseJniLibFolders
Task :mwengine:compileReleaseRenderscript NO-SOURCE
Task :mwengine:mergeReleaseNativeLibs
Task :mwengine:compileDebugJavaWithJavac
Task :mwengine:extractDebugAnnotations
Task :mwengine:mergeDebugGeneratedProguardFiles
Task :mwengine:mergeDebugConsumerProguardFiles
Task :mwengine:syncDebugLibJars
Task :mwengine:bundleDebugAar
Task :mwengine:compileDebugSources
Task :mwengine:assembleDebug
Task :mwengine:stripReleaseDebugSymbols
Task :mwengine:copyReleaseJniLibsProjectAndLocalJars
Task :mwengine:generateReleaseBuildConfig
Task :mwengine:generateReleaseResValues
Task :mwengine:generateReleaseResources
Task :mwengine:packageReleaseResources
Task :mwengine:parseReleaseLocalResources
Task :mwengine:javaPreCompileRelease
Task :mwengine:mergeReleaseShaders
Task :mwengine:compileReleaseShaders NO-SOURCE
Task :mwengine:generateReleaseAssets UP-TO-DATE
Task :mwengine:processReleaseManifest
Task :mwengine:packageReleaseAssets
Task :mwengine:packageReleaseRenderscript NO-SOURCE
Task :mwengine:processReleaseJavaRes NO-SOURCE
Task :mwengine:generateReleaseRFile
Task :mwengine:writeReleaseAarMetadata
Task :mwengine:mergeReleaseJavaResource
Task :mwengine:mergeReleaseResources
Task :mwengine:compileReleaseJavaWithJavac
Task :mwengine:extractReleaseAnnotations
Task :mwengine:mergeReleaseGeneratedProguardFiles
Task :mwengine:mergeReleaseConsumerProguardFiles
Task :mwengine:syncReleaseLibJars
Task :mwengine:compileReleaseSources
Task :mwengine_example:preBuild UP-TO-DATE
Task :mwengine_example:preDebugBuild UP-TO-DATE
Task :mwengine_example:compileDebugAidl NO-SOURCE
Task :mwengine_example:compileDebugRenderscript NO-SOURCE
Task :mwengine_example:generateDebugBuildConfig
Task :mwengine_example:javaPreCompileDebug
Task :mwengine:compileDebugLibraryResources
Task :mwengine_example:checkDebugAarMetadata
Task :mwengine_example:generateDebugResValues
Task :mwengine_example:generateDebugResources
Task :mwengine:bundleLibCompileToJarDebug
Task :mwengine_example:mergeDebugResources
Task :mwengine:verifyReleaseResources
Task :mwengine:bundleReleaseAar
Task :mwengine:assembleRelease
Task :mwengine:assemble
Task :mwengine_example:createDebugCompatibleScreenManifests
Task :mwengine:extractDeepLinksDebug
Task :mwengine_example:extractDeepLinksDebug
Task :mwengine_example:processDebugMainManifest
Task :mwengine_example:processDebugManifest
Task :mwengine_example:mergeDebugNativeDebugMetadata NO-SOURCE
Task :mwengine_example:mergeDebugShaders
Task :mwengine_example:compileDebugShaders NO-SOURCE
Task :mwengine_example:generateDebugAssets UP-TO-DATE
Task :mwengine_example:mergeDebugAssets
Task :mwengine:bundleLibResDebug NO-SOURCE
Task :mwengine_example:processDebugJavaRes NO-SOURCE
Task :mwengine_example:compressDebugAssets
Task :mwengine_example:mergeDebugJavaResource
Task :mwengine_example:checkDebugDuplicateClasses
Task :mwengine:bundleLibRuntimeToJarDebug
Task :mwengine:copyDebugJniLibsProjectOnly
Task :mwengine_example:mergeExtDexDebug
Task :mwengine_example:mergeDebugJniLibFolders
Task :mwengine_example:validateSigningDebug
Task :mwengine_example:preReleaseBuild UP-TO-DATE
Task :mwengine_example:compileReleaseAidl NO-SOURCE
Task :mwengine_example:compileReleaseRenderscript NO-SOURCE
Task :mwengine_example:generateReleaseBuildConfig
Task :mwengine_example:mergeDebugNativeLibs
Task :mwengine_example:javaPreCompileRelease
Task :mwengine:bundleLibCompileToJarRelease
Task :mwengine_example:stripDebugDebugSymbols
Task :mwengine:compileReleaseLibraryResources
Task :mwengine_example:checkReleaseAarMetadata
Task :mwengine_example:generateReleaseResValues
Task :mwengine_example:generateReleaseResources
Task :mwengine_example:createReleaseCompatibleScreenManifests
Task :mwengine:extractDeepLinksRelease
Task :mwengine_example:extractDeepLinksRelease
Task :mwengine_example:processReleaseMainManifest
Task :mwengine_example:processReleaseManifest
Task :mwengine_example:mergeReleaseResources
Task :mwengine_example:mergeReleaseNativeDebugMetadata NO-SOURCE
Task :mwengine_example:mergeReleaseShaders
Task :mwengine_example:compileReleaseShaders NO-SOURCE
Task :mwengine_example:generateReleaseAssets UP-TO-DATE
Task :mwengine_example:mergeReleaseAssets
Task :mwengine_example:processDebugManifestForPackage
Task :mwengine_example:compressReleaseAssets
Task :mwengine_example:processDebugResources
Task :mwengine_example:compileDebugJavaWithJavac
Task :mwengine_example:compileDebugSources
Task :mwengine_example:dexBuilderDebug
Task :mwengine_example:checkReleaseDuplicateClasses
Task :mwengine:bundleLibResRelease NO-SOURCE
Task :mwengine_example:mergeExtDexRelease
Task :mwengine_example:processReleaseJavaRes NO-SOURCE
Task :mwengine_example:mergeReleaseJavaResource
Task :mwengine:bundleLibRuntimeToJarRelease
Task :mwengine_example:collectReleaseDependencies
Task :mwengine_example:sdkReleaseDependencyData
Task :mwengine:copyReleaseJniLibsProjectOnly
Task :mwengine_example:mergeReleaseJniLibFolders
Task :mwengine_example:processReleaseManifestForPackage
Task :mwengine_example:mergeReleaseNativeLibs
Task :mwengine_example:processReleaseResources
Task :mwengine_example:mergeDexDebug
Task :mwengine_example:compileReleaseJavaWithJavac
Task :mwengine_example:compileReleaseSources
Task :mwengine_example:lintVitalRelease
Task :mwengine_example:dexBuilderRelease
Task :mwengine_example:stripReleaseDebugSymbols
Task :mwengine_example:mergeDexRelease
Task :mwengine_example:packageDebug
Task :mwengine_example:assembleDebug
Task :mwengine_example:packageRelease
Task :mwengine_example:assembleRelease
Task :mwengine_example:assemble

BUILD SUCCESSFUL in 3m 39s
111 actionable tasks: 111 executed
1:13:46 PM: Task execution finished 'assemble'.

Hi, good question and reminder as this was a development that was on the backlog for too long...

I have created a branch aar which contains an updated setup that separates the example activity from the core code, the latter which will be built as a library, packaged inside an AAR. The README file is also updated to describe how to include this AAR within a custom project.

Your workflow would then be that instead of cloning this repository and changing files accordingly, you have a checkout of the repository which creates the .AAR file. This file you can import in your custom project either manually or via an automation process that moves the assembled .AAR to the target project.

Perhaps you can give this a test drive and see if it works for your purposes ?

OK, I imported the aar according to https://developer.android.com/studio/projects/android-library:
File->New->New Module
Import .JAR/.AAR Package
Pointed to the produced arr file mwengine-debug
it correctly generated the artefact in build.gradle(:mwengine-debug):

configurations.maybeCreate("default")
artifacts.add("default", file('mwengine-debug.aar'))

idem for settings-gradle:

include ':mwengine-debug'
include ':app'
rootProject.name='AudioWithLib'

and then added this line in the dependency section of build.gradle(:app)
implementation project(":mwengine-debug")

Then sync and I got this warning

Deprecated Gradle features were used in this build, making it incompatible with Gradle 6.0.
Use '--warning-mode all' to show the individual deprecation warnings.
See https://docs.gradle.org/5.4.1/userguide/command_line_interface.html#sec:command_line_warnings

But in main (which is a modified MWEngineActivity) everything was in red.
I right-click the library -> Load/Unload Modules... and load the module

Now most of main been resolved but for:
BUFFER_SIZE = DevicePropertyCalculator.getRecommendedBufferSize( getApplicationContext() );
SAMPLE_RATE = DevicePropertyCalculator.getRecommendedSampleRate( getApplicationContext() );
Those two do not seem to come from core.

I tried also as you suggest in the readme and moved(refactor) the arr in .libs and add the dirs "libs" line in the "allprojects" section and the ndk line in the defaultConfig section of the build.gradle(:app). But it didnt work.
It seem i'm close though.

Stupid me... It didnt compile because my main was from a modified MWEngineActivity from last year....
So
BUFFER_SIZE = DevicePropertyCalculator.getRecommendedBufferSize( getApplicationContext() );
SAMPLE_RATE = DevicePropertyCalculator.getRecommendedSampleRate( getApplicationContext() )
have now been replaced to
BUFFER_SIZE = MWEngine.getRecommendedBufferSize( getApplicationContext() );
SAMPLE_RATE = MWEngine.getRecommendedSampleRate( getApplicationContext() );
Now everything is fine, it compile and run. Although I could not reproduce it in the way indicated in the readme by copying in the libs directory. I could only make it happen with Android Studio New Module pointing to the aar without a libs directory. The only line I had to add was the implementation project(":mwengine-debug") dependency.

Glad to hear its working! :)

I shall update the README with your findings, thanks for the test drive and elaborate info!

Here is the minimal steps you need to install MWEngine as a lib:

1 - First get the aar branch of the library https://github.com/igorski/MWEngine/tree/aar either cloning or download the zip - if you clone, make sure you checkout the aar branch on bottom right of Android Studio.

2 - Open the gradle command tool: View->Tool Windows->Gradle and right-click on mwengine->Tasks->build->assemble
image

image

You can find the resulting aar's in MWEngine->mwengine->build->outputs->aar

3a - In your project, import the library with New->New Module... and select Import .JAR/.AAR Package
image

and 3b - browse to the location of the aar you want (you can only import one at a time), select and click finish.
image

4 - In the build.gradle(:app) add these lines to the defaultConfig section:

ndk {
    // these values must match the abi's defined in mwengine/build.gradle
    // to prevent UnsatisfiedLinkError when this app tries to serve an unsupported architecture
    abiFilters "armeabi-v7a", "arm64-v8a", "x86_64"
}

and this line to the dependency section:
implementation project(":mwengine-debug")
or :mwengine-release depending on which one you selected

That's it

Thanks! 🎉

I added your instructions to the README and have merged the branch into master. From this day forth, MWEngine will out of the box build its core library as a shareable module.