PMDRC.DLL インターフェース
#include "pmdrcif.h"
T_OPIF *pmdrc_dllmain( T_OPIF *TP_INDATA );
T_OPIF *pmdrc_dllfreem( T_OPIF *TP_INDATA );
インターフェースバージョンを記述する。アプリケーション側で指定したインターフェースバージョンがライブラリ側と一致しない場合、エラーとなる。 | |||||||||||||||||||||||||||||||
アプリケーションバージョンを記述する。アプリケーション側で指定したアプリケーションバージョンがライブラリ側で対応していない場合、エラーとなる。 | |||||||||||||||||||||||||||||||
アプリケーションタイプを記述する。現時点ではアプリケーションタイプに応じた処理を行っていないため、DO_APTYPE_UKを指定すること。 | |||||||||||||||||||||||||||||||
実行時にライブラリによりライブラリバージョンが記述される。 | |||||||||||||||||||||||||||||||
MML出力レベルを指定する。出力されるMMLに影響を与える。設定値は以下のとおり。 2 : DN_OL_DETAIL 音色のループアドレスを含め表示し得る全MMLを出力する。 3 : DN_OL_NORMAL 音長・音程に影響を与えるMMLと音色番号を出力する。 4 : DN_OL_FRAME 音長・音程に影響を与えるMMLのみ出力する。 5 : DN_OL_THROUGH 何も出力しない。 | |||||||||||||||||||||||||||||||
ダンプ出力レベルを指定する。出力されるダンプリストに影響を与える。設定値は以下のとおり。 0 : DN_DL_NODUMP ダンプを出力しない。 1 : DN_DL_FRAMEDUMP フレームダンプを出力する。 2 : DN_DL_SUPERDUMP スーパーダンプを出力する。 3 : DN_DL_BOTHDUMP フレームダンプ・スーパーダンプを出力する。 | |||||||||||||||||||||||||||||||
FM音色データ出力レベルを指定する。出力される音色データリストに影響を与える。設定値は以下のとおり。 0 : DA_OFF 出力しない。 1 : DA_ON 出力する。 2 : DA_TX81ZVOICE YAMAHA製FM音源モジュール 「V2」「V50」「TX81Z」向けに変換・編集して出力する。 | |||||||||||||||||||||||||||||||
PMD定義データ出力レベルを指定する。出力されるPMD定義リストに影響を与える。設定値は以下のとおり。 0 : DA_OFF 出力しない。 255 : DA_ALL すべて出力する。 1 : DA_DEFL_NORMAL 一般情報(下記のものを除いたもの)のみ出力する。 2 : DA_DEFL_PARTEXTEND パート増設関連(#PPZ/FM3Extend)のみ出力する。 | |||||||||||||||||||||||||||||||
クロックで表されている音長を音楽的表現に変換する際に基準となる、全音符の長さ。PMD標準は96で、FMP標準は128である。ゼロを指定した場合、DLLデフォルト値(バージョンごとに不定)または自動算出された値が採用される。 | |||||||||||||||||||||||||||||||
標準的な音長をクロック単位で指定する。PMD・FMPMMLの「l」コマンドで指定する値。i_zenlenよりも小さい値を設定する必要がある。ゼロを指定した場合、 | |||||||||||||||||||||||||||||||
音長を音楽的に表現する最短のクロック数。i_zenlenの約数を設定する必要がある。ゼロを指定した場合、DLLデフォルト値(バージョンごとに不定)または自動算出された値が採用される。 | |||||||||||||||||||||||||||||||
3連符における音長を音楽的に表現する最短のクロック数。i_zenlenの約数を設定する必要がある。ゼロを指定した場合、DLLデフォルト値(バージョンごとに不定)または自動算出された値が採用される。 | |||||||||||||||||||||||||||||||
小節線処理レベルを指定する。小節の長さにはi_zenlenが使用される。出力されるMML(音長)に影響を与える。設定値は以下のとおり。 0 : DA_OFF 小節線分割処理を行わない。 1 : DA_AUTO 小節線分割処理する/しないを自動で判断し、行う。 2 : DA_FORCED 小節線分割処理を強制的に行う。 小節の長さにはi_zenlenが使用されているが、これは変更する可能性がある。 | |||||||||||||||||||||||||||||||
小節線処理自動レベルを指定する。小節線処理における起点の設定を、自動判断するか、データ先頭に設定するかを選択できる。設定値は以下のとおり。 0 : DN_BARSTART_AUTO 小節線処理の起点を自動で設定する(1の場合と同じ)。 1 : DN_BARSTART_MARKL 小節線処理の起点を自動で設定する。 2 : DN_BARSTART_TOP 小節線処理の起点をデータ先頭に設定する。 | |||||||||||||||||||||||||||||||
未使用 | |||||||||||||||||||||||||||||||
未使用 | |||||||||||||||||||||||||||||||
未使用 | |||||||||||||||||||||||||||||||
小節線処理を行う際、小節の起点に対するオフセットを指定する。小節線処理を行う最初のポイントを演奏開始からのクロック数にて指定する。 | |||||||||||||||||||||||||||||||
解析を行うPMDデータのアドレスを指定する。PMDデータはメモリ上に展開されたもので、終端は設けない(ライブラリはデータの終端をPMDデータ内部情報から特定する)。データフォーマットが壊れている場合及びDLLが未対応のデータをここに指定した場合、アプリケーションは異常終了する(DLLで保護はしていない)。 | |||||||||||||||||||||||||||||||
ライブラリが実行結果を記述する。結果の内容は以下の通り。
| |||||||||||||||||||||||||||||||
DLL内部での制御メッセージを、標準エラー出力にリアルタイム出力するかしないかを指定する。呼び出し元のアプリケーションがコマンドラインプログラムである場合に使う。設定値は以下の通り。 0:DA_OFF:出力しない 1:DA_ON:出力する ただし、どちらの設定でも、メッセージ出力バッファ(cps_out[0])には書き込まれる。 | |||||||||||||||||||||||||||||||
ライブラリにより、実行時メッセージ出力バッファアドレスが設定される。NULLの場合は、当該バッファにデータが出力されていないことを示す(通常、一部のインターフェースエラー発生時等を除き、処理の正常・異常を問わず、必ず出力される)。 使用後、このアドレスは pmdrc_dllfreem( ) にて解放する必要がある。 | |||||||||||||||||||||||||||||||
ライブラリにより、MML出力バッファアドレスが設定される。NULLの場合は、当該バッファにデータが出力されていないことを示す。 使用後、このアドレスは pmdrc_dllfreem( ) にて解放する必要がある。 | |||||||||||||||||||||||||||||||
ライブラリにより、フレームダンプ出力バッファアドレスが設定される。NULLの場合は、当該バッファにデータが出力されていないことを示す。フレームダンプとは、「各演奏チャンクの命令コードのみを表示する」ダンプである。 使用後、このアドレスは pmdrc_dllfreem( ) にて解放する必要がある。 | |||||||||||||||||||||||||||||||
ライブラリにより、スーパーダンプ出力バッファアドレスが設定される。NULLの場合は、当該バッファにデータが出力されていないことを示す。スーパーダンプとは、「全チャンクにおける詳細情報とステップカウンタを表示する」ダンプである。 使用後、このアドレスは pmdrc_dllfreem( ) にて解放する必要がある。 | |||||||||||||||||||||||||||||||
ライブラリにより、FM音色定義出力バッファアドレスが設定される。NULLの場合は、当該バッファにデータが出力されていないことを示す。 使用後、このアドレスは pmdrc_dllfreem( ) にて解放する必要がある。 | |||||||||||||||||||||||||||||||
ライブラリにより、PMD定義出力バッファアドレスが設定される。NULLの場合は、当該バッファにデータが出力されていないことを示す。 使用後、このアドレスは pmdrc_dllfreem( ) にて解放する必要がある。 |