pxeasyHelper_ の接頭語を持つ API です。pxtone.dll の API をより他の言語で扱いやすくしたインターフェースがあります。
typedef int Result; Result == 1 : 正常終了 Result == 0 : pxtone.dll の API エラー Result == -1 : pxeasy.dll の API エラー
API の処理結果を返します。pxtone.dll では BOOL 型でしたが、pxeasy.dll の独自エラーが発生する可能性があるので、Result 型というものを使います。
typedef int BOOL; Result != 0 : 真 Result == 0 : 偽
真偽を表します。0以外は真、0は偽になります。
typedef int BufferId; Result > 0 : 再生バッファ ID Result == 0 : pxtone.dll の API エラー Result == -1 : pxeasy.dll の API エラー
ピストンノイズを再生するための再生バッファへの ID です。
Result __stdcall pxeasyHelper_Ready(long channel_num, long sample_per_second, long bit_per_sample, float buffer_second, BOOL use_directsound); @param channel_num : チャンネル数 (1: モノラル, 2: ステレオ) @param sample_per_second : 秒間サンプルレート (44100, 22050, 11025 Hz) @param bit_per_sample : サンプル量子化数 (16, 8 bit) @param buffer_second : バッファリング時間 (1.0 秒を推奨) @param use_directsound : DirectSound を利用するかどうか @return : API 処理結果
ウィンドウなしでピストンコラージュを生成します。
内部でウィンドウを処理しているので、ウィンドウが必要ありません。開放する場合は必ず pxeasyHelper_API を使ってください。
Result __stdcall pxeasyHelper_Reset(long channel_num, long sample_per_second, long bit_per_sample, float buffer_second, BOOL use_directsound); @param channel_num : チャンネル数 (1: モノラル, 2: ステレオ) @param sample_per_second : 秒間サンプルレート (44100, 22050, 11025 Hz) @param bit_per_sample : サンプル量子化数 (16, 8 bit) @param buffer_second : バッファリング時間 (1.0 秒を推奨) @param use_directsound : DirectSound を利用するかどうか @return : API 処理結果
pxeasyHelper_Ready で生成されたピストンコラージュを再設定します。
Result __stdcall pxeasyHelper_Release(void); @return : API 処理結果
pxeasyHelper_Ready で生成されたピストンコラージュを開放します。
BOOL __stdcall pxplain_CopyLastError(char* destination, size_t bytecount); @param destination : pxtone.dll の API エラー詳細文字列格納先 @param bytecount : 書き込み可能な文字列のバイト数 (0バイトなら十分なサイズがあると解釈) @return : バイト数不足で書き込み切れなかったら偽を返す
pxplain_GetLastError をコピーで取得します。
利用側で文字列の格納先を作成し、そこにコピーしてもらうことで pxplain_GetLastError の情報を取得します。データをコピーするだけの処理なので、文字列の扱いが C/C++ と異なる他の言語でも利用できる可能性があります。
BOOL __stdcall pxeasyHelper_Tune_CopyName(char* destination, size_t bytecount); @param destination : 楽曲名文字列格納先 @param bytecount : 書き込み可能な文字列のバイト数 (0バイトなら十分なサイズがあると解釈) @return : バイト数不足で書き込み切れなかったら偽を返す
pxeasy_Tune_GetName をコピーで取得します。
利用側で文字列の格納先を作成し、そこにコピーしてもらうことで pxeasy_Tune_GetName の情報を取得します。データをコピーするだけの処理なので、文字列の扱いが C/C++ と異なる他の言語でも利用できる可能性があります。
BOOL __stdcall pxeasyHelper_Tune_CopyComment(char* destination, size_t bytecount); @param destination : コメント文字列格納先 @param bytecount : 書き込み可能な文字列のバイト数 (0バイトなら十分なサイズがあると解釈) @return : バイト数不足で書き込み切れなかったら偽を返す
pxeasy_Tune_GetComment をコピーで取得します。
利用側で文字列の格納先を作成し、そこにコピーしてもらうことで pxeasy_Tune_GetComment の情報を取得します。データをコピーするだけの処理なので、文字列の扱いが C/C++ と異なる他の言語でも利用できる可能性があります。
もし、コメントに何も書いていなければ空文字をコピーして返します。
long __stdcall pxeasyHelper_Tune_GetPlayClock(void); @return : 再生クロック数
現在の再生クロック数を取得します。これは本来 PXTONEPLAY_CALLBACK 内で取得できる情報ですが、コールバックの利用が不可能なのでこの関数で代わりに取得することができます。
楽曲データが再生中でなければ意味のない不定な値です。
BufferId __stdcall pxeasyHelper_Noise_Create(const char* source_name, const char* resource_typename, long channel_num, long sample_per_second, long bit_per_sample); @param source_name : ソース名 @param resource_typename : リソースタイプ名 @param channel_num : チャンネル数 (1: モノラル, 2: ステレオ) @param sample_per_second : 秒間サンプル数 (44100, 22050, 11025 Hz) @param bit_per_sample : サンプル量子化数 (16, 8 bit) @return : ピストンノイズ再生バッファ ID
ピストンノイズから再生可能なサウンドバッファを生成し、その ID を返します。
pxtone.dll とは異なり、再生可能なサウンドバッファを生成するため、そのまま効果音再生として利用できます。
ファイルが見つからないなどのエラー発生時は戻り値に 0, -1 を返します。また、ピストンコラージュが生成されていないなどの場合は無音が書き込まれます。
Result __stdcall pxeasyHelper_Noise_Play(BufferId buffer_id, unsigned long priority, BOOL enable_loop); @param buffer_id : ピストンノイズ再生バッファ ID @param priority : 再生優先度 (32bit の符号なし整数値範囲内) @param enable_loop : ループ再生を有効にするかどうか @return : API 処理結果
ピストンノイズ再生バッファを再生します。
Result __stdcall pxeasyHelper_Noise_Stop(BufferId buffer_id); @param buffer_id : ピストンノイズ再生バッファ ID @return : API 処理結果
ピストンノイズ再生バッファを停止します。
Result __stdcall pxeasyHelper_Noise_Release(BufferId buffer_id); @param buffer_id : ピストンノイズ再生バッファ ID @return : API 処理結果
ピストンノイズ再生バッファを開放します。