Hi everyone. Sorry for not contributing anything to dmusic in a while, but I'm currently busy with final exams... As I can see, more work was done on it :)
Is anyone of you working on Dmusic interfaces ? Now doing test with Dxdiag doesnt work, it says "No such interface" when trying to create a IDirectPerformance object.
This problem can be fixed with adding a
if (IsEqualGUID(lpcGUID, &IID_IDirectMusicPerformance) || IsEqualGUID(lpcGUID, &IID_IDirectMusicPerformance8))
in DMUSIC_CreateDirectMusicPerformance8 (at the time being, there's check for IID_IDirectMusicPerformance8 only).
But even with this added, dxdiag creates interface, calls some functions and then crashes (though I have no idea why).
I was looking at code and i wonder if it's ok to allocate memory for interfaces like this: segment = (IDirectMusicSegmentImpl*)HeapAlloc(GetProcessHeap(),0,sizeof(IDirectMusicImpl));
I mean, it's IDirectMusicSegmentImpl, why using size of IDirectMusicImpl then? (or this doesn't matter?)
Another thing... does anyone of you know how to write effective chunk loading function (it will be needed sooner or later since most dmusic objects are stored in files)?
-----BEGIN PGP SIGNED MESSAGE----- Hash: SHA1
Hi everyone.
Hi rok
Sorry for not contributing anything to dmusic in a while, but I'm currently busy with final exams... As I can see, more work was done on it :)
don't worry, christian and me are trying to get some games running so dmusic should improve ;) (good luck for you exams)
Is anyone of you working on Dmusic interfaces ? Now doing test with Dxdiag doesnt work, it says "No such interface" when trying to create a IDirectPerformance object.
This problem can be fixed with adding a
if (IsEqualGUID(lpcGUID, &IID_IDirectMusicPerformance) || IsEqualGUID(lpcGUID, &IID_IDirectMusicPerformance8))
in DMUSIC_CreateDirectMusicPerformance8 (at the time being, there's check for IID_IDirectMusicPerformance8 only).
Oupps my forgot, i was trying to catch it ;)
But even with this added, dxdiag creates interface, calls some functions and then crashes (though I have no idea why).
strange
I was looking at code and i wonder if it's ok to allocate memory for interfaces like this: segment = (IDirectMusicSegmentImpl*)HeapAlloc(GetProcessHeap(),0,sizeof(IDirectMusicI mpl));
I mean, it's IDirectMusicSegmentImpl, why using size of IDirectMusicImpl then? (or this doesn't matter?)
already fixed in my last sent patch (07) was a Christian mismatch ;p
Another thing... does anyone of you know how to write effective chunk loading function (it will be needed sooner or later since most dmusic objects are stored in files)?
Not me, maybe reading docs
Regards, Raphael