[DMUSIC07] more

Raphaël Junqueira fenix at club-internet.fr
Mon Jun 16 19:31:41 CDT 2003


-----BEGIN PGP SIGNED MESSAGE-----
Hash: SHA1

Hi,

Changelog:
 - add IDirectMusicContainer support in 
IDirectMusicLoader8Impl::LoadObjectFromFile
 - don't use IDirectMusicSegment*Impl when IDirectMusicSegment*8Impl can be 
used instead (avoir code duplication)

Regards,
Raphael

PS: Christian with your last patch dmusic crash when WinMM is disabled (no 
sound drivers => DirectSoundCreate8 returns an error)
-----BEGIN PGP SIGNATURE-----
Version: GnuPG v1.2.2 (GNU/Linux)

iD8DBQE+7mFtp7NA3AmQTU4RAsxIAKCRM8zax9l31E2ko8O3xnqDMg4urgCcCyGy
n+Nq8gwAEqr7FZxljztSyO8=
=3tJi
-----END PGP SIGNATURE-----
-------------- next part --------------
Index: dmusic_loader.c
===================================================================
RCS file: /home/wine/wine/dlls/dmusic/dmusic_loader.c,v
retrieving revision 1.5
diff -u -r1.5 dmusic_loader.c
--- dmusic_loader.c	16 Jun 2003 20:26:50 -0000	1.5
+++ dmusic_loader.c	17 Jun 2003 00:24:55 -0000
@@ -324,19 +324,19 @@
 	  FIXME("wanted 'con'\n");
 	}
 
-	if (IsEqualGUID(iidInterfaceID,&IID_IDirectMusicSegment)) {
-	  IDirectMusicSegmentImpl* segment;
-	  segment = (IDirectMusicSegmentImpl*)HeapAlloc(GetProcessHeap(),0,sizeof(IDirectMusicImpl));
-	  segment->lpVtbl = &DirectMusicSegment_Vtbl;
-	  segment->ref = 1;
-	  *ppObject = segment;
-	  return S_OK;
-	} else if (IsEqualGUID(iidInterfaceID,&IID_IDirectMusicSegment8)) {
-	  IDirectMusicSegmentImpl* segment;
-	  segment = (IDirectMusicSegmentImpl*)HeapAlloc(GetProcessHeap(),0,sizeof(IDirectMusicImpl));
+	if (IsEqualGUID(iidInterfaceID, &IID_IDirectMusicSegment) || 
+	    IsEqualGUID(iidInterfaceID, &IID_IDirectMusicSegment8)) {
+	  IDirectMusicSegment8Impl* segment;
+	  segment = (IDirectMusicSegment8Impl*) HeapAlloc(GetProcessHeap(), 0, sizeof(IDirectMusicSegment8Impl));
 	  segment->lpVtbl = &DirectMusicSegment8_Vtbl;
 	  segment->ref = 1;
 	  *ppObject = segment;
+	} else if (IsEqualGUID(iidInterfaceID, &IID_IDirectMusicContainer)) {
+	  IDirectMusicContainerImpl* container;
+	  container = (IDirectMusicSegmentImpl*) HeapAlloc(GetProcessHeap(), 0, sizeof(IDirectMusicContainerImpl));
+	  container->lpVtbl = &DirectMusicContainer_Vtbl;
+	  container->ref = 1;
+	  *ppObject = container;
 	  return S_OK;
 	} else {
 	  FIXME("bad iid\n");
Index: dmusic_performance.c
===================================================================
RCS file: /home/wine/wine/dlls/dmusic/dmusic_performance.c,v
retrieving revision 1.7
diff -u -r1.7 dmusic_performance.c
--- dmusic_performance.c	16 Jun 2003 20:26:50 -0000	1.7
+++ dmusic_performance.c	17 Jun 2003 00:25:00 -0000
@@ -1131,9 +1131,9 @@
 	default:
 		break;
 	}
-	
+
 	/* FIXME: Should we create one secondary buffer for each PChannel? */
-	IDirectSound8_CreateSoundBuffer((LPDIRECTSOUND8)This->dsound, &desc, &buffer, NULL);
+	IDirectSound8_CreateSoundBuffer((LPDIRECTSOUND8) This->dsound, &desc, &buffer, NULL);
 	default_path->buffer = (IDirectSoundBuffer*) buffer;
 
 	/* Update description for creating primary buffer */
@@ -1141,7 +1141,7 @@
 	desc.dwBufferBytes = 0;
 	desc.lpwfxFormat = NULL;
 
-	IDirectSound8_CreateSoundBuffer((LPDIRECTSOUND8)This->dsound, &desc, &buffer, NULL);
+	IDirectSound8_CreateSoundBuffer((LPDIRECTSOUND8) This->dsound, &desc, &buffer, NULL);
 
 	default_path->primary = (IDirectSoundBuffer*) buffer;
 
Index: dmusic_segment.c
===================================================================
RCS file: /home/wine/wine/dlls/dmusic/dmusic_segment.c,v
retrieving revision 1.2
diff -u -r1.2 dmusic_segment.c
--- dmusic_segment.c	7 Jun 2003 00:39:18 -0000	1.2
+++ dmusic_segment.c	17 Jun 2003 00:25:07 -0000
@@ -310,7 +310,9 @@
 {
 	ICOM_THIS(IDirectMusicSegment8Impl,iface);
 
-	if (IsEqualGUID(riid, &IID_IUnknown) || IsEqualGUID(riid, &IID_IDirectMusicSegment8))
+	if (IsEqualGUID(riid, &IID_IUnknown) || 
+	    IsEqualGUID(riid, &IID_IDirectMusicSegment) ||
+	    IsEqualGUID(riid, &IID_IDirectMusicSegment8))
 	{
 		IDirectMusicSegment8Impl_AddRef(iface);
 		*ppobj = This;
@@ -728,7 +730,9 @@
 {
 	ICOM_THIS(IDirectMusicSegmentState8Impl,iface);
 
-	if (IsEqualGUID(riid, &IID_IUnknown) || IsEqualGUID(riid, &IID_IDirectMusicSegmentState8))
+	if (IsEqualGUID(riid, &IID_IUnknown) || 
+	    IsEqualGUID(riid, &IID_IDirectMusicSegmentState) ||
+	    IsEqualGUID(riid, &IID_IDirectMusicSegmentState8))
 	{
 		IDirectMusicSegmentState8Impl_AddRef(iface);
 		*ppobj = This;


More information about the wine-patches mailing list