DirectX SDK |
By setting the GUID_DisableTempo and GUID_DisableTimeSig parameters on a track, you can disable the generation of DMUS_TEMPO_PMSG and DMUS_TIMESIG_PMSG messages, respectively. You might want to do this, for example, when you have set the tempo dynamically and do not want the primary segment to send tempo messages.
To re-enable messages, call one of the SetParam methods with GUID_EnableTempo and GUID_EnableTimeSig as the rguidType parameter. You can also set these parameters to force a segment to send tempo messages, even though it is not the control segment, or to cause a secondary segment to send time-signature messages. (For more information on control segments, see Segments and DMUS_SEGF_FLAGS.)
For more information on how to set a parameter, see Setting and Retrieving Track Parameters.
See also the Remarks for IDirectMusicTrack::IsParamSupported.
By using the DirectMusicSegment.SetTempoEnable and DirectMusicSegment.SetTimeSigEnable methods, you can disable the generation of tempo and time-signature messages, respectively. You might want to do this, for example, when you have set the tempo dynamically and do not want the primary segment to send tempo messages.
You can also use SetTempoEnable to force a segment to send tempo messages, even though it is not the control segment, and SetTimeSigEnable to cause a secondary segment to send time signature messages. (For more information on control segments, see Segments and DMUS_SEGF_FLAGS.)