- 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_main.c b/dlls/dmsynth/dmsynth_main.c
index c529981..db3f72d 100644
--- a/dlls/dmsynth/dmsynth_main.c
+++ b/dlls/dmsynth/dmsynth_main.c
@@ -1,6 +1,6 @@
/* DirectMusicSynthesizer Main
*
- * 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
@@ -21,8 +21,7 @@
WINE_DEFAULT_DEBUG_CHANNEL(dmsynth);
-typedef struct
-{
+typedef struct {
/* IUnknown fields */
ICOM_VFIELD(IClassFactory);
DWORD ref;
@@ -31,43 +30,30 @@
/******************************************************************
* DirectMusicSynth ClassFactory
*/
-static HRESULT WINAPI SynthCF_QueryInterface(LPCLASSFACTORY iface,REFIID riid,LPVOID *ppobj)
-{
+static HRESULT WINAPI SynthCF_QueryInterface(LPCLASSFACTORY iface,REFIID riid,LPVOID *ppobj) {
ICOM_THIS(IClassFactoryImpl,iface);
-
FIXME("(%p)->(%s,%p),stub!\n",This,debugstr_guid(riid),ppobj);
return E_NOINTERFACE;
}
-static ULONG WINAPI SynthCF_AddRef(LPCLASSFACTORY iface)
-{
+static ULONG WINAPI SynthCF_AddRef(LPCLASSFACTORY iface) {
ICOM_THIS(IClassFactoryImpl,iface);
return ++(This->ref);
}
-static ULONG WINAPI SynthCF_Release(LPCLASSFACTORY iface)
-{
+static ULONG WINAPI SynthCF_Release(LPCLASSFACTORY iface) {
ICOM_THIS(IClassFactoryImpl,iface);
/* static class, won't be freed */
return --(This->ref);
}
-static HRESULT WINAPI SynthCF_CreateInstance(LPCLASSFACTORY iface, LPUNKNOWN pOuter, REFIID riid, LPVOID *ppobj)
-{
+static HRESULT WINAPI SynthCF_CreateInstance(LPCLASSFACTORY iface, LPUNKNOWN pOuter, REFIID riid, LPVOID *ppobj) {
ICOM_THIS(IClassFactoryImpl,iface);
-
TRACE ("(%p)->(%p,%s,%p)\n", This, pOuter, debugstr_guid(riid), ppobj);
- if (IsEqualIID (riid, &IID_IDirectMusicSynth) ||
- IsEqualIID (riid, &IID_IDirectMusicSynth8)) {
- return DMUSIC_CreateDirectMusicSynth (riid, (LPDIRECTMUSICSYNTH8*)ppobj, pOuter);
- }
-
- WARN("(%p)->(%s,%p),not found\n", This, debugstr_guid(riid), ppobj);
- return E_NOINTERFACE;
+ return DMUSIC_CreateDirectMusicSynthImpl (riid, ppobj, pOuter);
}
-static HRESULT WINAPI SynthCF_LockServer(LPCLASSFACTORY iface,BOOL dolock)
-{
+static HRESULT WINAPI SynthCF_LockServer(LPCLASSFACTORY iface,BOOL dolock) {
ICOM_THIS(IClassFactoryImpl,iface);
FIXME("(%p)->(%d),stub!\n", This, dolock);
return S_OK;
@@ -87,42 +73,30 @@
/******************************************************************
* DirectMusicSynthSink ClassFactory
*/
-static HRESULT WINAPI SynthSinkCF_QueryInterface(LPCLASSFACTORY iface,REFIID riid,LPVOID *ppobj)
-{
+static HRESULT WINAPI SynthSinkCF_QueryInterface(LPCLASSFACTORY iface,REFIID riid,LPVOID *ppobj) {
ICOM_THIS(IClassFactoryImpl,iface);
-
FIXME("(%p)->(%s,%p),stub!\n",This,debugstr_guid(riid),ppobj);
return E_NOINTERFACE;
}
-static ULONG WINAPI SynthSinkCF_AddRef(LPCLASSFACTORY iface)
-{
+static ULONG WINAPI SynthSinkCF_AddRef(LPCLASSFACTORY iface) {
ICOM_THIS(IClassFactoryImpl,iface);
return ++(This->ref);
}
-static ULONG WINAPI SynthSinkCF_Release(LPCLASSFACTORY iface)
-{
+static ULONG WINAPI SynthSinkCF_Release(LPCLASSFACTORY iface) {
ICOM_THIS(IClassFactoryImpl,iface);
/* static class, won't be freed */
return --(This->ref);
}
-static HRESULT WINAPI SynthSinkCF_CreateInstance(LPCLASSFACTORY iface, LPUNKNOWN pOuter, REFIID riid, LPVOID *ppobj)
-{
+static HRESULT WINAPI SynthSinkCF_CreateInstance(LPCLASSFACTORY iface, LPUNKNOWN pOuter, REFIID riid, LPVOID *ppobj) {
ICOM_THIS(IClassFactoryImpl,iface);
-
TRACE ("(%p)->(%p,%s,%p)\n", This, pOuter, debugstr_guid(riid), ppobj);
- if (IsEqualIID (riid, &IID_IDirectMusicSynthSink)) {
- return DMUSIC_CreateDirectMusicSynthSink (riid, (LPDIRECTMUSICSYNTHSINK*)ppobj, pOuter);
- }
-
- WARN("(%p)->(%s,%p),not found\n", This, debugstr_guid(riid), ppobj);
- return E_NOINTERFACE;
+ return DMUSIC_CreateDirectMusicSynthSinkImpl (riid, ppobj, pOuter);
}
-static HRESULT WINAPI SynthSinkCF_LockServer(LPCLASSFACTORY iface,BOOL dolock)
-{
+static HRESULT WINAPI SynthSinkCF_LockServer(LPCLASSFACTORY iface,BOOL dolock) {
ICOM_THIS(IClassFactoryImpl,iface);
FIXME("(%p)->(%d),stub!\n", This, dolock);
return S_OK;
@@ -144,15 +118,11 @@
*
*
*/
-BOOL WINAPI DllMain(HINSTANCE hinstDLL, DWORD fdwReason, LPVOID lpvReserved)
-{
- if (fdwReason == DLL_PROCESS_ATTACH)
- {
- DisableThreadLibraryCalls(hinstDLL);
+BOOL WINAPI DllMain(HINSTANCE hinstDLL, DWORD fdwReason, LPVOID lpvReserved) {
+ if (fdwReason == DLL_PROCESS_ATTACH) {
+ DisableThreadLibraryCalls(hinstDLL);
/* FIXME: Initialisation */
- }
- else if (fdwReason == DLL_PROCESS_DETACH)
- {
+ } else if (fdwReason == DLL_PROCESS_DETACH) {
/* FIXME: Cleanup */
}
@@ -165,10 +135,8 @@
*
*
*/
-HRESULT WINAPI DMSYNTH_DllCanUnloadNow(void)
-{
+HRESULT WINAPI DMSYNTH_DllCanUnloadNow(void) {
FIXME("(void): stub\n");
-
return S_FALSE;
}
@@ -178,8 +146,7 @@
*
*
*/
-HRESULT WINAPI DMSYNTH_DllGetClassObject(REFCLSID rclsid, REFIID riid, LPVOID *ppv)
-{
+HRESULT WINAPI DMSYNTH_DllGetClassObject(REFCLSID rclsid, REFIID riid, LPVOID *ppv) {
TRACE("(%p,%p,%p)\n", debugstr_guid(rclsid), debugstr_guid(riid), ppv);
if (IsEqualCLSID (rclsid, &CLSID_DirectMusicSynth) && IsEqualIID (riid, &IID_IClassFactory)) {
*ppv = (LPVOID) &Synth_CF;
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;
diff --git a/dlls/dmsynth/regsvr.c b/dlls/dmsynth/regsvr.c
index 8e8b96e..401033d 100644
--- a/dlls/dmsynth/regsvr.c
+++ b/dlls/dmsynth/regsvr.c
@@ -18,21 +18,7 @@
* Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
*/
-#include <stdarg.h>
-#include <string.h>
-
-#include "windef.h"
-#include "winbase.h"
-#include "wingdi.h"
-#include "winuser.h"
-#include "winreg.h"
-#include "winerror.h"
-
-#include "dmusics.h"
-#include "dmusici.h"
-#include "dmplugin.h"
-
-#include "wine/debug.h"
+#include "dmsynth_private.h"
WINE_DEFAULT_DEBUG_CHANNEL(dmsynth);
@@ -44,8 +30,7 @@
/***********************************************************************
* interface for self-registering
*/
-struct regsvr_interface
-{
+struct regsvr_interface {
IID const *iid; /* NULL for end of list */
LPCSTR name; /* can be NULL to omit */
IID const *base_iid; /* can be NULL to omit */
@@ -57,8 +42,7 @@
static HRESULT register_interfaces(struct regsvr_interface const *list);
static HRESULT unregister_interfaces(struct regsvr_interface const *list);
-struct regsvr_coclass
-{
+struct regsvr_coclass {
CLSID const *clsid; /* NULL for end of list */
LPCSTR name; /* can be NULL to omit */
LPCSTR ips; /* can be NULL to omit */
@@ -124,8 +108,7 @@
/***********************************************************************
* register_interfaces
*/
-static HRESULT register_interfaces(struct regsvr_interface const *list)
-{
+static HRESULT register_interfaces(struct regsvr_interface const *list) {
LONG res = ERROR_SUCCESS;
HKEY interface_key;
@@ -194,8 +177,7 @@
/***********************************************************************
* unregister_interfaces
*/
-static HRESULT unregister_interfaces(struct regsvr_interface const *list)
-{
+static HRESULT unregister_interfaces(struct regsvr_interface const *list) {
LONG res = ERROR_SUCCESS;
HKEY interface_key;
@@ -219,8 +201,7 @@
/***********************************************************************
* register_coclasses
*/
-static HRESULT register_coclasses(struct regsvr_coclass const *list)
-{
+static HRESULT register_coclasses(struct regsvr_coclass const *list) {
LONG res = ERROR_SUCCESS;
HKEY coclass_key;
@@ -301,8 +282,7 @@
/***********************************************************************
* unregister_coclasses
*/
-static HRESULT unregister_coclasses(struct regsvr_coclass const *list)
-{
+static HRESULT unregister_coclasses(struct regsvr_coclass const *list) {
LONG res = ERROR_SUCCESS;
HKEY coclass_key;
@@ -338,8 +318,7 @@
/***********************************************************************
* regsvr_key_guid
*/
-static LONG register_key_guid(HKEY base, WCHAR const *name, GUID const *guid)
-{
+static LONG register_key_guid(HKEY base, WCHAR const *name, GUID const *guid) {
WCHAR buf[39];
StringFromGUID2(guid, buf, 39);
@@ -352,8 +331,7 @@
static LONG register_key_defvalueW(
HKEY base,
WCHAR const *name,
- WCHAR const *value)
-{
+ WCHAR const *value) {
LONG res;
HKEY key;
@@ -372,8 +350,7 @@
static LONG register_key_defvalueA(
HKEY base,
WCHAR const *name,
- char const *value)
-{
+ char const *value) {
LONG res;
HKEY key;
@@ -394,8 +371,7 @@
char const *progid,
char const *curver_progid,
char const *name,
- char const *extra)
-{
+ char const *extra) {
LONG res;
HKEY progid_key;
@@ -439,8 +415,7 @@
/***********************************************************************
* recursive_delete_key
*/
-static LONG recursive_delete_key(HKEY key)
-{
+static LONG recursive_delete_key(HKEY key) {
LONG res;
WCHAR subkey_name[MAX_PATH];
DWORD cName;
@@ -471,8 +446,7 @@
/***********************************************************************
* recursive_delete_keyA
*/
-static LONG recursive_delete_keyA(HKEY base, char const *name)
-{
+static LONG recursive_delete_keyA(HKEY base, char const *name) {
LONG res;
HKEY key;
@@ -487,8 +461,7 @@
/***********************************************************************
* recursive_delete_keyW
*/
-static LONG recursive_delete_keyW(HKEY base, WCHAR const *name)
-{
+static LONG recursive_delete_keyW(HKEY base, WCHAR const *name) {
LONG res;
HKEY key;
@@ -534,8 +507,7 @@
/***********************************************************************
* DllRegisterServer (DMSYNTH.3)
*/
-HRESULT WINAPI DMSYNTH_DllRegisterServer(void)
-{
+HRESULT WINAPI DMSYNTH_DllRegisterServer(void) {
HRESULT hr;
TRACE("\n");
@@ -549,8 +521,7 @@
/***********************************************************************
* DllUnregisterServer (DMSYNTH.4)
*/
-HRESULT WINAPI DMSYNTH_DllUnregisterServer(void)
-{
+HRESULT WINAPI DMSYNTH_DllUnregisterServer(void) {
HRESULT hr;
TRACE("\n");
diff --git a/dlls/dmsynth/synth.c b/dlls/dmsynth/synth.c
index 5b89e66..0658b78 100644
--- a/dlls/dmsynth/synth.c
+++ b/dlls/dmsynth/synth.c
@@ -1,6 +1,6 @@
/* IDirectMusicSynth8 Implementation
*
- * 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
@@ -17,22 +17,12 @@
* Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA.
*/
-#include <stdarg.h>
-
-#include "windef.h"
-#include "winbase.h"
-#include "winuser.h"
-#include "wingdi.h"
-#include "wine/debug.h"
-#include "winnls.h"
-
#include "dmsynth_private.h"
WINE_DEFAULT_DEBUG_CHANNEL(dmsynth);
-/* IDirectMusicSynth8 IUnknown part: */
-HRESULT WINAPI IDirectMusicSynth8Impl_QueryInterface (LPDIRECTMUSICSYNTH8 iface, REFIID riid, LPVOID *ppobj)
-{
+/* IDirectMusicSynth8Impl IUnknown part: */
+HRESULT WINAPI IDirectMusicSynth8Impl_QueryInterface (LPDIRECTMUSICSYNTH8 iface, REFIID riid, LPVOID *ppobj) {
ICOM_THIS(IDirectMusicSynth8Impl,iface);
if (IsEqualIID (riid, &IID_IUnknown) ||
@@ -42,20 +32,17 @@
*ppobj = This;
return S_OK;
}
-
WARN("(%p)->(%s,%p),not found\n", This, debugstr_guid(riid), ppobj);
return E_NOINTERFACE;
}
-ULONG WINAPI IDirectMusicSynth8Impl_AddRef (LPDIRECTMUSICSYNTH8 iface)
-{
+ULONG WINAPI IDirectMusicSynth8Impl_AddRef (LPDIRECTMUSICSYNTH8 iface) {
ICOM_THIS(IDirectMusicSynth8Impl,iface);
TRACE("(%p) : AddRef from %ld\n", This, This->ref);
return ++(This->ref);
}
-ULONG WINAPI IDirectMusicSynth8Impl_Release (LPDIRECTMUSICSYNTH8 iface)
-{
+ULONG WINAPI IDirectMusicSynth8Impl_Release (LPDIRECTMUSICSYNTH8 iface) {
ICOM_THIS(IDirectMusicSynth8Impl,iface);
ULONG ref = --This->ref;
TRACE("(%p) : ReleaseRef to %ld\n", This, This->ref);
@@ -65,213 +52,146 @@
return ref;
}
-/* IDirectMusicSynth8 IDirectMusicSynth part: */
-HRESULT WINAPI IDirectMusicSynth8Impl_Open (LPDIRECTMUSICSYNTH8 iface, LPDMUS_PORTPARAMS pPortParams)
-{
+/* IDirectMusicSynth8Impl IDirectMusicSynth part: */
+HRESULT WINAPI IDirectMusicSynth8Impl_Open (LPDIRECTMUSICSYNTH8 iface, LPDMUS_PORTPARAMS pPortParams) {
ICOM_THIS(IDirectMusicSynth8Impl,iface);
-
FIXME("(%p, %p): stub\n", This, pPortParams);
-
return S_OK;
}
-HRESULT WINAPI IDirectMusicSynth8Impl_Close (LPDIRECTMUSICSYNTH8 iface)
-{
+HRESULT WINAPI IDirectMusicSynth8Impl_Close (LPDIRECTMUSICSYNTH8 iface) {
ICOM_THIS(IDirectMusicSynth8Impl,iface);
-
FIXME("(%p): stub\n", This);
-
return S_OK;
}
-HRESULT WINAPI IDirectMusicSynth8Impl_SetNumChannelGroups (LPDIRECTMUSICSYNTH8 iface, DWORD dwGroups)
-{
+HRESULT WINAPI IDirectMusicSynth8Impl_SetNumChannelGroups (LPDIRECTMUSICSYNTH8 iface, DWORD dwGroups) {
ICOM_THIS(IDirectMusicSynth8Impl,iface);
-
FIXME("(%p, %ld): stub\n", This, dwGroups);
-
return S_OK;
}
-HRESULT WINAPI IDirectMusicSynth8Impl_Download (LPDIRECTMUSICSYNTH8 iface, LPHANDLE phDownload, LPVOID pvData, LPBOOL pbFree)
-{
+HRESULT WINAPI IDirectMusicSynth8Impl_Download (LPDIRECTMUSICSYNTH8 iface, LPHANDLE phDownload, LPVOID pvData, LPBOOL pbFree) {
ICOM_THIS(IDirectMusicSynth8Impl,iface);
-
FIXME("(%p, %p, %p, %p): stub\n", This, phDownload, pvData, pbFree);
-
return S_OK;
}
-HRESULT WINAPI IDirectMusicSynth8Impl_Unload (LPDIRECTMUSICSYNTH8 iface, HANDLE hDownload, HRESULT (CALLBACK* lpFreeHandle)(HANDLE,HANDLE), HANDLE hUserData)
-{
+HRESULT WINAPI IDirectMusicSynth8Impl_Unload (LPDIRECTMUSICSYNTH8 iface, HANDLE hDownload, HRESULT (CALLBACK* lpFreeHandle)(HANDLE,HANDLE), HANDLE hUserData) {
ICOM_THIS(IDirectMusicSynth8Impl,iface);
-
FIXME("(%p, %p, %p): stub\n", This, hDownload, hUserData);
-
return S_OK;
}
-HRESULT WINAPI IDirectMusicSynth8Impl_PlayBuffer (LPDIRECTMUSICSYNTH8 iface, REFERENCE_TIME rt, LPBYTE pbBuffer, DWORD cbBuffer)
-{
+HRESULT WINAPI IDirectMusicSynth8Impl_PlayBuffer (LPDIRECTMUSICSYNTH8 iface, REFERENCE_TIME rt, LPBYTE pbBuffer, DWORD cbBuffer) {
ICOM_THIS(IDirectMusicSynth8Impl,iface);
-
FIXME("(%p, %lli, %p, %ld): stub\n", This, rt, pbBuffer, cbBuffer);
-
return S_OK;
}
-HRESULT WINAPI IDirectMusicSynth8Impl_GetRunningStats (LPDIRECTMUSICSYNTH8 iface, LPDMUS_SYNTHSTATS pStats)
-{
+HRESULT WINAPI IDirectMusicSynth8Impl_GetRunningStats (LPDIRECTMUSICSYNTH8 iface, LPDMUS_SYNTHSTATS pStats) {
ICOM_THIS(IDirectMusicSynth8Impl,iface);
-
FIXME("(%p, %p): stub\n", This, pStats);
-
return S_OK;
}
-HRESULT WINAPI IDirectMusicSynth8Impl_GetPortCaps (LPDIRECTMUSICSYNTH8 iface, LPDMUS_PORTCAPS pCaps)
-{
+HRESULT WINAPI IDirectMusicSynth8Impl_GetPortCaps (LPDIRECTMUSICSYNTH8 iface, LPDMUS_PORTCAPS pCaps) {
ICOM_THIS(IDirectMusicSynth8Impl,iface);
-
TRACE("(%p, %p)\n", This, pCaps);
*pCaps = This->pCaps;
-
return S_OK;
}
-HRESULT WINAPI IDirectMusicSynth8Impl_SetMasterClock (LPDIRECTMUSICSYNTH8 iface, IReferenceClock* pClock)
-{
+HRESULT WINAPI IDirectMusicSynth8Impl_SetMasterClock (LPDIRECTMUSICSYNTH8 iface, IReferenceClock* pClock) {
ICOM_THIS(IDirectMusicSynth8Impl,iface);
-
FIXME("(%p, %p): stub\n", This, pClock);
-
return S_OK;
}
-HRESULT WINAPI IDirectMusicSynth8Impl_GetLatencyClock (LPDIRECTMUSICSYNTH8 iface, IReferenceClock** ppClock)
-{
+HRESULT WINAPI IDirectMusicSynth8Impl_GetLatencyClock (LPDIRECTMUSICSYNTH8 iface, IReferenceClock** ppClock) {
ICOM_THIS(IDirectMusicSynth8Impl,iface);
-
TRACE("(%p, %p)\n", This, ppClock);
*ppClock = This->pLatencyClock;
-
return S_OK;
}
-HRESULT WINAPI IDirectMusicSynth8Impl_Activate (LPDIRECTMUSICSYNTH8 iface, BOOL fEnable)
-{
+HRESULT WINAPI IDirectMusicSynth8Impl_Activate (LPDIRECTMUSICSYNTH8 iface, BOOL fEnable) {
ICOM_THIS(IDirectMusicSynth8Impl,iface);
-
TRACE("(%p, %d)\n", This, fEnable);
This->fActive = fEnable;
-
return S_OK;
}
-HRESULT WINAPI IDirectMusicSynth8Impl_SetSynthSink (LPDIRECTMUSICSYNTH8 iface, IDirectMusicSynthSink* pSynthSink)
-{
+HRESULT WINAPI IDirectMusicSynth8Impl_SetSynthSink (LPDIRECTMUSICSYNTH8 iface, IDirectMusicSynthSink* pSynthSink) {
ICOM_THIS(IDirectMusicSynth8Impl,iface);
-
TRACE("(%p, %p)\n", This, pSynthSink);
This->pSynthSink = (IDirectMusicSynthSinkImpl*)pSynthSink;
-
return S_OK;
}
-HRESULT WINAPI IDirectMusicSynth8Impl_Render (LPDIRECTMUSICSYNTH8 iface, short* pBuffer, DWORD dwLength, LONGLONG llPosition)
-{
+HRESULT WINAPI IDirectMusicSynth8Impl_Render (LPDIRECTMUSICSYNTH8 iface, short* pBuffer, DWORD dwLength, LONGLONG llPosition) {
ICOM_THIS(IDirectMusicSynth8Impl,iface);
-
FIXME("(%p, %p, %ld, %lli): stub\n", This, pBuffer, dwLength, llPosition);
-
return S_OK;
}
-HRESULT WINAPI IDirectMusicSynth8Impl_SetChannelPriority (LPDIRECTMUSICSYNTH8 iface, DWORD dwChannelGroup, DWORD dwChannel, DWORD dwPriority)
-{
+HRESULT WINAPI IDirectMusicSynth8Impl_SetChannelPriority (LPDIRECTMUSICSYNTH8 iface, DWORD dwChannelGroup, DWORD dwChannel, DWORD dwPriority) {
/*ICOM_THIS(IDirectMusicSynth8Impl,iface); */
-
/* silenced because of too many messages - 1000 groups * 16 channels ;=) */
/*FIXME("(%p, %ld, %ld, %ld): stub\n", This, dwChannelGroup, dwChannel, dwPriority); */
-
return S_OK;
}
-HRESULT WINAPI IDirectMusicSynth8Impl_GetChannelPriority (LPDIRECTMUSICSYNTH8 iface, DWORD dwChannelGroup, DWORD dwChannel, LPDWORD pdwPriority)
-{
+HRESULT WINAPI IDirectMusicSynth8Impl_GetChannelPriority (LPDIRECTMUSICSYNTH8 iface, DWORD dwChannelGroup, DWORD dwChannel, LPDWORD pdwPriority) {
ICOM_THIS(IDirectMusicSynth8Impl,iface);
-
FIXME("(%p, %ld, %ld, %p): stub\n", This, dwChannelGroup, dwChannel, pdwPriority);
-
return S_OK;
}
-HRESULT WINAPI IDirectMusicSynth8Impl_GetFormat (LPDIRECTMUSICSYNTH8 iface, LPWAVEFORMATEX pWaveFormatEx, LPDWORD pdwWaveFormatExSiz)
-{
+HRESULT WINAPI IDirectMusicSynth8Impl_GetFormat (LPDIRECTMUSICSYNTH8 iface, LPWAVEFORMATEX pWaveFormatEx, LPDWORD pdwWaveFormatExSiz) {
ICOM_THIS(IDirectMusicSynth8Impl,iface);
-
FIXME("(%p, %p, %p): stub\n", This, pWaveFormatEx, pdwWaveFormatExSiz);
-
return S_OK;
}
-HRESULT WINAPI IDirectMusicSynth8Impl_GetAppend (LPDIRECTMUSICSYNTH8 iface, DWORD* pdwAppend)
-{
+HRESULT WINAPI IDirectMusicSynth8Impl_GetAppend (LPDIRECTMUSICSYNTH8 iface, DWORD* pdwAppend) {
ICOM_THIS(IDirectMusicSynth8Impl,iface);
-
FIXME("(%p, %p): stub\n", This, pdwAppend);
-
return S_OK;
}
-/* IDirectMusicSynth8 IDirectMusicSynth8 part: */
-HRESULT WINAPI IDirectMusicSynth8Impl_PlayVoice (LPDIRECTMUSICSYNTH8 iface, REFERENCE_TIME rt, DWORD dwVoiceId, DWORD dwChannelGroup, DWORD dwChannel, DWORD dwDLId, long prPitch, long vrVolume, SAMPLE_TIME stVoiceStart, SAMPLE_TIME stLoopStart, SAMPLE_TIME stLoopEnd)
-{
+/* IDirectMusicSynth8Impl IDirectMusicSynth8 part: */
+HRESULT WINAPI IDirectMusicSynth8Impl_PlayVoice (LPDIRECTMUSICSYNTH8 iface, REFERENCE_TIME rt, DWORD dwVoiceId, DWORD dwChannelGroup, DWORD dwChannel, DWORD dwDLId, long prPitch, long vrVolume, SAMPLE_TIME stVoiceStart, SAMPLE_TIME stLoopStart, SAMPLE_TIME stLoopEnd) {
ICOM_THIS(IDirectMusicSynth8Impl,iface);
-
FIXME("(%p, %lli, %ld, %ld, %ld, %ld, %li, %li,%lli, %lli, %lli): stub\n", This, rt, dwVoiceId, dwChannelGroup, dwChannel, dwDLId, prPitch, vrVolume, stVoiceStart, stLoopStart, stLoopEnd);
-
return S_OK;
}
-HRESULT WINAPI IDirectMusicSynth8Impl_StopVoice (LPDIRECTMUSICSYNTH8 iface, REFERENCE_TIME rt, DWORD dwVoiceId)
-{
+HRESULT WINAPI IDirectMusicSynth8Impl_StopVoice (LPDIRECTMUSICSYNTH8 iface, REFERENCE_TIME rt, DWORD dwVoiceId) {
ICOM_THIS(IDirectMusicSynth8Impl,iface);
-
FIXME("(%p, %lli, %ld): stub\n", This, rt, dwVoiceId);
-
return S_OK;
}
-HRESULT WINAPI IDirectMusicSynth8Impl_GetVoiceState (LPDIRECTMUSICSYNTH8 iface, DWORD dwVoice[], DWORD cbVoice, DMUS_VOICE_STATE dwVoiceState[])
-{
+HRESULT WINAPI IDirectMusicSynth8Impl_GetVoiceState (LPDIRECTMUSICSYNTH8 iface, DWORD dwVoice[], DWORD cbVoice, DMUS_VOICE_STATE dwVoiceState[]) {
ICOM_THIS(IDirectMusicSynth8Impl,iface);
-
FIXME("(%p, %p, %ld, %p): stub\n", This, dwVoice, cbVoice, dwVoiceState);
-
return S_OK;
}
-HRESULT WINAPI IDirectMusicSynth8Impl_Refresh (LPDIRECTMUSICSYNTH8 iface, DWORD dwDownloadID, DWORD dwFlags)
-{
+HRESULT WINAPI IDirectMusicSynth8Impl_Refresh (LPDIRECTMUSICSYNTH8 iface, DWORD dwDownloadID, DWORD dwFlags) {
ICOM_THIS(IDirectMusicSynth8Impl,iface);
-
FIXME("(%p, %ld, %ld): stub\n", This, dwDownloadID, dwFlags);
-
return S_OK;
}
-HRESULT WINAPI IDirectMusicSynth8Impl_AssignChannelToBuses (LPDIRECTMUSICSYNTH8 iface, DWORD dwChannelGroup, DWORD dwChannel, LPDWORD pdwBuses, DWORD cBuses)
-{
+HRESULT WINAPI IDirectMusicSynth8Impl_AssignChannelToBuses (LPDIRECTMUSICSYNTH8 iface, DWORD dwChannelGroup, DWORD dwChannel, LPDWORD pdwBuses, DWORD cBuses) {
ICOM_THIS(IDirectMusicSynth8Impl,iface);
-
FIXME("(%p, %ld, %ld, %p, %ld): stub\n", This, dwChannelGroup, dwChannel, pdwBuses, cBuses);
-
return S_OK;
}
-ICOM_VTABLE(IDirectMusicSynth8) DirectMusicSynth8_Vtbl =
-{
+ICOM_VTABLE(IDirectMusicSynth8) DirectMusicSynth8_Vtbl = {
ICOM_MSVTABLE_COMPAT_DummyRTTIVALUE
IDirectMusicSynth8Impl_QueryInterface,
IDirectMusicSynth8Impl_AddRef,
@@ -301,39 +221,31 @@
};
/* for ClassFactory */
-HRESULT WINAPI DMUSIC_CreateDirectMusicSynth (LPCGUID lpcGUID, LPDIRECTMUSICSYNTH8* ppDMSynth, LPUNKNOWN pUnkOuter)
-{
- IDirectMusicSynth8Impl *dmsynth;
+HRESULT WINAPI DMUSIC_CreateDirectMusicSynthImpl (LPCGUID lpcGUID, LPVOID* ppobj, LPUNKNOWN pUnkOuter) {
+ IDirectMusicSynth8Impl *obj;
- TRACE("(%p,%p,%p)\n", lpcGUID, ppDMSynth, pUnkOuter);
- if (IsEqualIID (lpcGUID, &IID_IDirectMusicSynth) ||
- IsEqualIID (lpcGUID, &IID_IDirectMusicSynth8)) {
- dmsynth = HeapAlloc(GetProcessHeap(), HEAP_ZERO_MEMORY, sizeof(IDirectMusicSynth8Impl));
- if (NULL == dmsynth) {
- *ppDMSynth = (LPDIRECTMUSICSYNTH8) NULL;
- return E_OUTOFMEMORY;
- }
- dmsynth->lpVtbl = &DirectMusicSynth8_Vtbl;
- dmsynth->ref = 1;
- /* fill in caps */
- dmsynth->pCaps.dwSize = sizeof(DMUS_PORTCAPS);
- dmsynth->pCaps.dwFlags = DMUS_PC_DLS | DMUS_PC_SOFTWARESYNTH | DMUS_PC_DIRECTSOUND | DMUS_PC_DLS2 | DMUS_PC_AUDIOPATH | DMUS_PC_WAVE;
- dmsynth->pCaps.guidPort = CLSID_DirectMusicSynth;
- dmsynth->pCaps.dwClass = DMUS_PC_OUTPUTCLASS;
- dmsynth->pCaps.dwType = DMUS_PORT_WINMM_DRIVER;
- dmsynth->pCaps.dwMemorySize = DMUS_PC_SYSTEMMEMORY;
- dmsynth->pCaps.dwMaxChannelGroups = 1000;
- dmsynth->pCaps.dwMaxVoices = 1000;
- dmsynth->pCaps.dwMaxAudioChannels = -1;
- dmsynth->pCaps.dwEffectFlags = DMUS_EFFECT_REVERB | DMUS_EFFECT_CHORUS | DMUS_EFFECT_DELAY;
- MultiByteToWideChar (CP_ACP, 0, "Microsotf Synthesizer", -1, dmsynth->pCaps.wszDescription, sizeof(dmsynth->pCaps.wszDescription)/sizeof(WCHAR));
- /* assign latency clock */
- /*DMUSIC_CreateReferenceClock (&IID_IReferenceClock, (LPREFERENCECLOCK*)&This->pLatencyClock, NULL); */
-
- *ppDMSynth = (LPDIRECTMUSICSYNTH8) dmsynth;
- return S_OK;
+ TRACE("(%p,%p,%p)\n", lpcGUID, ppobj, pUnkOuter);
+ obj = HeapAlloc(GetProcessHeap(), HEAP_ZERO_MEMORY, sizeof(IDirectMusicSynth8Impl));
+ if (NULL == obj) {
+ *ppobj = (LPDIRECTMUSICSYNTH8) NULL;
+ return E_OUTOFMEMORY;
}
- WARN("No interface found\n");
-
- return E_NOINTERFACE;
+ obj->lpVtbl = &DirectMusicSynth8_Vtbl;
+ obj->ref = 0;
+ /* fill in caps */
+ obj->pCaps.dwSize = sizeof(DMUS_PORTCAPS);
+ obj->pCaps.dwFlags = DMUS_PC_DLS | DMUS_PC_SOFTWARESYNTH | DMUS_PC_DIRECTSOUND | DMUS_PC_DLS2 | DMUS_PC_AUDIOPATH | DMUS_PC_WAVE;
+ obj->pCaps.guidPort = CLSID_DirectMusicSynth;
+ obj->pCaps.dwClass = DMUS_PC_OUTPUTCLASS;
+ obj->pCaps.dwType = DMUS_PORT_WINMM_DRIVER;
+ obj->pCaps.dwMemorySize = DMUS_PC_SYSTEMMEMORY;
+ obj->pCaps.dwMaxChannelGroups = 1000;
+ obj->pCaps.dwMaxVoices = 1000;
+ obj->pCaps.dwMaxAudioChannels = -1;
+ obj->pCaps.dwEffectFlags = DMUS_EFFECT_REVERB | DMUS_EFFECT_CHORUS | DMUS_EFFECT_DELAY;
+ MultiByteToWideChar (CP_ACP, 0, "Microsotf Synthesizer", -1, obj->pCaps.wszDescription, sizeof(obj->pCaps.wszDescription)/sizeof(WCHAR));
+ /* assign latency clock */
+ /*DMUSIC_CreateReferenceClockImpl (&IID_IReferenceClock, (LPVOID*)&This->pLatencyClock, NULL); */
+
+ return IDirectMusicSynth8Impl_QueryInterface ((LPDIRECTMUSICSYNTH8)obj, lpcGUID, ppobj);
}
diff --git a/dlls/dmsynth/synthsink.c b/dlls/dmsynth/synthsink.c
index fad7de4..49a7077 100644
--- a/dlls/dmsynth/synthsink.c
+++ b/dlls/dmsynth/synthsink.c
@@ -1,6 +1,6 @@
/* IDirectMusicSynthSink Implementation
*
- * 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
@@ -17,21 +17,12 @@
* Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA.
*/
-#include <stdarg.h>
-
-#include "windef.h"
-#include "winbase.h"
-#include "winuser.h"
-#include "wingdi.h"
-#include "wine/debug.h"
-
#include "dmsynth_private.h"
WINE_DEFAULT_DEBUG_CHANNEL(dmsynth);
-/* IDirectMusicSynthSink IUnknown part: */
-HRESULT WINAPI IDirectMusicSynthSinkImpl_QueryInterface (LPDIRECTMUSICSYNTHSINK iface, REFIID riid, LPVOID *ppobj)
-{
+/* IDirectMusicSynthSinkImpl IUnknown part: */
+HRESULT WINAPI IDirectMusicSynthSinkImpl_QueryInterface (LPDIRECTMUSICSYNTHSINK iface, REFIID riid, LPVOID *ppobj) {
ICOM_THIS(IDirectMusicSynthSinkImpl,iface);
if (IsEqualIID (riid, &IID_IUnknown) ||
@@ -40,20 +31,17 @@
*ppobj = This;
return S_OK;
}
-
WARN("(%p)->(%s,%p),not found\n", This, debugstr_guid(riid), ppobj);
return E_NOINTERFACE;
}
-ULONG WINAPI IDirectMusicSynthSinkImpl_AddRef (LPDIRECTMUSICSYNTHSINK iface)
-{
+ULONG WINAPI IDirectMusicSynthSinkImpl_AddRef (LPDIRECTMUSICSYNTHSINK iface) {
ICOM_THIS(IDirectMusicSynthSinkImpl,iface);
TRACE("(%p) : AddRef from %ld\n", This, This->ref);
return ++(This->ref);
}
-ULONG WINAPI IDirectMusicSynthSinkImpl_Release (LPDIRECTMUSICSYNTHSINK iface)
-{
+ULONG WINAPI IDirectMusicSynthSinkImpl_Release (LPDIRECTMUSICSYNTHSINK iface) {
ICOM_THIS(IDirectMusicSynthSinkImpl,iface);
ULONG ref = --This->ref;
TRACE("(%p) : ReleaseRef to %ld\n", This, This->ref);
@@ -63,81 +51,56 @@
return ref;
}
-/* IDirectMusicSynth IDirectMusicSynth part: */
-HRESULT WINAPI IDirectMusicSynthSinkImpl_Init (LPDIRECTMUSICSYNTHSINK iface, IDirectMusicSynth* pSynth)
-{
+/* IDirectMusicSynthSinkImpl IDirectMusicSynthSink part: */
+HRESULT WINAPI IDirectMusicSynthSinkImpl_Init (LPDIRECTMUSICSYNTHSINK iface, IDirectMusicSynth* pSynth) {
ICOM_THIS(IDirectMusicSynthSinkImpl,iface);
-
FIXME("(%p, %p): stub\n", This, pSynth);
-
return S_OK;
}
-HRESULT WINAPI IDirectMusicSynthSinkImpl_SetMasterClock (LPDIRECTMUSICSYNTHSINK iface, IReferenceClock* pClock)
-{
+HRESULT WINAPI IDirectMusicSynthSinkImpl_SetMasterClock (LPDIRECTMUSICSYNTHSINK iface, IReferenceClock* pClock) {
ICOM_THIS(IDirectMusicSynthSinkImpl,iface);
-
FIXME("(%p, %p): stub\n", This, pClock);
-
return S_OK;
}
-HRESULT WINAPI IDirectMusicSynthSinkImpl_GetLatencyClock (LPDIRECTMUSICSYNTHSINK iface, IReferenceClock** ppClock)
-{
+HRESULT WINAPI IDirectMusicSynthSinkImpl_GetLatencyClock (LPDIRECTMUSICSYNTHSINK iface, IReferenceClock** ppClock) {
ICOM_THIS(IDirectMusicSynthSinkImpl,iface);
-
FIXME("(%p, %p): stub\n", This, ppClock);
-
return S_OK;
}
-HRESULT WINAPI IDirectMusicSynthSinkImpl_Activate (LPDIRECTMUSICSYNTHSINK iface, BOOL fEnable)
-{
+HRESULT WINAPI IDirectMusicSynthSinkImpl_Activate (LPDIRECTMUSICSYNTHSINK iface, BOOL fEnable) {
ICOM_THIS(IDirectMusicSynthSinkImpl,iface);
-
FIXME("(%p, %d): stub\n", This, fEnable);
-
return S_OK;
}
-HRESULT WINAPI IDirectMusicSynthSinkImpl_SampleToRefTime (LPDIRECTMUSICSYNTHSINK iface, LONGLONG llSampleTime, REFERENCE_TIME* prfTime)
-{
+HRESULT WINAPI IDirectMusicSynthSinkImpl_SampleToRefTime (LPDIRECTMUSICSYNTHSINK iface, LONGLONG llSampleTime, REFERENCE_TIME* prfTime) {
ICOM_THIS(IDirectMusicSynthSinkImpl,iface);
-
FIXME("(%p, %lli, %p): stub\n", This, llSampleTime, prfTime);
-
return S_OK;
}
-HRESULT WINAPI IDirectMusicSynthSinkImpl_RefTimeToSample (LPDIRECTMUSICSYNTHSINK iface, REFERENCE_TIME rfTime, LONGLONG* pllSampleTime)
-{
+HRESULT WINAPI IDirectMusicSynthSinkImpl_RefTimeToSample (LPDIRECTMUSICSYNTHSINK iface, REFERENCE_TIME rfTime, LONGLONG* pllSampleTime) {
ICOM_THIS(IDirectMusicSynthSinkImpl,iface);
-
FIXME("(%p, %lli, %p): stub\n", This, rfTime, pllSampleTime );
-
return S_OK;
}
-HRESULT WINAPI IDirectMusicSynthSinkImpl_SetDirectSound (LPDIRECTMUSICSYNTHSINK iface, LPDIRECTSOUND pDirectSound, LPDIRECTSOUNDBUFFER pDirectSoundBuffer)
-{
+HRESULT WINAPI IDirectMusicSynthSinkImpl_SetDirectSound (LPDIRECTMUSICSYNTHSINK iface, LPDIRECTSOUND pDirectSound, LPDIRECTSOUNDBUFFER pDirectSoundBuffer) {
ICOM_THIS(IDirectMusicSynthSinkImpl,iface);
-
FIXME("(%p, %p, %p): stub\n", This, pDirectSound, pDirectSoundBuffer);
-
return S_OK;
}
-HRESULT WINAPI IDirectMusicSynthSinkImpl_GetDesiredBufferSize (LPDIRECTMUSICSYNTHSINK iface, LPDWORD pdwBufferSizeInSamples)
-{
+HRESULT WINAPI IDirectMusicSynthSinkImpl_GetDesiredBufferSize (LPDIRECTMUSICSYNTHSINK iface, LPDWORD pdwBufferSizeInSamples) {
ICOM_THIS(IDirectMusicSynthSinkImpl,iface);
-
FIXME("(%p, %p): stub\n", This, pdwBufferSizeInSamples);
-
return S_OK;
}
-ICOM_VTABLE(IDirectMusicSynthSink) DirectMusicSynthSink_Vtbl =
-{
+ICOM_VTABLE(IDirectMusicSynthSink) DirectMusicSynthSink_Vtbl = {
ICOM_MSVTABLE_COMPAT_DummyRTTIVALUE
IDirectMusicSynthSinkImpl_QueryInterface,
IDirectMusicSynthSinkImpl_AddRef,
@@ -153,23 +116,17 @@
};
/* for ClassFactory */
-HRESULT WINAPI DMUSIC_CreateDirectMusicSynthSink (LPCGUID lpcGUID, LPDIRECTMUSICSYNTHSINK* ppDMSynthSink, LPUNKNOWN pUnkOuter)
-{
- IDirectMusicSynthSinkImpl *dmsink;
+HRESULT WINAPI DMUSIC_CreateDirectMusicSynthSinkImpl (LPCGUID lpcGUID, LPVOID* ppobj, LPUNKNOWN pUnkOuter) {
+ IDirectMusicSynthSinkImpl *obj;
- TRACE("(%p,%p,%p)\n", lpcGUID, ppDMSynthSink, pUnkOuter);
- if (IsEqualIID (lpcGUID, &IID_IDirectMusicSynthSink)) {
- dmsink = HeapAlloc(GetProcessHeap(), HEAP_ZERO_MEMORY, sizeof(IDirectMusicSynthSinkImpl));
- if (NULL == dmsink) {
- *ppDMSynthSink = (LPDIRECTMUSICSYNTHSINK) NULL;
- return E_OUTOFMEMORY;
- }
- dmsink->lpVtbl = &DirectMusicSynthSink_Vtbl;
- dmsink->ref = 1;
- *ppDMSynthSink = (LPDIRECTMUSICSYNTHSINK) dmsink;
- return S_OK;
+ TRACE("(%p,%p,%p)\n", lpcGUID, ppobj, pUnkOuter);
+ obj = HeapAlloc(GetProcessHeap(), HEAP_ZERO_MEMORY, sizeof(IDirectMusicSynthSinkImpl));
+ if (NULL == obj) {
+ *ppobj = (LPDIRECTMUSICSYNTHSINK) NULL;
+ return E_OUTOFMEMORY;
}
+ obj->lpVtbl = &DirectMusicSynthSink_Vtbl;
+ obj->ref = 0;
- WARN("No interface found\n");
- return E_NOINTERFACE;
+ return IDirectMusicSynthSinkImpl_QueryInterface((LPDIRECTMUSICSYNTHSINK)obj, lpcGUID, ppobj);
}
diff --git a/dlls/dmsynth/version.rc b/dlls/dmsynth/version.rc
index 4ccbc66..5051092 100644
--- a/dlls/dmsynth/version.rc
+++ b/dlls/dmsynth/version.rc
@@ -1,5 +1,5 @@
/*
- * Copyright (C) 2003 Rok Mandeljc
+ * Copyright (C) 2003-2004 Rok Mandeljc <rok.mandeljc@gimb.org>
*
* This library is free software; you can redistribute it and/or
* modify it under the terms of the GNU Lesser General Public
@@ -18,10 +18,10 @@
#define WINE_FILEDESCRIPTION_STR "Wine DirectMusic Software Synthesizer"
#define WINE_FILENAME_STR "dmsynth.dll"
-#define WINE_FILEVERSION 4,8,1,881
-#define WINE_FILEVERSION_STR "4.8.1.881"
-#define WINE_PRODUCTVERSION 4,8,1,881
-#define WINE_PRODUCTVERSION_STR "4.8"
+#define WINE_FILEVERSION 4,9,0,900
+#define WINE_FILEVERSION_STR "4.9.0.900"
+#define WINE_PRODUCTVERSION 4,9,0,900
+#define WINE_PRODUCTVERSION_STR "4.9"
#define WINE_PRODUCTNAME_STR "DirectX"
#include "wine/wine_common_ver.rc"