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)?
--
Rok Mandeljc <rok.mandeljc(a)gimb.org>
"All that is gold does not glitter,
Not all those who wander are lost;
The old that is strong does not wither,
Deep roots are not reached by the frost.
From the ashes a fire shall be woken,
A light from the shadows shall spring;
Renewed shall be blade that was broken,
The crownless again shall be king."
-- J.R.R. Tolkien