Platform SDK: DirectX

CONST_DMUS_SEGF_FLAGS

The members of the CONST_DMUS_SEGF_FLAGS enumeration are used in various methods of the DirectMusicPerformance object to control the timing and other aspects of actions on a segment.

Enum CONST_DMUS_SEGF_FLAGS
    DMUS_SEGF_AFTERPREPARETIME = 1024 (&H400)
    DMUS_SEGF_BEAT             = 4096 (&H1000)
    DMUS_SEGF_CONTROL           = 512 (&H200)
    DMUS_SEGF_DEFAULT         = 16384 (&H4000)
    DMUS_SEGF_GRID             = 2048 (&H800)
    DMUS_SEGF_MEASURE          = 8192 (&H2000)
    DMUS_SEGF_NOINVALIDATE    = 32768 (&H8000)
    DMUS_SEGF_QUEUE             = 256 (&H100)
    DMUS_SEGF_REFTIME            = 64 (&H40)
    DMUS_SEGF_SECONDARY         = 128 (&H80)
End Enum
DMUS_SEGF_AFTERPREPARETIME
Play after the prepare time. (See DirectMusicPerformance.GetPrepareTime.)
DMUS_SEGF_BEAT
Play on a beat boundary.
DMUS_SEGF_CONTROL
Play as a control segment (secondary segments only). See Remarks.
DMUS_SEGF_DEFAULT
Use segment's default boundary.
DMUS_SEGF_GRID
Play on a grid boundary.
DMUS_SEGF_MEASURE
Play on a measure boundary.
DMUS_SEGF_NOINVALIDATE
Setting this flag in DirectMusicPerformance.PlaySegment for a primary or control segment causes the new segment not to cause an invalidation. Without this flag, an invalidation occurs, cutting off and resetting any currently playing curve or note. This flag should be combined with DMUS_SEGF_AFTERPREPARETIME so that notes in the new segment do not play over notes played by the old segment.
DMUS_SEGF_QUEUE
Put at the end of the primary segment queue (primary segment only).
DMUS_SEGF_REFTIME
Time parameter is in clock time.
DMUS_SEGF_SECONDARY
Secondary segment.

Remarks

Normally, the primary segment is the control segment. The DMUS_SEGF_CONTROL flag can be used to make a secondary segment the control segment. There should be only one control segment at a time. (It is possible to create multiple control segments, but there is no guarantee of which one will actually be used by DirectMusic as the control segment.) By default, only the control segment sends tempo messages.

If the DMUS_SEGF_CONTROL flag is set, DMUS_SEGF_SECONDARY is assumed.

See Also

DirectMusicPerformance.GetResolvedTime, DirectMusicPerformance.Invalidate, DirectMusicPerformance.PlaySegment, DirectMusicPerformance.Stop