This is the result of trying to play back xm music on 64-bit Windows.
I wrote a simple wrapper around libmodplug that reads its raw PCM output and writes it to the standard wave output.
All you have to do is create an instance of ModPlay which needs a buffer + size of the xm file to be played.
Then just call the play() function and voila
I have to say that it roughly adds 40kb of code to your binaries, you have to decide if that is worth it for you. Personally I don't care, especially because you can compress the **** out of it with UPX
Attached are the wrapper C++ files, WINMM import libraries from the Windows SDK and 2 static libraries of libmodplug (compiled with VS 2008, you might need to build libmodplug yourself for other compilers/configs, see below for tips)
Any problems, questions, suggestions, let me know.
PS: If you want/need to compile libmodplug, just make sure you define these to keep the library size as small as possible:
For VC++ I added this version of stdint.h, added the libmodplug subfolder to the include dirs and it pretty much compiled out of the box.