As you might know, Directsound is deprecated
due to poor Vista support, and XAudio2 is being developed to replace it in Construct.
This is the first beta. Effects and positional sounds are missing, but should be added soon. XAudio2 works fairly similarly to Directsound, but was designed to be simpler and even easier to use. Here's a quick overview of its features:
- Support for PCM/ADPCM/XWMA wave files, runtime-decompressed to keep a small memory footprint. Directsound previously only supported PCM WAVs. Encoders for ADPCM and xWMA to follow.
- Support for OGG files. These aren't runtime decompressed though, so they use the same memory as equivalent WAVs.
- 'Play music' actions support MP3 and WMA (anything windows media player can play). Same as Directsound had.
- Better caching (cache entire directory on startup, free large items from cache automatically...) Previously, Directsound cached files the first time they were loaded, which sometimes caused pauses the first time a sound was played.
- Volume metering (get level of output)
- Few other extras like audio statistics and customisable number of channels. Minor changes like everything now measured in decibels, which is more sensible than the 0-100 scale Directsound used.
I'd be interested mainly to see if this works on everyone's systems, especially Vista! I'm not sure what its dependencies are, so let me know if you can get anything to play or not. Before reporting a bug, try also running it as Debug. XAudio2 reports errors to the debugger.
Also you could make a backup of any games using Directsound and replace all actions with XAudio2 equivalents and see if everything works like before. Note that in my own testing, I found XAudio2 and Directsound don't seem to work well together in the same application, and crashes Directsound. I've no idea why they won't play nice together, but bear this in mind if you're replacing Directsound with XAudio2 (you'll need to delete Directsound from the application when you're done). Yet another reason to throw out Directsound
Anyway, let me know how things work out.