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をアンロードする。


ダウンロード

PMDRC101cS.LZH(PMDRCC.C等 Ver.1.01c)


 当ダウンロードファイルは以下の内容を含む。

・pmdrcc.c (PMDRCC.EXE ソースファイル)
・pmdrcif.h (PMDRCインクルードファイル)

・f2pcvif.h (F2PCVインクルードファイル)

・comcvif.h (共通インクルードファイル)

※ PMDRC.DLL/F2PCV.DLLを利用してアプリケーション開発を行う場合、上記インクルードファイルが必要となる。