pxeasy リファレンス

引数・戻り値について

ver.2.0 より引数・戻り値の扱いが大きく変わります。引数のチェックを行うようになり、間違った引数を渡したり、呼び出し順序を間違ったりすると処理を行わず戻り値に -1 を返します。使う方は API を呼び出す度に戻り値が -1 でないことをチェックしてください。戻り値にサンプル数や小節数、音声バッファの ID など、意味のある値を返す API も存在しますが、同様に戻り値が -1 でないことを確認してください。

pxeasy_LoadA (pxeasy_LoadW)

pxtone.dll を読み込みます。

int  __stdcall pxeasy_LoadA(
      const char*  dllname);
dllname
pxtone.dll, pxtoneWin32.dll のファイルパス
戻り値
処理結果 (成功 = 0, 失敗 = -1)

pxeasy_Unload

読み込んだ dll を開放します。

int  __stdcall pxeasy_Unload(void);
戻り値
処理結果 (成功 = 0, 失敗 = -1)

pxeasy_Ready

ピストンコラージュを生成します。

int  __stdcall pxeasy_Ready(
      int  channel_num,
      int  sample_per_second,
      int  bit_per_sample,
      int  buffer_milisecond,
      int  using_directsound);
channels
チャンネル数 (2, 1)
samples_per_second
秒間サンプル数 (44100Hz, 22050Hz, 11025Hz)
bits_per_sample
サンプルの量子化数 (16bit, 8bit)
buffer_milisecond
バッファリング時間 (100 ミリ秒を推奨)
using_directsound
デバイスに DirectSound を利用するかどうか (真偽値)
戻り値
処理結果 (成功 = 0, 失敗 = -1)

pxeasy_Reset

すでに生成されているピストンコラージュを再設定します。

int  __stdcall pxeasy_Reset(
      int  channel_num,
      int  sample_per_second,
      int  bit_per_sample,
      int  buffer_milisecond,
      int  using_directsound);
channels
チャンネル数 (2, 1)
samples_per_second
秒間サンプル数 (44100Hz, 22050Hz, 11025Hz)
bits_per_sample
サンプルの量子化数 (16bit, 8bit)
buffer_milisecond
バッファリング時間 (100 ミリ秒を推奨)
using_directsound
デバイスに DirectSound を利用するかどうか (真偽値)
戻り値
処理結果 (成功 = 0, 失敗 = -1)

pxeasy_Release

ピストンコラージュを開放します。

Result  __stdcall pxeasy_Release(void);
戻り値
処理結果 (成功 = 0, 失敗 = -1)

pxeasy_CopyLastErrorA (pxeasy_CopyLastErrorW)

pxtone.dll のエラー情報を取得します。

int  __stdcall pxeasy_CopyLastErrorA(
      char*  destination,
      int    max_count);
destination
エラー情報の文字列格納先。
max_count
格納先の文字数
戻り値
実際書き込んだ文字数 (処理失敗 = -1)

格納先 destination は max_count + 1 のサイズが必要です。

pxeasy_GetChannels

ピストンコラージュが設定しているチャンネル数を取得します。

int  __stdcall pxeasy_GetChannels(void);
戻り値
チャンネル数 (処理失敗 = -1)

pxeasy_GetSamplingFrequency

ピストンコラージュが設定している秒間サンプル数を取得します。

int  __stdcall pxeasy_GetSamplingFrequency(void);
戻り値
秒間サンプル数 (処理失敗 = -1)

pxeasy_GetBitsPerSample

ピストンコラージュが設定しているサンプル量子化数を取得します。

int  __stdcall pxeasy_SamplingBitrate(void);
戻り値
サンプル量子化数 (処理失敗 = -1)

pxeasy_GetBufferingSamples

ピストンコラージュがバッファするサンプル数を取得します。

int  __stdcall pxeasy_GetBufferingSamples(void);
戻り値
バッファリングのサンプル数 (処理失敗 = -1)

pxeasy_Tune_LoadA (pxeasy_Tune_LoadW)

ファイルから楽曲データを読み込みます。

int  __stdcall pxeasy_Tune_LoadA(const char*  filepath);
filepath
楽曲のファイルパス
戻り値
処理結果 (成功 = 0, 失敗 = -1)

pxeasy_Tune_Release

読み込まれている楽曲データを開放します。

int  __stdcall pxeasy_Tune_Release(void);
戻り値
処理結果 (成功 = 0, 失敗 = -1)

pxeasy_Tune_Start

読み込まれた楽曲データの演奏を開始します。

int  __stdcall pxeasy_Tune_Start(
      int  start_samples,
      int  fadein_milisecond);
start_samples
再生開始サンプル数
fadein_milisecond
フェードイン時間 (ミリ秒)
戻り値
処理結果 (成功 = 0, 失敗 = -1)

再生開始サンプル数を渡すことで、その位置から再生を開始します。「サンプル」とは、PCM WAVE データの最小単位です。秒間サンプルレートから逆算もできますが、pxeasy_Tune_Stop, pxeasy_Tune_Fadeout から停止位置として取得することもできます。

pxeasy_Tune_Fadeout

演奏のフェードアウトを開始し、再生サンプル数を取得します。

int  __stdcall pxeasy_Tune_Fadeout(int  milisecond);
milisecond
フェードアウト時間 (ミリ秒)
戻り値
再生サンプル数 (処理失敗 = -1)

pxeasy_Tune_SetVolume

楽曲データの音量を設定します。

int  __stdcall pxeasy_Tune_SetVolume(
      int  volume);
volume
音量 (0 - 100)
戻り値
処理結果 (成功 = 0, 失敗 = -1)

pxeasy_Tune_Stop

楽曲データの演奏を停止し、再生サンプル数を取得します。

