Hi all,

I spent a bit of time today digging into the Faust2Unity workflow with the
goal of pushing a small Unity app using Faust String models onto a mobile
device (Pixel 5a, version: 11.0, abi: arm64-v8a, sdk: 30).

I'm ultimately getting no sound on device (I have sound in editor using the
Win64 built plugin), and seeing these errors in Android Logicat:

2021/11/21 01:20:44.257 17322 17343 Error Unity DllNotFoundException:
libFaustPlugin_proceede_violin
2021/11/21 01:20:44.257 17322 17343 Error Unity   at (wrapper
managed-to-native)
FaustUtilities_proceede_violin.Faust_Context.Faust_contextNew(int)
2021/11/21 01:20:44.257 17322 17343 Error Unity   at
FaustUtilities_proceede_violin.Faust_Context..ctor (System.Int32
buffersize) [0x00006] in <fc43311815dd42d7bd5b03c7a64e1479>:0
2021/11/21 01:20:44.257 17322 17343 Error Unity   at
FaustPlugin_proceede_violin.Awake () [0x00007] in
<fc43311815dd42d7bd5b03c7a64e1479>:0

I'm getting the same errors whether I compile via Faust2Unity for
armeabi-v7a or arm64-v8a (after adding arm64-v8a to APP_ABI in
Application.mk). I'm running Faust2Unity on a Mac and transferring the
unity package over to a Windows machine where I'm building the Unity
project onto the Android phone. (For what it's worth, I'm not building OS X
or iOS at this time as I'm on an older version of OS X and would need to
upgrade my OS to install XCode). I tried forcing Unity into compiling
64-bit Android with IL2CPP but that didn't seem to do anything.

Any thoughts on what could be going on would be extremely helpful. I ran
through as many possible scenarios as I could think of, but no sound on
mobile ever is working.

One thing I'm seeing that I don't understand is that in the generated
FaustUtilities_ .cs file, the _dllName string is being populated with a
different name than the generated Android plugin... the plugin name begins
with "libFaust" while line 253 of FaustUtilities_ in the Faust_Context
class def looks for a plugin starting with "Faust...". The first
declaration for EDITOR and WIN seems to rightly use the "libFaust..."
preface (see below):

        #if UNITY_EDITOR_OSX || UNITY_EDITOR_WIN || UNITY_STANDALONE_OSX ||
UNITY_STANDALONE_WIN || UNITY_WSA || UNITY_WSA_10_0
        const string _dllName = "libFaustPlugin_proceede_violin";
        #elif UNITY_IOS
        const string _dllName = "__Internal";
        #elif UNITY_EDITOR || UNITY_ANDROID || UNITY_STANDALONE_LINUX
        const string _dllName = "FaustPlugin_proceede_violin";
        #else
        Debug.LogError("Architecture not supported by the plugin");
        #endif

That being said, I also tested by making sure the _dllName var was the same
as the plugin but nothing changed.

Anything jump out as being suspicious? I'm pretty new to Android so I'm
hoping I'm just missing something dumb.

thanks,

rob
_______________________________________________
Faudiostream-users mailing list
Faudiostream-users@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/faudiostream-users

Reply via email to