- updated resources to DX9
- 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 ;)
diff --git a/dlls/dmsynth/dmsynth_private.h b/dlls/dmsynth/dmsynth_private.h
index 262ab57..f2a4488 100644
--- a/dlls/dmsynth/dmsynth_private.h
+++ b/dlls/dmsynth/dmsynth_private.h
@@ -1,6 +1,6 @@
/* DirectMusicSynthesizer Private Include
*
- * Copyright (C) 2003 Rok Mandeljc
+ * Copyright (C) 2003-2004 Rok Mandeljc
*
* This program is free software; you can redistribute it and/or modify
* it under the terms of the GNU General Public License as published by
@@ -23,16 +23,19 @@
#include <stdarg.h>
#include "windef.h"
-#include "wine/debug.h"
#include "winbase.h"
#include "winnt.h"
#include "wingdi.h"
-#include "dmusicc.h"
+#include "winuser.h"
+
+#include "wine/debug.h"
+#include "wine/list.h"
+#include "wine/unicode.h"
+#include "winreg.h"
+
#include "dmusici.h"
-#include "dmusics.h"
-#include "dmplugin.h"
#include "dmusicf.h"
-#include "dsound.h"
+#include "dmusics.h"
/*****************************************************************************
* Interfaces
@@ -49,20 +52,13 @@
/*****************************************************************************
* ClassFactory
*/
-/* can support IID_IDirectMusicSynth and IID_IDirectMusicSynth8
- * return always an IDirectMusicSynthImpl
- */
-extern HRESULT WINAPI DMUSIC_CreateDirectMusicSynth (LPCGUID lpcGUID, LPDIRECTMUSICSYNTH8* ppDMSynth, LPUNKNOWN pUnkOuter);
-/* can support IID_IDirectMusicSynthSink
- * return always an IDirectMusicSynthSinkImpl
- */
-extern HRESULT WINAPI DMUSIC_CreateDirectMusicSynthSink (LPCGUID lpcGUID, LPDIRECTMUSICSYNTHSINK* ppDMSynthSink, LPUNKNOWN pUnkOuter);
+extern HRESULT WINAPI DMUSIC_CreateDirectMusicSynthImpl (LPCGUID lpcGUID, LPVOID* ppobj, LPUNKNOWN pUnkOuter);
+extern HRESULT WINAPI DMUSIC_CreateDirectMusicSynthSinkImpl (LPCGUID lpcGUID, LPVOID* ppobj, LPUNKNOWN pUnkOuter);
/*****************************************************************************
* IDirectMusicSynth8Impl implementation structure
*/
-struct IDirectMusicSynth8Impl
-{
+struct IDirectMusicSynth8Impl {
/* IUnknown fields */
ICOM_VFIELD(IDirectMusicSynth8);
DWORD ref;
@@ -106,8 +102,7 @@
/*****************************************************************************
* IDirectMusicSynthSinkImpl implementation structure
*/
-struct IDirectMusicSynthSinkImpl
-{
+struct IDirectMusicSynthSinkImpl {
/* IUnknown fields */
ICOM_VFIELD(IDirectMusicSynthSink);
DWORD ref;