次の方法で共有


IDirectMusicPerformance8 インターフェイス

IDirectMusicPerformance8 インターフェイスは、再生の総合的なマネージャである。このインターフェイスは、ポートの追加と削除、ポートへのパフォーマンス チャンネルのマッピング、セグメントの演奏、メッセージのディスパッチとツール経由のルーティング、イベント通知の要求と受け取り、さまざまなパラメータの設定と取得に使われる。また、タイミングに関する情報を取得したり、システム間でタイムとミュージック値を変換したりするためのメソッドも備えている。

アプリケーションで 2 つの完全なミュージック セットを同時に演奏する必要がある場合は、複数のパフォーマンスを作成することで実現できる。異なるパフォーマンスではテンポが異なっていてもかまわないが、1 つのパフォーマンス内にあるすべてのセグメントは、同じテンポで演奏する必要がある。

IDirectMusicPerformance8 は、IDirectMusicPerformance インターフェイスを引き継ぎ、新しいメソッドが追加されている。

IUnknown から継承するメソッドのほかに、IDirectMusicPerformance8 インターフェイスでは、カテゴリ別に以下のメソッドが公開されている。

オーディオパス

メソッド 説明
CreateAudioPath 構成オブジェクトからオーディオパスを作成する。
CreateStandardAudioPath 標準構成でオーディオパスを作成する。
GetDefaultAudioPath デフォルトのオーディオパスを取得する。
SetDefaultAudioPath パフォーマンスにデフォルト オーディオパスを設定してアクティブにする。

メッセージ

メソッド 説明
AllocPMsg パフォーマンス メッセージにメモリを割り当てる。
ClonePMsg パフォーマンス メッセージのコピーを作成する。
FreePMsg パフォーマンス メッセージに割り当てられたメモリを解放する。
SendPMsg パフォーマンス メッセージを送信する。

MIDI 変換

メソッド 説明
MIDIToMusic 提供されるコード、サブコード レベル、演奏モードを使って、MIDI ノートの値を DirectMusic のミュージック値に変換する。
MusicToMIDI DirectMusic のミュージック値を MIDI ノートの値に変換する。

通知

メソッド 説明
AddNotificationType パフォーマンスに通知タイプを追加する。
GetNotificationPMsg 保留中の通知メッセージを取得する。
RemoveNotificationType 以前に追加された通知タイプをパフォーマンスから削除する。
SetNotificationHandle 通知のイベント ハンドルを設定する。

パラメータ

メソッド 説明
GetGlobalParam パフォーマンスからグローバル値を取得する。
GetParam トラックからデータを取得する。
GetParamEx トラックからデータを取得する。自己制御セグメントをサポートする。
SetGlobalParam パフォーマンスのグローバル値を設定する。
SetParam 制御セグメントのトラックにデータを設定する。

パフォーマンス チャンネル

メソッド 説明
AssignPChannel 1 つのパフォーマンス チャンネルをパフォーマンスに割り当て、ポート、グループ、MIDI チャンネルにマップする。
AssignPChannelBlock 16 のパフォーマンス チャンネルから成るブロックをパフォーマンスに割り当て、ポートとチャンネル グループにマップする。
PChannelInfo 指定されたパフォーマンス チャンネルのポート、グループ、MIDI チャンネルを取得する。

再生

メソッド 説明
GetSegmentState 演奏中のプライマリ セグメント状態、または特定の時点で演奏されているプライマリ セグメント状態を取得する。
IsPlaying 指定されたセグメントまたはセグメント状態がスピーカから聞こえているかどうかを確認する。
PlaySegment セグメントの再生を開始する。
PlaySegmentEx セグメントの再生を開始する。トランジションとオーディオパスのオプションを含む。
Stop セグメントまたはセグメント状態の再生を停止する。
StopEx セグメント、セグメント状態、またはオーディオパスの再生を停止する。

ポート

メソッド 説明
AddPort パフォーマンスにポートを割り当てる。
RemovePort パフォーマンスからポートを削除する。

タイミング

メソッド 説明
AdjustTime パフォーマンスの内部時間を前方または後方に調整する。
GetBumperLength メッセージがポート バッファに置かれたタイムと、ポートがメッセージの処理を開始するタイムの間の間隔を取得する。
GetLatencyTime 遅延時間を取得する。遅延時間とは、スピーカから音楽が聞こえているパフォーマンス タイムに、メッセージをキューに入れてレンダリングするための所要時間を加えたものである。
GetPrepareTime トラックがメッセージを送信してからサウンドが聞こえるまでの間隔を取得する。
GetQueueTime キューのメッセージをフラッシュ (解放) できる最も早いタイムを取得する。
GetResolvedTime 指定されたタイムを、指定された境界に調整する。
GetTime パフォーマンスの現在のタイムを取得する。
MusicToReferenceTime MUSIC_TIME フォーマットのパフォーマンス タイムを REFERENCE_TIME フォーマットのパフォーマンス タイムに変換する。
ReferenceToMusicTime REFERENCE_TIME フォーマットのパフォーマンス タイムを MUSIC_TIME フォーマットのパフォーマンス タイムに変換する。
RhythmToTime リズム タイムをミュージック タイムに変換する。
SetBumperLength メッセージがポート バッファに置かれたタイムと、ポートがメッセージの処理を開始するタイムの間の間隔を設定する。
SetPrepareTime トラックがメッセージを送信してからサウンドが聞こえるまでの間隔を設定する。
TimeToRhythm ミュージック タイムをリズム タイムに変換する。

ツールグラフ

メソッド 説明
GetGraph パフォーマンスのツールグラフを取得する。
SetGraph パフォーマンスのツールグラフを置き換える。

その他

メソッド 説明
CloseDown パフォーマンス オブジェクトを閉じる。
DownloadInstrument DLS 音色データをポートにダウンロードする。
InitAudio パフォーマンスを初期化し、オプションでデフォルトのオーディオパスをセットアップする。
Invalidate 指定されたタイムから前方に向かってキュー内のすべてのメッセージをフラッシュ (解放) し、すべてのセグメントのすべてのトラックが指定されたタイム以降のデータを再送するようにする。

要件

**  ヘッダー:**dmusici.h で宣言。

参照