So, as promised, you can download it from Here.
And now for the documentation. To initialize it, call
CSoundManager::Get().Init(m_hWnd);
Where m_hWnd is the handle to your applications window. Shutting down is even easier:
CSoundManager::Get().Shutdown();
And, the main bit - playing sound/music:
// Load some music //CSoundBuffer* pMusic = CSoundManager::Get().LoadOgg("Music.ogg");if(pMusic) pMusic->Play(true); // Play looping// Load a sound effect //CSoundBuffer* pSFX = CSoundManager::Get().LoadOgg("Sound.ogg");if(pSFX) pSFX->Play(false); // Play non-looping
That's it. If the sound file is under 3 seconds long, it'll be loaded as a static sound (uploaded to the sound card, and only read from the file once). The sound manager is threaded, so it'll happily play the sound while you leave it to it. When the music comes the end, it'll start from the start again. When the sound reaches the end, it'll stop.
To free the sound and music, call CSoundBuffer::Release().
Notes:
Do whatever the hell you want with the code, I don't care. If it doesn't work for you, tough. Post a comment here and I'll see if I can help, but I'm not promising anything. The code is also not very well tested, but it seems stable enough.
Anyway, that'll do. Have fun.