int  __stdcall pxeasy_Tune_Stop(void);
戻り値
再生サンプル数 (処理失敗 = -1)

pxeasy_Tune_IsStreaming

楽曲データが現在演奏中かどうかを取得します。

int  __stdcall pxeasy_Tune_IsStreaming(void);
戻り値
現在演奏中かどうか (停止中 = 0, 演奏中 = 1, 処理失敗 = -1)

pxeasy_SetLoop

楽曲データのループ再生を設定します。

void  __stdcall pxeasy_Tune_SetLoop(int  enable);
enable
ループ再生を有効にするかどうか (真偽値)

pxeasy_Tune_GetBeatCount

楽曲データの拍子数を取得します。

int  __stdcall pxeasy_Tune_GetBeatCount(void);
戻り値
拍子数
戻り値
処理結果 (成功 = 0, 失敗 = -1)

pxeasy_Tune_GetBeatTempo

楽曲データの BPM を取得します。

int  __stdcall pxeasy_Tune_GetBeatTempo(void);
戻り値
BPM (処理失敗 = -1)

pxeasy_Tune_GetBeatClock

楽曲データのクロック数を取得します。

int  __stdcall pxeasy_Tune_GetBeatClock(void);
戻り値
クロック数 (処理失敗 = -1)

pxeasy_Tune_GetMeasCount

楽曲の小節数を取得します。pxeasy_Tune_GetPlayMeas と同等です。

int  __stdcall pxeasy_Tune_GetMeasCount(void);
戻り値
有効演奏小節数 (処理失敗 = -1)

pxeasy_Tune_GetRepeatMeas

楽曲データのリピート小節を取得します。

int  __stdcall pxeasy_Tune_GetRepeatMeas(void);
戻り値
REPEAT イベントが指定されている小節 (処理失敗 = -1)

pxeasy_Tune_GetPlayMeas

楽曲データの有効演奏小節を取得します。

int  __stdcall pxeasy_Tune_GetPlayMeas(void);
戻り値
LAST イベントが指定されている小節か、最後の小節 (処理失敗 = -1)

pxeasy_Tune_CopyNameA (pxeasy_Tune_CopyNameW)

楽曲データの名称を取得します。

int  __stdcall pxeasy_Tune_CopyNameA(
      char*  destination,
      int    max_count);
destination
曲名の格納先
max_count
格納先の文字数
戻り値
実際書き込んだ文字数 (処理失敗 = -1)

格納先 destination は max_count + 1 のサイズが必要です。

pxeasy_Tune_CopyCommentA (pxeasy_Tune_CopyCommentW)

楽曲データのコメントを取得します。

int  __stdcall pxeasy_Tune_CopyCommentA(
      char*  destination,
      int    max_count);
destination
コメントの格納先
max_count
格納先の文字数
戻り値
実際書き込んだ文字数 (処理失敗 = -1)

格納先 destination は max_count + 1 のサイズが必要です。

pxeasy_Sound_CreateA (pxeasy_Sound_CreateW)

ピストンノイズから再生可能な音声バッファを生成し、その ID を返します。

int  __stdcall pxeasy_Sound_CreateA(
      const char*  filepath,
      int          channels,
      int          samples_per_second,
      int          bits_per_sample,
      int          play_count);
filepath
ファイルパス
channels
ビルド時のチャンネル数 (1, 2)
samples_per_second
ビルド時の秒間サンプル数 (44100Hz, 22050Hz, 11025Hz)
bits_per_sample
サンプルの量子化数 (16bit, 8bit)
play_count
同時再生数 (1 〜 16)
戻り値
音声バッファの ID (処理失敗 = -1)。

pxtone.dll とは異なり、再生可能なサウンドバッファを生成するため、そのまま効果音再生として利用できます。再生バッファは DirectSound を利用するため、ピストンコラージュが DirectSound を利用する設定でなければなりません。

pxeasy_Sound_Play

音声バッファを再生します。

int  __stdcall pxeasy_Sound_Play(
      int  sound_id,
      int  looping);
sound_id
音声バッファの ID
looping
ループ再生を有効にするかどうか (真偽値)
戻り値
処理結果 (成功 = 0, 失敗 = -1)

この関数はエラー時の情報を pxeasy_CopyLastError で取得することができません。

pxeasy_Sound_Stop

音声バッファを停止します。

int  __stdcall pxeasy_Sound_Stop(int  sound_id);
sound_id
音声バッファの ID
戻り値
処理結果 (成功 = 0, 失敗 = -1)

この関数はエラー時の情報を pxeasy_CopyLastError で取得することができません。

pxeasy_Sound_SetVolume

音量を設定します。

int  __stdcall pxeasy_SoundSetVolume(
      int  sound_id,
      int  volume)
sound_id
音声バッファの ID
volume
音量 (0 〜 100)
戻り値
処理結果 (成功 = 0, 失敗 = -1)

pxeasy_Sound_SetPan

音量を設定します。

int  __stdcall pxeasy_SoundSetPan(
      int  sound_id,
      int  pan)
sound_id
音声バッファの ID
pan
パン (-100 〜 100)
戻り値
処理結果 (成功 = 0, 失敗 = -1)

pxeasy_Sound_SetFrequency

音量を設定します。

int  __stdcall pxeasy_SoundSetFrequency(
      int  sound_id,
      int  frequency)
sound_id
音声バッファの ID
frequency
周波数 (100 〜 10000, 0 ならデフォルト周波数)
戻り値
処理結果 (成功 = 0, 失敗 = -1)

pxeasy_Sound_Release

音声バッファを開放します。

void  __stdcall pxeasy_Sound_Release(int  sound_id);
sound_id
音声バッファの ID
戻り値
処理結果 (成功 = 0, 失敗 = -1)
戻る