- completely rewritten headers (DX9 compat.; look much nicer now ;=)
- removed IDirectMusicSong and IDirectMusicMelodyFormulationTrack
(which are removed from DX9; weren't implemented in DX8 anyway)
- combined/simplified IDirectMusicSomething / IDirectMusicObject /
IPersistStream for objects that support loading
- implemented IDirectMusicObject on all such objects; via generic
functions
- combined IDirectMusicTrack(8)/IPersistStream on all tracks
- fully implemented IDirectMusicContainer (at least 90% if there are
no private interfaces)
- implemented IDirectMusicCollection (99% work & MS compliant
behaviour; except for instruments)
- tried to implement IDirectMusicInstrument (unfortunately uses some
dirty private interfaces... :(
- added dswave.dll; DirectMusic Wave
- some changes in style
- many, many more ;)
- some IPersistStream::GetClassID implementation
- add the "search by name" support for IDirectMusicLoader8::GetObject
(and a hack for understanding containers use)
msdn) on IDirectMusicPerformance8::InitAudio.
- Some fixes in IDirectMusicPerformance8ImplCreateStandardAudioPath
(not perfect yet, need to understand/fix the channel init/use).
- Fix typo on CreateDirectMusicContainer.
- Add missing define in dsound.h.
- Better traces on IDirectMusicLoader8::SetSearchDirectory.
can use builtin dmloader and native other dm*.dlls)
- implemented proper creation of objects and retrieval of dmusic
interfaces from them (object, stream, ...)
- implemented all "standard track types" and appropriate stream (for
dmband, loading is almost complete)
- cleaned some obsolete stuff
- split debug channels