Platform SDK: DirectX

DMUS_NOTIFICATION_PMSG

DMUS_NOTIFICATION_PMSG 構造体は、DMUS_PMSG から派生したもので、通知を表す。

typedef struct DMUS_NOTIFICATION_PMSG {
    DMUS_PMSG_PART
    GUID   guidNotificationType;
    DWORD  dwNotificationOption;
    DWORD  dwField1;
    DWORD  dwField2;
} DMUS_NOTIFICATION_PMSG;
DMUS_PMSG_PART
共通のメッセージメンバに展開されるマクロ。DMUS_PMSG を参照すること。
guidNotificationType
通知タイプの識別子。次のタイプが定義されている。
GUID_NOTIFICATION_CHORD
コード チェンジ。
GUID_NOTIFICATION_COMMAND
コマンド イベント。
GUID_NOTIFICATION_MEASUREANDBEAT
小節および拍イベント。
GUID_NOTIFICATION_PERFORMANCE
パフォーマンス イベント。dwNotificationOption でさらに定義される。
GUID_NOTIFICATION_SEGMENT
セグメント イベント。dwNotificationOption でさらに定義される。
dwNotificationOption
通知サブタイプの識別子。

通知タイプが GUID_NOTIFICATION_SEGMENT の場合、このメンバは次の値のいずれかを保持する。

DMUS_NOTIFICATION_SEGABORT
セグメントが IDirectMusicPerformance::Stop によって停止された。
DMUS_NOTIFICATION_SEGALMOSTEND
セグメントが終了タイムから準備時間を引いたタイムに達した。
DMUS_NOTIFICATION_SEGEND
セグメントが終了した。
DMUS_NOTIFICATION_SEGLOOP
セグメントがループした。
DMUS_NOTIFICATION_SEGSTART
セグメントが開始した。

通知タイプが GUID_NOTIFICATION_COMMAND の場合、このメンバは次の値のいずれかを保持する。

DMUS_NOTIFICATION_GROOVE
グルーブ チェンジ。
DMUS_NOTIFICATION_EMBELLISHMENT
装飾コマンド (イントロ、フィル、ブレーク、またはエンド)。

通知タイプが GUID_NOTIFICATION_PERFORMANCE の場合、このメンバは次の値のいずれかを保持する。

DMUS_NOTIFICATION_MUSICSTARTED
再生が開始した。
DMUS_NOTIFICATION_MUSICSTOPPED
再生が停止した。

通知タイプが GUID_NOTIFICATION_MEASUREANDBEAT の場合、このメンバは DMUS_NOTIFICATION_MEASUREBEAT を保持する。その他のサブタイプは定義されない。

通知タイプが GUID_NOTIFICATION_CHORD の場合、このメンバは DMUS_NOTIFICATION_CHORD を保持する。その他のサブタイプは定義されない。

dwField1
通知タイプに固有の追加データ。GUID_NOTIFICATION_MEASUREANDBEAT 通知の場合、このメンバは小節内の拍番号を返す。
dwField2
通知タイプに固有の追加データ。将来の使用またはアプリケーションによって定義される使用に備えて予約されている。

注意

ほとんどの通知について、punkUser メンバ (「DMUS_PMSG」を参照) は、セグメント状態の IUnknown ポインタを保持する。これは、コードおよびコマンドの取得に使用すると非常に便利である。その場合、IDirectMusicSegmentState インターフェイスのクエリを行い、IDirectMusicSegmentState::GetSegment を呼び出して IDirectMusicSegment ポインタを取得する。次に、IDirectMusicSegment::GetParam メソッドを呼び出して、通知メッセージの mtTime メンバで指定されたタイムにコードまたはコマンドを取得する。

GUID_NOTIFICATION_PERFORMANCE タイプの通知の場合、punkUser メンバは常に NULL である。

アプリケーションは独自の通知メッセージ タイプおよびサブタイプを定義でき、余分なデータについては dwField1dwField2 を使用できる。そのようなカスタム通知メッセージは、その他のメッセージと同様に、割り当ておよび送信できる。アプリケーションによって定義されたトラックは、GUID (guidNotificationType) IDirectMusicTrack::AddNotificationType に渡された後に、特定タイプのメッセージを送信できる。

動作環境

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

参照

通知とイベントの処理IDirectMusicPerformance::SendPMsg