Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Where the BassNative plugin comes from? #478

Closed
ebellumat opened this issue Jun 18, 2023 · 6 comments
Closed

Where the BassNative plugin comes from? #478

ebellumat opened this issue Jun 18, 2023 · 6 comments

Comments

@ebellumat
Copy link

Hello, i'm working porting this game to Android, but the BassNative plugin folder don't have files for Android.

Wheres this plugin come from?

How to fix? The game won't start because the missing files on Android.

@EliteAsian123
Copy link
Member

install.py automatically downloads for Windows, Mac, and Linux from here. BASS does have an android build on the same website.

Hope this helps!

@RileyTheFox
Copy link
Collaborator

Specifically you will need the following libraries for Android:

BASS
BASS_FX
BASSmix
BASSOPUS

@ebellumat
Copy link
Author

ebellumat commented Jun 18, 2023

I found the libraries for Android, https://www.un4seen.com/files/bass24-android.zip and the same logic works for the other libraries, but the code looks harcoded to load the windows version of the dll hard coded.

image

On Linux, the name of the file is libbassopus, not bassopus, i have to change this as well? Or this line of code is smart enough to resolve the path?

Thanks for the help!

@RileyTheFox
Copy link
Collaborator

RileyTheFox commented Jun 18, 2023

On Linux, the name of the file is libbassopus, not bassopus, i have to change this as well? Or this line of code is smart enough to resolve the path?

Hmm that seems like a small oversight on my part. I can fix this up soon, nobody has actually ever reported a problem with opus not loading on Mac/Linux. If you want to test with Android, you can just hardcode the android file name instead for now.

Bear in mind you will also need to modify the GetBassDirectory() function to include a clause to get the Android plugins folder when compiled. I don't know the folder structure of a Unity game for Android so this is something you'll need to figure out yourself.

I have a PR open for some changes regarding the BASS libs to fix an issue with MOGG channels, so I will make the opus loading fixes on that before it is merged. After that merge, we are going to be using a special update of BASS provided to us by the developer to fix some channel panning issues, and we won't have an Android version for that. It's only a very minor problem which affects a small number of songs, so it shouldn't be an issue.

Also just to note I don't think we will ever be including the Android builds of BASS in the repo, as we don't currently have any plans to officially support it. Building for Android can have a lot of differences and situations you need to handle compared to Windows/Mac/Linux and it isn't something we are interested in officially doing. You are of course free to make your own Android builds on a fork.

The PR in question where I made some changes to BASS: #473

@ebellumat
Copy link
Author

Thank you for the help! For Android some things are more complicated, take a quick look on the folder structure of the bassopus lib, so, i think i have to tweek GetBassDirectory a little more, 4 archs at once, insane thing haha.

I'm creating a touch based Android version to prepare the project to be a VR Version of Yarg! Wish me luck!

image
image

@RileyTheFox
Copy link
Collaborator

Update: I looked at the ManagedBass wrapper source and it will attempt to find "libbassopus" even if I put in "bassopus"
image

So the plugin will be loaded correctly no matter what

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

3 participants