Platform SDK: DirectX |
ここでは、DirectX for Visual Basic でのアプリケーション開発について説明する。C++ については、「DirectMusic C/C++ チュートリアル」を参照すること。
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)