DirectX SDK

DMUS_TIMESIG_PMSG

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

typedef struct _DMUS_TIMESIG_PMSG {
    DMUS_PMSG_PART
    BYTE bBeatsPerMeasure;
    BYTE bBeat;
    WORD wGridsPerBeat;
} DMUS_TIMESIG_PMSG;
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 a tool 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 Messages.

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. See DMUS_NOTIFICATION_PMSG.

Requirements

  Windows NT/2000: Requires Windows 2000.
  Windows 95/98: Requires Windows 95 or later. Available as a redistributable for Windows 95.
  Header: Declared in dmusici.h.

See Also

IDirectMusicPerformance::SendPMsg, DMUS_TIMESIGNATURE