DMUS_SEGF_FLAGS
IDirectMusicPerformance8 のさまざまなメソッドに渡され、セグメントに対するアクションのタイミングおよびその他の要素を制御する。
typedef enum enumDMUS_SEGF_FLAGS {
DMUS_SEGF_REFTIME = 1<<6,
DMUS_SEGF_SECONDARY = 1<<7,
DMUS_SEGF_QUEUE = 1<<8,
DMUS_SEGF_CONTROL = 1<<9,
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_ALIGN = 1<<16,
DMUS_SEGF_VALID_START_BEAT = 1<<17,
DMUS_SEGF_VALID_START_GRID = 1<<18,
DMUS_SEGF_VALID_START_TICK = 1<<19,
DMUS_SEGF_AUTOTRANSITION = 1<<20,
DMUS_SEGF_AFTERQUEUETIME = 1<<21,
DMUS_SEGF_AFTERLATENCYTIME = 1<<22,
DMUS_SEGF_SEGMENTEND = 1<<23,
DMUS_SEGF_MARKER = 1<<24,
DMUS_SEGF_TIMESIG_ALWAYS = 1<<25,
DMUS_SEGF_USE_AUDIOPATH = 1<<26,
DMUS_SEGF_VALID_START_MEASURE = 1<<27
} DMUS_SEGF_FLAGS;
定数
- DMUS_SEGF_REFTIME
- タイム パラメータは基準タイムで表される。
- DMUS_SEGF_SECONDARY
- セカンダリ セグメント。
- DMUS_SEGF_QUEUE
- プライマリ セグメント キューの最後に置く。プライマリ セグメントに対してのみ有効である。
- DMUS_SEGF_CONTROL
- 制御セグメントとして演奏する。セカンダリ セグメントに対してのみ有効である。「注意」を参照すること。
- DMUS_SEGF_AFTERPREPARETIME
- 準備時間の後に演奏する。「IDirectMusicPerformance8::GetPrepareTime」を参照すること。
- DMUS_SEGF_GRID
- グリッド境界で演奏する。
- DMUS_SEGF_BEAT
- 拍の境界で演奏する。
- DMUS_SEGF_MEASURE
- 小節境界で演奏する。
- DMUS_SEGF_DEFAULT
- セグメントのデフォルトの境界を使用する。
- DMUS_SEGF_NOINVALIDATE
- プライマリ セグメントまたは制御セグメントについて、このフラグを IDirectMusicPerformance8::PlaySegment または IDirectMusicPerformance8::PlaySegmentEx で設定すると、新しいセグメントで無効化が発生しない。このフラグがないと無効化が発生し、演奏中のカーブやノートが途切れ、リセットされる。このフラグは DMUS_SEGF_AFTERPREPARETIME と組み合わせなければならない。そうすることによって、新しいセグメント内のノートは、古いセグメントが演奏するノートに重ねて演奏しない。
- DMUS_SEGF_ALIGN
- セグメントの開始を、小節や拍など、既に過ぎた境界に揃えることができる。これを実行するには、セグメント内で次の境界の前に、有効な開始ポイントがある必要がある。開始ポイントはセグメント内に定義できる。また、DMUS_SEGF_VALID_START_* フラグの 1 つを使用して、有効な開始ポイントの細分度を定義できる。DMUS_SEGF_VALID_START_* フラグは、セグメント内に有効な開始ポイントが定義されていない場合にのみ有効である。
- DMUS_SEGF_VALID_START_BEAT
- 任意の拍で開始できる。DMUS_SEGF_ALIGN と組み合わせて使用される。
- DMUS_SEGF_VALID_START_GRID
- 任意のグリッドで開始できる。DMUS_SEGF_ALIGN と組み合わせて使用される。
- DMUS_SEGF_VALID_START_TICK
- 任意のタイムで開始できる。DMUS_SEGF_ALIGN と組み合わせて使用される。
- DMUS_SEGF_AUTOTRANSITION
- トランジション テンプレートを使用して、トランジション セグメントをアレンジおよび演奏する。
- DMUS_SEGF_AFTERQUEUETIME
- キュー時間の後に演奏する。これはプライマリ セグメントのデフォルトである。DMUS_SEGF_AFTERPREPARETIME も設定されている場合は無視される。
- DMUS_SEGF_AFTERLATENCYTIME
- 遅延時間の後に演奏する。これはすべてのセグメントに当てはまるので、このフラグは現時点では何の効果もない。
- DMUS_SEGF_SEGMENTEND
- 開始タイムで演奏中のプライマリ セグメントの最後で演奏する。現在演奏中のプライマリ セグメント後に既に挿入されているセグメントは、フラッシュ (解放) される。プライマリ セグメントが演奏されていない場合は、その他の解決フラグを使用する。
- DMUS_SEGF_MARKER
- プライマリ セグメント内の次のマーカーで演奏する。マーカーが存在しない場合は、その他の解決フラグを使用する。
- DMUS_SEGF_TIMESIG_ALWAYS
- 開始タイムを現在の拍子記号に揃える。プライマリ セグメントがない場合も同様にする。
- DMUS_SEGF_USE_AUDIOPATH
- セグメントに埋め込まれたオーディオパスを使用する。セグメントが正しく演奏されるように、バンドの自動ダウンロードを有効にする必要がある。
- DMUS_SEGF_VALID_START_MEASURE
- 小節の先頭から開始できる。DMUS_SEGF_ALIGN と組み合わせて使用される。
注意
プライマリ セグメントはデフォルトの制御セグメントである。DMUS_SEGF_CONTROL フラグを使用して、セカンダリ セグメントを制御セグメントにすることができる。DMUS_SEGF_CONTROL フラグを設定すると、DMUS_SEGF_SECONDARY が想定される。詳細については、「制御セグメント」を参照すること。
次の各グループの中から 2 つ以上のフラグを指定してはいけない。
- 境界
- このフラグは、キューにあるセグメントの開始ポイントが位置する現在演奏中のプライマリ セグメントのポイントを制御する。DMUS_SEGF_MARKER と組み合わせることができる。この場合、境界フラグはプライマリ セグメント内にマーカーが存在しない場合にのみ使用される。
DMUS_SEGF_BEAT
DMUS_SEGF_DEFAULT
DMUS_SEGF_GRID
DMUS_SEGF_MEASURE
DMUS_SEGF_QUEUE
DMUS_SEGF_SEGMENTEND
- 整列
- このフラグは、キューにあるセグメントのセグメント開始タイムを制御する。この時点で、演奏時間は過去のものとなる。DMUS_SEGF_ALIGN と組み合わせる必要がある。
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 を組み合わせると、キューにあるセグメントの開始ポイントが現在のプライマリ セグメントの小節境界に置かれる。この境界を既に過ぎている場合、キューに置かれているセグメントは、過ぎた時間に揃えられていないセグメント内の次の拍の境界から演奏を開始する。詳細については、「セグメントのタイミング」を参照すること。
ヘッダー : dmusici.h で宣言。
参照
IDirectMusicPerformance8::Invalidate、IDirectMusicPerformance8::PlaySegment、IDirectMusicPerformance8::PlaySegmentEx、IDirectMusicPerformance8::Stop、IDirectMusicSegment8::GetDefaultResolution、IDirectMusicSegment8::SetDefaultResolution、DMUS_TIME_RESOLVE_FLAGS