Platform SDK: DirectX

ステップ 1 : パフォーマンスとローダーの作成

[C++]

ここでは、DirectX for Visual Basic でのアプリケーション開発について説明する。C++ については、「DirectMusic C/C++ チュートリアル」を参照すること。

[Visual Basic]

DirectMusic アプリケーションの中心となるオブジェクトは、DirectMusicPerformance クラスのインスタンスである。異なるテンポなどを使って別のポートで演奏する複数のパフォーマンスを使用することもできるが、ほとんどのアプリケーションは、パフォーマンス オブジェクトを 1 つだけ必要とする。ミュージック データをロードするには、アプリケーションに DirectMusicLoader オブジェクトも必要である。

これらのオブジェクトを作成するには、まずグローバル DirectX7 オブジェクトを宣言しなければならない。

次のグローバル宣言では、DirectX7 オブジェクトと、ほかの必要なオブジェクト用の変数が作成される。

Public gObjDX As New DirectX7
Public gObjDMLoader As DirectMusicLoader
Public gObjDMPerformance As DirectMusicPerformance

起動時のコードで、パフォーマンスおよびローダー オブジェクトを次のように作成する。

Set gObjDMLoader = gObjDX.DirectMusicLoaderCreate
Set gObjDMPerformance = gObjDX.DirectMusicPerformanceCreate

また、パフォーマンスを初期化して、これにポートを割り当てなければならない。次のコードでは、パフォーマンスに独自の DirectSound オブジェクトを作成させ、デフォルト ポートを割り当てている。デフォルト ポートは、常に、Microsoft Software Synthesizer または DLS 対応のハードウェア シンセサイザのどちらかである。MIDI ファイルでは最大で 16 のチャンネルが必要となるため、1 つのチャンネル グループがポートに割り当てられる。その他の種類のセグメントも演奏するアプリケーションでは、この数を増やさなければならない場合がある。

' hWnd は、メイン フォームのウィンドウ ハンドルである。
Call gObjDMPerformance.Init(Nothing, hWnd)
Call gObjDMPerformance.SetPort(-1, 1)

次項 : ステップ 2 : MIDI ファイルのロード