ver.2.0 より引数・戻り値の扱いが大きく変わります。引数のチェックを行うようになり、間違った引数を渡したり、呼び出し順序を間違ったりすると処理を行わず戻り値に -1 を返します。使う方は API を呼び出す度に戻り値が -1 でないことをチェックしてください。戻り値にサンプル数や小節数、音声バッファの ID など、意味のある値を返す API も存在しますが、同様に戻り値が -1 でないことを確認してください。
pxtone.dll を読み込みます。
int __stdcall pxeasy_LoadA( const char* dllname);
読み込んだ dll を開放します。
int __stdcall pxeasy_Unload(void);
ピストンコラージュを生成します。
int __stdcall pxeasy_Ready( int channel_num, int sample_per_second, int bit_per_sample, int buffer_milisecond, int using_directsound);
すでに生成されているピストンコラージュを再設定します。
int __stdcall pxeasy_Reset( int channel_num, int sample_per_second, int bit_per_sample, int buffer_milisecond, int using_directsound);
ピストンコラージュを開放します。
Result __stdcall pxeasy_Release(void);
pxtone.dll のエラー情報を取得します。
int __stdcall pxeasy_CopyLastErrorA( char* destination, int max_count);
格納先 destination は max_count + 1 のサイズが必要です。
ピストンコラージュが設定しているチャンネル数を取得します。
int __stdcall pxeasy_GetChannels(void);
ピストンコラージュが設定している秒間サンプル数を取得します。
int __stdcall pxeasy_GetSamplingFrequency(void);
ピストンコラージュが設定しているサンプル量子化数を取得します。
int __stdcall pxeasy_SamplingBitrate(void);
ピストンコラージュがバッファするサンプル数を取得します。
int __stdcall pxeasy_GetBufferingSamples(void);
ファイルから楽曲データを読み込みます。
int __stdcall pxeasy_Tune_LoadA(const char* filepath);
読み込まれている楽曲データを開放します。
int __stdcall pxeasy_Tune_Release(void);
読み込まれた楽曲データの演奏を開始します。
int __stdcall pxeasy_Tune_Start( int start_samples, int fadein_milisecond);
再生開始サンプル数を渡すことで、その位置から再生を開始します。「サンプル」とは、PCM WAVE データの最小単位です。秒間サンプルレートから逆算もできますが、pxeasy_Tune_Stop, pxeasy_Tune_Fadeout から停止位置として取得することもできます。
演奏のフェードアウトを開始し、再生サンプル数を取得します。
int __stdcall pxeasy_Tune_Fadeout(int milisecond);
楽曲データの音量を設定します。
int __stdcall pxeasy_Tune_SetVolume( int volume);
楽曲データの演奏を停止し、再生サンプル数を取得します。
int __stdcall pxeasy_Tune_Stop(void);
楽曲データが現在演奏中かどうかを取得します。
int __stdcall pxeasy_Tune_IsStreaming(void);
楽曲データのループ再生を設定します。
void __stdcall pxeasy_Tune_SetLoop(int enable);
楽曲データの拍子数を取得します。
int __stdcall pxeasy_Tune_GetBeatCount(void);
楽曲データの BPM を取得します。
int __stdcall pxeasy_Tune_GetBeatTempo(void);
楽曲データのクロック数を取得します。
int __stdcall pxeasy_Tune_GetBeatClock(void);
楽曲の小節数を取得します。pxeasy_Tune_GetPlayMeas と同等です。
int __stdcall pxeasy_Tune_GetMeasCount(void);
楽曲データのリピート小節を取得します。
int __stdcall pxeasy_Tune_GetRepeatMeas(void);
楽曲データの有効演奏小節を取得します。
int __stdcall pxeasy_Tune_GetPlayMeas(void);
楽曲データの名称を取得します。
int __stdcall pxeasy_Tune_CopyNameA( char* destination, int max_count);
格納先 destination は max_count + 1 のサイズが必要です。
楽曲データのコメントを取得します。
int __stdcall pxeasy_Tune_CopyCommentA( char* destination, int max_count);
格納先 destination は max_count + 1 のサイズが必要です。
ピストンノイズから再生可能な音声バッファを生成し、その ID を返します。
int __stdcall pxeasy_Sound_CreateA( const char* filepath, int channels, int samples_per_second, int bits_per_sample, int play_count);
pxtone.dll とは異なり、再生可能なサウンドバッファを生成するため、そのまま効果音再生として利用できます。再生バッファは DirectSound を利用するため、ピストンコラージュが DirectSound を利用する設定でなければなりません。
音声バッファを再生します。
int __stdcall pxeasy_Sound_Play( int sound_id, int looping);
この関数はエラー時の情報を pxeasy_CopyLastError で取得することができません。
音声バッファを停止します。
int __stdcall pxeasy_Sound_Stop(int sound_id);
この関数はエラー時の情報を pxeasy_CopyLastError で取得することができません。
音量を設定します。
int __stdcall pxeasy_SoundSetVolume( int sound_id, int volume)
音量を設定します。
int __stdcall pxeasy_SoundSetPan( int sound_id, int pan)
音量を設定します。
int __stdcall pxeasy_SoundSetFrequency( int sound_id, int frequency)
音声バッファを開放します。
void __stdcall pxeasy_Sound_Release(int sound_id);