Microsoft DirectX 8.0 (Visual Basic) |
CONST_DMUS_SEGF_FLAGS 列挙型のメンバは、セグメントに対するアクションのタイミングやその他の要素を制御するために、DirectMusicPerformance8 オブジェクトのさまざまなメソッド内で使用される。
Enum CONST_DMUS_SEGF_FLAGS DMUS_SEGF_AFTERLATENCYTIME = 4194304 (&H400000) DMUS_SEGF_AFTERPREPARETIME = 1024 (&H400) DMUS_SEGF_AFTERQUEUETIME = 2097152 (&H200000) DMUS_SEGF_ALIGN = 65536 (&H10000) DMUS_SEGF_AUTOTRANSITION = 1048576 (&H100000) DMUS_SEGF_BEAT = 4096 (&H1000) DMUS_SEGF_CONTROL = 512 (&H200) DMUS_SEGF_DEFAULT = 16384 (&H4000) DMUS_SEGF_GRID = 2048 (&H800) DMUS_SEGF_MARKER = 16777216 (&H1000000) 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) DMUS_SEGF_SEGMENTEND = 8388608 (&H800000) DMUS_SEGF_TIMESIG_ALWAYS = 33554432 (&H2000000) DMUS_SEGF_USE_AUDIOPATH = 67108864 (&H4000000) DMUS_SEGF_VALID_START_BEAT = 131072 (&H20000) DMUS_SEGF_VALID_START_GRID = 262144 (&H40000) DMUS_SEGF_VALID_START_MEASURE = 134217728 (&H8000000 DMUS_SEGF_VALID_START_TICK = 524288 (&H80000) End Enum
通常、プライマリ セグメントは制御セグメントである。DMUS_SEGF_CONTROL フラグを使用して、セカンダリ セグメントを制御セグメントにすることができる。ただし、制御セグメントが存在できるのは一度に 1 つだけである (複数の制御セグメントを作成することはできるが、実際にどの制御セグメントが DirectMusic によって使用されるかは保証されない)。デフォルトでは、制御セグメントだけがテンポ メッセージを送信する。
DMUS_SEGF_CONTROL フラグを設定すると、DMUS_SEGF_SECONDARY が想定される。
次の各グループの中から 2 つ以上のフラグを指定してはいけない。
DMUS_SEGF_BEAT
DMUS_SEGF_DEFAULT
DMUS_SEGF_GRID
DMUS_SEGF_MEASURE
DMUS_SEGF_QUEUE
DMUS_SEGF_SEGMENTEND
DMUS_SEGF_VALID_START_BEAT
DMUS_SEGF_VALID_START_GRID
DMUS_SEGF_VALID_START_MEASURE
DMUS_SEGF_VALID_START_TICK
各グループのフラグを 1 つずつ組み合わせることは可能である。たとえば、DMUS_SEGF_MEASURE に DMUS_SEGF_ALIGN と DMUS_SEGF_VALID_START_BEAT を組み合わせると、キューにあるセグメントの開始ポイントが現在のプライマリ セグメントの小節境界に置かれる。この境界を既に過ぎている場合、キューに置かれているセグメントは、過ぎた時間に揃えられていないセグメント内の次の拍の境界から演奏を開始する。詳細については、「セグメントのタイミング」を参照すること。
DirectMusicPerformance8.GetResolvedTime、DirectMusicPerformance8.Invalidate、DirectMusicPerformance8.PlaySegmentEx、DirectMusicPerformance8.StopEx