Not logged inGosu Forums
Forum back to libgosu.org Help Search Register Login
Up Topic Gosu / Gosu Exchange / WHY would you require multiple audio libraries?
- - By seisatsu Date 2010-09-14 23:13
The only thing currently keeping me from jumping on Gosu for my project is disgust at the requirement of a different audio library for every platform. FMOD for Windows, SDL_Mixer for Linux, OpenAL for Macintosh. Not only do both SDL_Mixer and OpenAL work on all three platforms, Gosu for Windows is not open source, due to including the proprietary FMOD. I cannot think of any possible reason for these ridiculous conditional dependencies.

I want a very, very good reason. Why would the Gosu development team make such a seemingly stupid and pointless decision, that makes Gosu so unappealing?
Parent - - By jlnr (dev) Date 2010-09-15 06:22 Edited 2010-09-15 06:33
Gosu itself *is* open source no matter how many closed-source libraries it uses, be it FMOD, Win32 or DirectInput. The problem that I can see is that FMOD's licensing is a nuisance. It's a long-standing To Do item, but more in the sense of "get rid of FMOD", not necessarily "unify everything". And there are already constructive threads on getting rid of FMOD around here.

Practically speaking, even FMOD's licensing is just the software equivalent of a "non-commercial/attribution required" dependency. But I can understand that it is annoying for quick freeware games, donation/ad-ware etc.

The history is pretty easy. Gosu was using FMOD everywhere in the beginning (= 9 years ago) because it's easy, fast and powerful. And stable, I don't remember one problem ever. The original Linux port switched to SDL_mixer because that's what's common and easy on Linux. The Mac port used OpenAL because it's more powerful than SDL_mixer *and* OS X comes with proprietary system libraries to easily feed common files into OpenAL. And you forgot the fourth platform, which is iOS and shares some code with the OS X part. Not all code, because music playing on iOS should happen through special libraries that use HW acceleration.

One replacement candidate for FMOD on Windows is in fact Audiere, not used on any other platform. OpenAL and SDL_mixer do work on all platforms but the former includes only minimal WAV loading, the latter includes a random set of working file formats per distribution. OpenAL+libogg, with support for only WAV and OGG would work, I guess. Does it really matter if its two or three different libraries in the end? As soon as OGG and WAV work on all platforms without licensing worries, what is the problem?
Parent - By Spooner Date 2010-09-15 12:12
I agree; as long as the Gosu interface is consistent across the platforms, I don't care what is used at the back-end. The fact you can't make a cross-platform game donation-ware (or similar low-income system) because the Windows version would need to buy a $3000 "budget" licence is a bit annoying, of course, but I'm in no rush to make $7.47 a year in donations :$.
Parent - By erisdiscord Date 2010-09-15 08:18
Insulting the developer isn't the best way to get what you want, sir. ;)

I don't see why it matters that the dependencies are different across platforms. I feel this is roughly equivalent to bitching about Transmission requiring Gtk and using Gnome desktop notifications on Linux, but using Cocoa and Growl on OS X, where each is the optimal solution for its respective platform but not for the other.

In the end, the goal is to have just that—the best for each platform. High-level feature parity is a nice plus, but having a common base is the big goal. How would it benefit you personally if the dependencies were the same everywhere? Libraries need to be handled separately for each platform anyway.
Parent - - By Basic Date 2010-09-15 10:14
" Why would the Gosu development team make such a seemingly stupid and pointless decision,"
There's a team?

If you only issue is the fact that its closed source then I wouldn't worry about making games on Windows, Mac, or iOS.

If you want to use SDL_Mixer then go for it there is nothing stopping you :D
Parent - By jlnr (dev) Date 2010-09-15 10:31

> There's a team?


The initial SDL_mixer port was actually written by Jan Lücker, when he did first port Gosu to Linux. He(?) also started an OpenAL Linux backend way before I touched OpenAL later. Not sure what the problem was back then.
Up Topic Gosu / Gosu Exchange / WHY would you require multiple audio libraries?

Powered by mwForum 2.29.7 © 1999-2015 Markus Wichitill