PMDRCC サンプル
PMDRCCは、PMD演奏データを逆コンパイルしMMLを生成するアプリケーションである。PMDRCコアであるPMDRC.DLLをコールし、その機能を提供している。
PMDRCCは、コマンドラインアプリケーションであるともに、PMDRC.DLL利用のためのサンプルであるため、ソースファイルを公開している。
PMDRCコア呼び出し手順
以下に、C言語におけるPMDRC.DLLの利用手順を示す。
共通インクルードファイル定義
共通インクルードファイルをインクルードする。共通インクルードファイルはコア内部のエクスポート関数プロトタイプや、インターフェース構造体定義等が記述されている。当ページからダウンロード可能である。
PMDデータファイル読み込み
任意のシステムコールを使用し、PMDデータファイルを読み込む。
DLLのロード
LoadLibrary() 関数を使用して、PMDRC.DLLをロードする。
関数アドレスの取得
GetProcAddr() 関数を使用して、エクスポート関数のアドレスを取得する。使用する関数は処理により異なる。
定義構造体の内容設定
定義構造体である T_OPIF 型構造体をメモリ上に確保し、内容をセットする。セットすべき内容に関してはPMDRCインターフェースを参照すること。ここではpmdrc_dllmain/pmdrc_dllfreem関数を使用するものとする。
処理メイン関数コール
DLLから取得したpmdrc_dllmain関数をコールし、処理を行う。関数の引数・戻り値に関してはPMDRCインターフェースを参照すること。
表示
DLLから返されたリザルトコードをチェックし、問題がなければ画面上に表示(またはファイルに出力)する。
メモリの解放
DLL内で取得し、呼び元のアプリケーションに渡したメモリを解放するため、pmdrc_dllfreem関数をコールする。
ライブラリの解放
終了する前にFreeLibrary関数を使用し、ロードしたPMDRC.DLLをアンロードする。
ダウンロード
当ダウンロードファイルは以下の内容を含む。
・pmdrcc.c (PMDRCC.EXE ソースファイル)
・pmdrcif.h (PMDRCインクルードファイル)
・f2pcvif.h (F2PCVインクルードファイル)
・comcvif.h (共通インクルードファイル)
※ PMDRC.DLL/F2PCV.DLLを利用してアプリケーション開発を行う場合、上記インクルードファイルが必要となる。