Which sound library, for playing XM files and interactive music? (more info inside)


j0e

Member
Joined
Jul 9, 2011
Messages
153
Hello everyone,
 
I'm developing a game and I would like to use XM music as opposed to MP3 or Ogg to save on file size, but also due to another important feature of module files - the ability to jump to different orders in the song for interactive music. For this I'd like to be able to get the current order or row that is playing so I can see if the program should transition to a different order (transition at the end for seamless looping) - in fact, the ability to jump to another order after the current order has finished playing would be even more ideal. However, I'm having trouble finding a sound library that could do this.
 
Currently I'm using SDL_Mixer for sound effects because it supports real-time panning and volume changes for stereo sound effects. However, the included XM-playing features aren't very good (it plays XMs far, far too quietly - around half the volume of WAV sound effects - and has no functions for finding the position in a song). Here are the alternatives I've been looking at:

  • FMOD: Would be ideal, plays XMs nice and loud, can find position in a song, but sadly no Pandora port (would it be possible to compile for pandora?).
  • MiniFMOD: Inspection of the source code reveals presence of x86 assembly code, making porting to Pandora impossible.
  • μFMOD: Looked ideal, until I discovered it was written in Win32 assembly.
  • BASS: No functions at all for finding current position in XM file.
So my question is: is there a library available that would work (either compile or have binaries) on Win32 and Pandora, that plays XMs at a decent volume, and has set and get current pattern/row functions? (It doesn't have to be open source as long as it is possible to include the required libraries with my pnd and not require the user to install anything before playing.) Or am I missing something painfully obvious? Any help would be gladly appreciated. Thanks.

 - Nix

EDIT: It appears from looking at the mikmod reference that it is possible to both retrieve the current song's position as well as change it. I also know that mikmod is what is used in SDL_Mixer to play XM files. So how would I be able to use mikmod to its full potential since the interface SDL_Mixer gives me is highly limited?
 
Last edited by a moderator:
I'd like to have the sources of MiniFMOD to compile (I'm ok with some x86 assembler, I'l convert to C if not too complicated), but can't find it.

For FMOD, I don't think sources are Open, are they?

µFMOD, never heard of.
 
I'd like to have the sources of MiniFMOD to compile (I'm ok with some x86 assembler, I'l convert to C if not too complicated), but can't find it.
After a bit of googling, I found this page, which contains a copy of MiniFMOD downloads.
Thanks. Will look at that.

The µFMOD is all in x86 assembly, so porting it mean rewritting it. But miniFMOD looks doable :)
 
I think I used it in some compile. The android version should work although it is a different eabi.
 
Back
Top