Microsoft DirectX 9.0


The DMUS_TIMESIG_PMSG structure contains data for a message that controls the time signature of the performance.


typedef struct _DMUS_TIMESIG_PMSG {
  BYTE bBeatsPerMeasure;
  BYTE bBeat;
  WORD wGridsPerBeat;



Macro for common message members. See DMUS_PMSG.


Beats per measure (top of the time signature).


Note that receives the beat (bottom of the time signature), where 1 is a whole note, 2 is a half note, 4 is a quarter note, and so on. Zero is a 256th note.


Grids (subdivisions) per beat. This value determines the timing resolution for certain music events—for example, segments cued with the DMUS_SEGF_GRID flag (see DMUS_SEGF_FLAGS).


Time signature messages are generated by the time signature track and the style track. In general, a segment contains one or the other, but not both. A segment representing a MIDI file has a time signature track, but most segments authored with an application such as DirectMusic Producer contain time signature information in the style track.

By default, only the primary segment sends time signature messages. For information on how to change this behavior, see Disabling and Enabling Track Parameters.

The time signature is used by the performance to resolve time to measure, beat, and grid boundaries in all methods in which the time can be adjusted by DMUS_SEGF_FLAGS or DMUS_TIME_RESOLVE_FLAGS. The time signature and style tracks also use the time signature to generate notifications on measure and beat boundaries. For more informaton, see the DMUS_NOTIFICATION_PMSG structure.


  Header: Declared in dmusici.h.

See Also