-
Notifications
You must be signed in to change notification settings - Fork 258
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
Add Android audio drivers based on OpenSLES and Oboe #464
Conversation
It's annoying to be asked root permission every time.
…ch of issues. - With this mode latency adjustment became totally unnecessary, therefore atsushieno/fluidsynth-midi-service-j#2 is practically fixed. - With this fix atsushieno/fluidsynth-midi-service-j#4 is completely gone.
not by default
I made cmake to only query for C++ if The fluid_opensles.c source isn't strictly C90 complaint. But since usually clang or gcc will be used to compile this and as long as nobody complains, this should be fine as well. I have a slight preference to move the Apart from that I consider this to be ready to merge. In any case, please give it a last test and let me know whether you want to rebase the commit history. If you don't want to, I would squash it. In every case: before I press the merge button, I will format the code to match our style guide. |
Thanks for a bunch of code cleanup.
No, it is totally fine. If those android-specific code is awkward or in the way, I can publish them somewhere outside. I also have some work-in-progress code for new Android Q AMIDI that currently stays near it (also relocatable). |
And forgot to mention, I'm okay with either style for rebasing or squashing. Thanks. |
Not at all. The doc/ directory is absolutely fine.
Ok then. I will squash this in 2 to 3 days, having some time for a final test run. This really is a great feature for fluidsynth, thank you very much! Looking forward to Q AMIDI! |
I think e7496a9 has caused some regression:
|
This actually fixed it (but probably you want different solution).
|
This would only affect debug builds, which app developers probably wouldn't deploy. But anyway, since ubsan is currently only useful for me, let's get rid of this hack and add an option to enable it explicitly on demand. Doing so will also compel you to provide it at runtime: edb8707 ...unless ofc you prefer to override the CFLAGS and append |
Okay, I confirmed that the latest changes worked for me. |
Great, thanks! |
( A related but very outdated PR on this topic https://sourceforge.net/p/fluidsynth/code-git/merge-requests/3/ )
This set of changes brings audio drivers for Android, either OpenSLES or Oboe. The changes in the original sources are kept minimal so that it should be easily maintained, as long as the build system works (which is actually somewhat complicated).
There are still couple of changes in the original tree, regarding custom sfloader for Android. Hopefully they are harmless to others who don't care about Android.
(I had a couple of other fixes when Android NDK had switched to clang, but they were already fixed in master, which thus reduced significant amount of my changes!)
I know there is another Oboe-based implementation by @VolcanoMobile, but their sources are quite different from master branch here and I see no open code, so I didn't care about any conflict (e.g.
android
directory collision).See
android/README.Android.md
for more details.(squashed merge recommended, there's a handful of experimental changes and reverts.)