Microsoft DirectX 8.0 (C++)

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::InvalidateIDirectMusicPerformance8::PlaySegmentIDirectMusicPerformance8::PlaySegmentExIDirectMusicPerformance8::StopIDirectMusicSegment8::GetDefaultResolutionIDirectMusicSegment8::SetDefaultResolutionDMUS_TIME_RESOLVE_FLAGS