[directmusic] Re: ReferenceToMusicTime returns music time = 0

  • From: Abhijit Patait <abhijit_patait@xxxxxxxxx>
  • To: directmusic@xxxxxxxxxxxxx
  • Date: Thu, 15 Jul 2004 13:01:34 -0700 (PDT)

I found the cause of the problem, and am posting it here for the benefit of 
others. I was passing a difference of two REFERENCE_TIME variables to 
ReferenceToMusicTime(...). Apparently, ReferenceToMusicTime(...) does not like 
that. It seems to require absolute REFERENCE_TIME. I was passing the difference 
because I wanted to have the time relative to a pre-determined event (first 
MIDI message captured).
 
The work-around was to convert each REFERENCE_TIME to MUSIC_TIME separately, 
and then take the difference of the MUSIC_TIME variables. That works!!
 
-Abhijit
Abhijit Patait <abhijit_patait@xxxxxxxxx> wrote:
I am having problems calling the function 
IDirectMusicPerformance8::ReferenceToMusicTime(...) on a properly initialized 
performance interface. The music time returned is zero. Here is the code:

// Assume that pPerf is the pointer to the IDirectMusicPerformance8 interface
pPerf->ReferenceToMusicTime(rt, &startTime);
I have verified that rt is valid when the above function is called.

Somewhere before calling this function, I am setting the performance's master 
tempo via the following call

// Assume that ratio contains proper ratio for the desired tempo
pPerf->SetGlobalParam(GUID_PerfMasterTempo, (void *) &ratio, sizeof(float))))

What could be wrong here? Does the performance object need to be initialized in 
any other way (other than InitAudio) before calling ReferenceToMusicTime(...)?

Thank you
Abhijit


---------------------------------
Do you Yahoo!?
Yahoo! Mail is new and improved - Check it out!



                
---------------------------------
Do you Yahoo!?
Yahoo! Mail - 50x more storage than other providers!


Other related posts: