DirectAudio woes

Started by
4 comments, last by Nik02 14 years, 9 months ago
Well this is rather frustrating... I've recently moved from DX8 to DX9 (slowly catching up... then again I don't have the hardware to run DX10 on my home PC) and I've found that since the update, my audio engine no longer works. That was expected. However it's starting to look as though I may have to rewrite large parts of it at this rate - for starters dmusic.h is no longer included with the SDK. Essentially, it appears as though DirectMusic vanished. There are still traces of it in the documentation here and there, but the interfaces have vanished. And I was using DirectMusic to play both WAV and MIDI. WAVs aren't too much of an issue but there appears to be no way whatsoever to play MIDIs anymore. :x Am I screwed? If so, is playing MIDI still doable with DirectAudio without rigging together a custom MIDI engine? (Surely MS doesn't expect us to go that far? :) )
Advertisement
I hate to tell you this, but Microsoft pulled a dick move and removed both DirectMusic and DirectSound. You may have to completely re-write using XAudio2 instead, which I'm certainly having trouble figuring out, even with the MSDN (as I just made a thread about it).
Well that's just great. Somehow I had a feeling I'd be rewriting this thing when dmusic.h wouldn't turn up anywhere.

I'll have a look at XAudio2. My big worry right now is that either MIDI isn't mentionned even once in the documentation, or my DX9 documentation's search function selectively ignores the term "MIDI". I'm assuming it's just the latter and MIDI support hasn't been spontaneously dropped in a paroxysm of dickheadedness. Unfortunately google also disagrees with me, so I'm starting to think I'm a bit screwed.

Aside from switching to an other audio API which DOES support MIDI and saving myself a few headaches, or converting all of my MIDIs to an other format natively supported by XAudio2, what options are open to me?
The Windows SDK still includes DirectMusic libs and headers.

However, I remember hearing that the runtime doesn't work very well on 64-bit systems for some reason (I'm guessing internal pointer size bugs).

DirectSound isn't removed from the DX SDK, as it is still a good way to capture audio. For playback, XAudio2 is easier to use and has better performance on modern machines.

Niko Suni

Frankly I think I'll just go with FMOD. My current DirectMusic sound/music engine is rather limited and doesn't do much besides playing/stopping/tweaking the volume, whereas an earlier project that used FMOD even had MP3 support after very little effort as I recall. Seems I'll save myself a lot of trouble when it'll come to supporting less "standard" formats anyway.

Out of curiousity though, where can I find the libs/headers? My include folder no longer contains dmusic.h (dsound.h is there though) and a search through the files for the string "IDirectMusic" turns up nothing. Maybe it just wasn't distributed with the version of the SDK I have installed? (March 2009)
I said Windows SDK, not DirectX SDK :)

Niko Suni

This topic is closed to new replies.

Advertisement