-
-
Notifications
You must be signed in to change notification settings - Fork 376
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
Update OpenAL Soft and allow seamless changing of the output device #1841
base: 9.0.0-dev
Are you sure you want to change the base?
Update OpenAL Soft and allow seamless changing of the output device #1841
Conversation
Try |
I've done that, tried doing a clean rebuild of both lime and my testing project. I keep getting the same error. Could this commit 71442d0 be related? It doesn't seem to be in 9.0 branch |
Oh yeah, if you don't have that merged, you'll need it. Edit: ok, merged into 9.0.0-Dev. You can pull from there. |
Okay, I think I did the merge right. Hashlink seems to be fixed and working fine now! |
I've gotten Mac to build and work! I only have Linux, Android & Neko left to figure out, though CI for them will always fail because it uses an older hxcpp version |
Tested out Linux & it seems to work. I assume Android would also work with just an updated config but I don't know how I'd even test that... Neko seems to crash whenever it tries to dispatch the callback, I'm assuming it's threading related. I'm not sure what the alternative to hxcpp's |
This PR adds bindings and implements OpenAL Soft's
reopenDeviceSOFT
andALC_SOFT_system_events
extension. In order to take advantage of this functionality, I had to update OpenAL Soft, which required forcing latest hxcpp (git, until there's a new stable release). New versions of OpenAL Soft require the C++17 standard and current hxcpp doesn't seem to have an official way to use it. (Maybe it could be done via compilerflags in the Build.xml?)With these changes, Lime will automatically listen to changes to the default audio output device and switch playback to those devices seamlessly. Also
reopenDeviceSOFT
allows for manually switching the output device in the app.This is currently a draft, I'm waiting for a new hxcpp release and a new stable OpenAL Soft release (which should be sometime soon!), as well as figuring out a few other things. I'm opening this right now for discussion and feedback
Currently I only tested it on Windows x64 C++
(I've also had it working on Hashlink but ever since I've merged this change into 9.0.0-dev I keep getting a strange and seemingly unrelated error:. I will try getting the changes to work on other targets as soon as I figure out HL & Neko.FATAL ERROR : Invalid signature for function lime@hl_cairo_get_matrix : PDOiOiB_iiii__OiOiB_iiii_ required but PDOdddddd__Odddddd_ found in hdll
)Closes #1515, openfl/openfl#2642