--- DirectMusic for Managed Support Library 1.0.0 --- =-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-= 概要  このライブラリは、.NET ベースのプログラミング言語で DirectX の DirectMusic を、COM を直接扱うこと無しに使用できるようにした、 一種のラッパーライブラリです。  Microsoft 社が提供している Managed DirectX には DirectMusic 関連の クラスなどが存在しないため、DirectMusic をマネージコードのみで 使用したい場合、このライブラリが便利です。  ※ 現在このライブラリはベータ版です。理由としては、すべての    デバッグを行っていないためで、ベータ版のままバージョンアップ    していく可能性もあります。 =-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-= ファイルの一覧 [インストーラ ファイル] ・InstDMM.msi  Windows Installer を利用したインストーラバイナリです。 ・setup.exe  コンポーネントをチェックし、InstDMM.msi の起動に不足している  ファイルがあれば、それをインストールします。  (Windows Installer 2.0 がインストールされるかは不明です。) [インストールされるファイル] ・DMM.dll  ライブラリ本体が含まれる DLL (.NET アセンブリ) です。 ・DMM.pdb  上記 DLL のデバッグ情報ファイルです。 ・TestApp.exe  テストアプリケーションです。 ・HomeOn.mid  テストアプリケーションで再生する MIDI ファイルです。 ・Main.vb  TestApp.exe のソースコードです。(プロジェクトファイルを除く)  曲を再生するだけのコードが書かれています。 ・DMM.txt  この説明ファイルです。 =-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-= インストール・アンインストール ・インストールは、InstDMM.msi を開いて実行してください。  この実行には、Windows Installer 2.0 以降が必要です。  ※ インストールには、管理者権限が必要です。 ・アンインストールは、「プログラム(アプリケーション)の追加と削除」  から行うか、InstDMM.msi から「アンインストール」を行ってください。  DLL ファイルを直接削除しないでください。 =-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-= 動作環境 ・Windows 98/Me や Windows NT 4.0/2000/XP 以降が必要です。 ・.NET Framework 2.0 と、Managed DirectX 1.0 がインストール  されている必要があります。これらが無いと動作しません。  この2つがインストールされていれば、どの Windows でも  動作すると思われます。 ・ライブラリを使用するのに必要な言語は、.NET ベースであれば  Visual Basic.NET、C# など、どれでも構いません。 =-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-= 使い方  インストールが完了すると、Program Files\Kuri-Applications フォルダ下に「DirectMusic for Managed」というフォルダが作成されます。 一連のファイルはすべてここにインストールされています。なお、 DLL はアセンブリとして登録されています。  また、「スタート」メニューの「プログラム」にもメニューが作成され、 「Test アプリケーション」を実行すると、正しくインストールされている 場合は曲(HomeOn.mid)が流れます。  このライブラリを実際に使用する場合は、ビルド時に「DMM.dll」 という名前のアセンブリを参照してください。このファイルは .NET アセンブリのあるフォルダ(グローバル アセンブリ キャッシュ フォルダ)に含まれます。(したがって、以下の名前空間を指定するだけで DLL が検索されるようになります。)  ライブラリの名前空間は NativeManagement.DirectX.DirectMusic となり、この中にクラスなどが入っています。  なお、以下のライブラリも追加で参照する必要があります。 ・System.Windows.Forms.dll ・Microsoft.DirectX.dll ・Microsoft.DirectX.DirectSound.dll =-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-= その他 ・このライブラリでは、DirectMusic の動作にあわせて、DirectSound の  クラスライブラリも使用できるようになっています。例えば、  Performance.Init メソッドでは Microsoft.DirectX.DirectSound.Device  オブジェクトも指定できます。また AudioPath.GetObjectInPath  メソッドでは適切な GUID を指定することにより、DirectSound の  エフェクトクラス オブジェクトも取得できます。 ・MusicTime、ReferenceTime、MusicValue の各構造体は、時間の  数値演算を目的として定義されているので、通常の四則演算等が  そのまま行えます。 ・PMsg クラスとその派生クラス、PMsgHandle 構造体は、  メモリを自動的に破棄しません。Performance クラスのメソッドを  用いて明示的に破棄してください。 ・NativeBuffer クラスはアンマネージバッファの簡易読み書きを  サポートしています。 ・DMusicConstants 列挙体は、このライブラリで用いることができる、  列挙体では無い定数をすべてまとめています。それぞれの値同士に  関係はほとんどありません。 ・DMusicHelper クラスは、上記の GetObjectInPath などでも使用できる  GUID を、スタティック読み取り専用フィールドとして定義しています。 ・Tool クラス、Track クラスはユーザーによる実装をサポートしています。 ・以下のインターフェイスは現在サポートしていません。  IDirectMusicGetLoader(8)  IDirectMusicSynth  IDirectMusicSynthSink  また、一部のメソッドや構造体もサポートしていません。 ・現在、リファレンスを含むヘルプファイルは作成していません。  ほとんどのクラスは C++ のインターフェイスと似ているので、  対応するインターフェイスのリファレンスを参照してください。 ・エラーメッセージは、例外はスローしますがほとんど省略されています。 =-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-= ・Microsoft、DirectX、DirectMusic などは Microsoft 社の登録商標です。 =-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-= 更新履歴 Version 1.0.0.1 (初期バージョン。とりあえず Beta 版とする) =-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-= ホームページ: http://pf-j.sakura.ne.jp/ 作者: ジェット