pxeasy.dll::pxeasyHelper_API

pxeasyHelper_API

pxeasyHelper_ の接頭語を持つ API です。pxtone.dll の API をより他の言語で扱いやすくしたインターフェースがあります。

Result 型

typedef  int  Result;

Result ==  1 : 正常終了
Result ==  0 : pxtone.dll の API エラー
Result == -1 : pxeasy.dll の API エラー

API の処理結果を返します。pxtone.dll では BOOL 型でしたが、pxeasy.dll の独自エラーが発生する可能性があるので、Result 型というものを使います。

BOOL 型

typedef  int  BOOL;

Result != 0 : 真
Result == 0 : 偽

真偽を表します。0以外は真、0は偽になります。

BufferId 型

typedef  int  BufferId;

Result >   0 : 再生バッファ ID
Result ==  0 : pxtone.dll の API エラー
Result == -1 : pxeasy.dll の API エラー

ピストンノイズを再生するための再生バッファへの ID です。

pxeasyHelper_Ready

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 を使ってください。

pxeasyHelper_Reset

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 で生成されたピストンコラージュを再設定します。

pxeasyHelper_Release

Result  __stdcall pxeasyHelper_Release(void);

@return  : API 処理結果

pxeasyHelper_Ready で生成されたピストンコラージュを開放します。

pxeasyHelper_CopyLastError

BOOL  __stdcall pxplain_CopyLastError(char*   destination,
                                      size_t  bytecount);

@param  destination  : pxtone.dll の API エラー詳細文字列格納先
@param  bytecount    : 書き込み可能な文字列のバイト数 (0バイトなら十分なサイズがあると解釈)
@return              : バイト数不足で書き込み切れなかったら偽を返す

pxplain_GetLastError をコピーで取得します。

利用側で文字列の格納先を作成し、そこにコピーしてもらうことで pxplain_GetLastError の情報を取得します。データをコピーするだけの処理なので、文字列の扱いが C/C++ と異なる他の言語でも利用できる可能性があります。

pxeasyHelper_Tune_CopyName

BOOL  __stdcall pxeasyHelper_Tune_CopyName(char*   destination,
                                           size_t  bytecount);

@param  destination  : 楽曲名文字列格納先
@param  bytecount    : 書き込み可能な文字列のバイト数 (0バイトなら十分なサイズがあると解釈)
@return              : バイト数不足で書き込み切れなかったら偽を返す

pxeasy_Tune_GetName をコピーで取得します。

利用側で文字列の格納先を作成し、そこにコピーしてもらうことで pxeasy_Tune_GetName の情報を取得します。データをコピーするだけの処理なので、文字列の扱いが C/C++ と異なる他の言語でも利用できる可能性があります。

pxeasyHelper_Tune_CopyComment

BOOL  __stdcall pxeasyHelper_Tune_CopyComment(char*   destination,
                                              size_t  bytecount);
@param  destination  : コメント文字列格納先
@param  bytecount    : 書き込み可能な文字列のバイト数 (0バイトなら十分なサイズがあると解釈)
@return              : バイト数不足で書き込み切れなかったら偽を返す

pxeasy_Tune_GetComment をコピーで取得します。

利用側で文字列の格納先を作成し、そこにコピーしてもらうことで pxeasy_Tune_GetComment の情報を取得します。データをコピーするだけの処理なので、文字列の扱いが C/C++ と異なる他の言語でも利用できる可能性があります。

もし、コメントに何も書いていなければ空文字をコピーして返します。

pxeasyHelper_Tune_GetPlayClock

long  __stdcall pxeasyHelper_Tune_GetPlayClock(void);

@return  : 再生クロック数

現在の再生クロック数を取得します。これは本来 PXTONEPLAY_CALLBACK 内で取得できる情報ですが、コールバックの利用が不可能なのでこの関数で代わりに取得することができます。

楽曲データが再生中でなければ意味のない不定な値です。

pxeasyHelper_Noise_Create

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 を返します。また、ピストンコラージュが生成されていないなどの場合は無音が書き込まれます。

pxeasyHelper_Noise_Play

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 処理結果

ピストンノイズ再生バッファを再生します。

pxeasyHelper_Noise_Stop

Result  __stdcall pxeasyHelper_Noise_Stop(BufferId  buffer_id);

@param  buffer_id  : ピストンノイズ再生バッファ ID
@return            : API 処理結果

ピストンノイズ再生バッファを停止します。

pxeasyHelper_Noise_Release

Result  __stdcall pxeasyHelper_Noise_Release(BufferId  buffer_id);

@param  buffer_id  : ピストンノイズ再生バッファ ID
@return            : API 処理結果

ピストンノイズ再生バッファを開放します。

return pxeasy.dll