DMUS_TIMESIG_PMSG
The DMUS_TIMESIG_PMSG structure contains data for a message that controls the time signature of the performance.
Syntax
typedef struct _DMUS_TIMESIG_PMSG {
DMUS_PMSG_PART
BYTE bBeatsPerMeasure;
BYTE bBeat;
WORD wGridsPerBeat;
} DMUS_TIMESIG_PMSG;
Members
DMUS_PMSG_PART
Macro for common message members. See DMUS_PMSG.
bBeatsPerMeasure
Beats per measure (top of the time signature).
bBeat
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.
wGridsPerBeat
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).
Remarks
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.
Requirements
** Header:** Dmusici.h
See Also