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

SoLoud vs Pyglet for Audio #742

Closed
Cleptomania opened this issue Aug 26, 2020 · 5 comments
Closed

SoLoud vs Pyglet for Audio #742

Cleptomania opened this issue Aug 26, 2020 · 5 comments

Comments

@Cleptomania
Copy link
Member

SoLoud has fairly lack-luster support on Linux if you are not running a bleeding edge distro. It has a glibc dependency which at the time of writing is not in the most recent version of Debian(10) or the current LTS version of Ubuntu(18.04). Due to the version of glibc shipped with the distro being used by a number of core systems, it is ill-advised to be upgrading it, at least if you need your system to be stable.

It seems as though there are other issues with SoLoud on Linux but I don't have any personal experience with it as I've not even been able to get it to run.

After a skim through Arcade's sound module, it doesn't appear that we're doing anything that Pyglet's audio library can't do. Seeing as Pyglet is already a core dependency of Arcade, it would make sense to use the audio library from that. SoLoud seems like it would be a lot more complex to maintain as time goes on and updates happen to SoLoud, and it doesn't seem like there's a benefit over a simpler solution like Pyglet.

@einarf
Copy link
Member

einarf commented Aug 26, 2020

I'm also a fan of using pyglet.media to make things simple. Playback of 16 bit wav as StaticSource is pretty solid. There probably a long story as to why soloud was used. The pyglet player had a lot of problems in the past, but recent improvements in 1.5.x have made it a viable candidate again.

@Cleptomania
Copy link
Member Author

It seems that Pyglet supports using FFmpeg to support better audio formats. It appears that you can bundle FFmpeg directly with your project as outlined here:

https://pyglet.readthedocs.io/en/latest/programming_guide/media.html

@pvcraven
Copy link
Member

I'm not against a PR on this, but it has to work reliably on all platforms and include mp3 and ogg support. I've wasted so much time with ffmpeg libraries and sound I personally don't want to mess with it again for quite a while.

I'm not ok having a seperate ffmpeg install required by mac or windows. Has to be bundled.

@Cleptomania
Copy link
Member Author

I've submitted a pull request for this here #746

@Cleptomania
Copy link
Member Author

This has been finished and merged in with the 2.5 release of Arcade

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

No branches or pull requests

3 participants