- 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 ;)
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
inherit from dmusic1 and dmusic2 version. And always use dmusic8
versions when available.
- really stupid implementation of IDirectMusicLoader8::GetObject when
IDirectMusicScript wanted
- really fix the refcount problem found by Rok
retrieval of their interfaces via GetObjectInPath.
Fix and clean dsound and dmusics objects allocation when initializing
the performance object.
Some stubs improvements.
IDirectMusicPerformanceImpl (as the first inherits from the second)
- implement many Loader, AudioPath and Performance8 stubs - fix the
class factory
- more debug traces
- for now IDirectMusicLoader8::LoadObjectFromFile always returns not
supported format
- fix the IDirectMusicPerformance8::Init (many crashes)
- implementation of IDirectMusicPerformance8InitAudio
- implemented fake midi & performance channels
- implemented some IDirectMusic*8* functions where IDirectMusic*
equivalent exists
- IDirectMusic*8 interfaces can now be obtained from IDirectMusic
interfaces (QueryInterface...)
- channel-related performance functions are kinda implemented now