DirectX SDK

DMUS_SEGF_FLAGS

The members of the DMUS_SEGF_FLAGS enumeration are passed to various methods of IDirectMusicPerformance to control the timing and other aspects of actions on a segment.

typedef enum enumDMUS_SEGF_FLAGS {
    DMUS_SEGF_REFTIME          = 64,
    DMUS_SEGF_SECONDARY        = 128,
    DMUS_SEGF_QUEUE            = 256,
    DMUS_SEGF_CONTROL          = 512
    DMUS_SEGF_AFTERPREPARETIME = 1<<10,
    DMUS_SEGF_GRID             = 1<<11,
    DMUS_SEGF_BEAT             = 1<<12,
    DMUS_SEGF_MEASURE          = 1<<13,
    DMUS_SEGF_DEFAULT          = 1<<14,
    DMUS_SEGF_NOINVALIDATE     = 1<<15,
} DMUS_SEGF_FLAGS;
DMUS_SEGF_REFTIME
Time parameter is in reference time.
DMUS_SEGF_SECONDARY
Secondary segment.
DMUS_SEGF_QUEUE
Put at the end of the primary segment queue (primary segment only).
DMUS_SEGF_CONTROL
Play as a control segment (secondary segments only). See Remarks.
DMUS_SEGF_AFTERPREPARETIME
Play after the prepare time. See IDirectMusicPerformance::GetPrepareTime.
DMUS_SEGF_GRID
Play on a grid boundary.
DMUS_SEGF_BEAT
Play on a beat boundary.
DMUS_SEGF_MEASURE
Play on a measure boundary.
DMUS_SEGF_DEFAULT
Use the segment's default boundary.
DMUS_SEGF_NOINVALIDATE
Setting this flag in IDirectMusicPerformance::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.

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 is actually used by DirectMusic as the control segment.) When a track calls GetParam on another track, it does so on 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.

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::Invalidate, IDirectMusicPerformance::PlaySegment, IDirectMusicPerformance::Stop, IDirectMusicSegment::GetDefaultResolution, IDirectMusicSegment::SetDefaultResolution, DMUS_TIME_RESOLVE_FLAGS