Platform SDK: DirectX

DMUS_CURVE_PMSG

DMUS_CURVE_PMSG 構造体は、曲線 (たとえばコンティニュアス コントローラ イベントのシーケンス) を表すメッセージ構造体である。

typedef struct DMUS_CURVE_PMSG {
    DMUS_PMSG_PART
    MUSIC_TIME mtDuration;
    MUSIC_TIME mtOriginalStart;
    MUSIC_TIME mtResetDuration;
    short      nStartValue;
    short      nEndValue;
    short      nResetValue;
    WORD       wMeasure;
    short      nOffset;
    BYTE       bBeat;
    BYTE       bGrid;
    BYTE       bType;
    BYTE       bCurveShape;
    BYTE       bCCData;
    BYTE       bFlags;
} DMUS_CURVE_PMSG;
DMUS_PMSG_PART
共通のメッセージメンバに展開されるマクロ。DMUS_PMSG を参照すること。
mtDuration
曲線の持続時間。
mtOriginalStart
オリジナルの開始タイム。メッセージを作成するときは 0 または曲線のオリジナルの開始タイムに設定しなければならない。
mtResetDuration
曲線が終了した後、リセット値を設定するまでの時間。bFlags 内に DMUS_CURVE_RESET がない場合は無視される。
nStartValue
曲線の開始値。
nEndValue
曲線の終了値。
nResetValue
曲線のリセット値。mtResetDuration の経過後、またはフラッシュ (解放) や無効化の際に設定される。bFlags 内に DMUS_CURVE_RESET がない場合は無視される。
wMeasure
曲線が発生する小節。
nOffset
曲線が発生するグリッドからのオフセット。ミュージック タイムで表される。
bBeat
この曲線が発生する (小節内の) 拍数。
bGrid
この曲線が発生する拍からのグリッド オフセット。
bType
曲線のタイプ。次の値のいずれかを使う。
DMUS_CURVET_CCCURVE
コンティニュアス コントローラ曲線 (MIDI コントロール チェンジのチャンネル発音メッセージ。ステータス バイトは &HBnn はチャンネル番号を表す)。
DMUS_CURVET_MATCURVE
モノフォニック アフタータッチ曲線 (MIDI Channel Pressure チャンネル発音メッセージ。ステータス バイトは &HDn)。
DMUS_CURVET_PATCURVE
ポリフォニック アフタータッチ曲線 (MIDI Poly Key Pressure チャンネル発音メッセージ。ステータス バイトは &HDn)。
DMUS_CURVET_PBCURVE
ピッチ ベンド曲線 (MIDI Pitch Bend チャンネル発音メッセージ。ステータス バイトは &HEn)。
bCurveShape
曲線のシェイプ。次の値のいずれかを使う。
DMUS_CURVES_EXP
指数曲線シェイプ。
DMUS_CURVES_INSTANT
即時曲線シェイプ (曲線の開始と終了がほとんど同時に発生する)。
DMUS_CURVES_LINEAR
線形曲線シェイプ。
DMUS_CURVES_LOG
対数曲線シェイプ。
DMUS_CURVES_SINE
正弦曲線シェイプ。
bCCData
コントロール チェンジ タイプの場合は、CC 番号を指定する。
bFlags
デフォルトのタイムに達したとき、または移行部が原因で無効化が発生したときに nResetValue を設定しなければならない場合は、この値を DMUS_CURVE_RESET に設定する。この値を 0 に設定した場合は、曲線は新しい値に永続的にとどまる。他のすべてのビットは予約されている。

動作環境

  Windows NT/2000 : Windows 2000 が必要。
  Windows 95/98 : Windows 95 以降が必要。Windows 95 用に再配布可能な形で使用可能。
  ヘッダー : dmusici.h で宣言。

参照

IDirectMusicPerformance::SendPMsg