pxeasy リファレンス

真偽値について

リファレンスの解説内に (真偽値) という表記があります。これは 0 なら「偽」、0 以外なら「真」を意味します。「処理の成否 (真偽値)」とあれば、処理が成功すれば 0 以外を返し、失敗すれば 0 を返します。

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 を利用するかどうか (真偽値)
戻り値
処理の成否 (真偽値)

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 を利用するかどうか (真偽値)
戻り値
処理の成否 (真偽値)

pxeasy_Release

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

Result  __stdcall pxeasy_Release(void);
戻り値
処理の成否 (真偽値)

pxeasy_CopyLastError

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

int  __stdcall pxeasy_CopyLastError(
    char*  destination,
    int    buffer_bytes);
destination
エラー情報の文字列格納先。
buffer_bytes
格納先のバイト数。
戻り値
実際書き込んだバイト数。destination を 0 (NULL) にしていた場合は必要な格納先バイト数を返します。

利用側で文字列の格納先を作成し、そこにコピーします。データコピーだけを行うので、他の言語でも利用できる可能性があります。

pxeasy_GetChannels

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

int  __stdcall pxeasy_GetChannels(void);
戻り値
チャンネル数

pxeasy_GetSamplesPerSecond

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

int  __stdcall pxeasy_GetSamplesPerSecond(void);
戻り値
秒間サンプル数

pxeasy_GetBitsPerSample

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

int  __stdcall pxeasy_GetBitsPerSample(void);
戻り値
サンプル量子化数

pxeasy_GetSamplesPerBuffer

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

int  __stdcall pxeasy_GetSamplesPerBuffer(void);
戻り値
バッファリングのサンプル数

pxeasy_Tune_Load

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

int  __stdcall pxeasy_Tune_Load(const char*  filepath);
filepath
楽曲のファイルパス
戻り値
処理の成否 (真偽値)

pxeasy_Tune_Release

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

int  __stdcall pxeasy_Tune_Release(void);
戻り値
処理の成否 (真偽値)

pxeasy_Tune_Start

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

int  __stdcall pxeasy_Tune_Start(
    int  start_samples,
    int  fadein_milisecond);
start_samples
再生開始サンプル数
fadein_milisecond
フェードイン時間 (ミリ秒)
戻り値
処理の成否 (真偽値)

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

pxeasy_Tune_Fadeout

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

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

pxeasy_Tune_SetVolume

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

void  __stdcall pxeasy_Tune_SetVolume(
    int  volume);
volume
音量 (0 - 100)

pxeasy_Tune_Stop

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

int  __stdcall pxeasy_Tune_Stop(void);
戻り値
再生サンプル数

pxeasy_Tune_IsStreaming

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

int  __stdcall pxeasy_Tune_IsStreaming(void);
戻り値
現在再生中かどうか (真偽値)

pxeasy_SetLoop

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

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

pxeasy_Tune_GetBeatNum

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

int  __stdcall pxeasy_Tune_GetBeatNum(void);
戻り値
拍子数

pxeasy_Tune_GetBeatTempo

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

int  __stdcall pxeasy_Tune_GetBeatTempo(void);
戻り値
BPM

pxeasy_Tune_GetBeatClock

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

int  __stdcall pxeasy_Tune_GetBeatClock(void);
戻り値
クロック数

pxeasy_Tune_GetMeasNum

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

int  __stdcall pxeasy_Tune_GetMeasNum(void);
戻り値
小節数 (有効演奏小節)

pxeasy_Tune_GetRepeatMeas

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

int  __stdcall pxeasy_Tune_GetRepeatMeas(void);
戻り値
REPEAT イベントが指定されている小節

pxeasy_Tune_GetPlayMeas

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

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

pxeasy_Tune_CopyName

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

int  __stdcall pxeasy_Tune_CopyName(
    char*  destination,
    int    buffer_bytes);
destination
曲名の格納先
buffer_bytes
格納先のバイト数。
戻り値
実際書き込んだバイト数。destination を 0 (NULL) にしていた場合は必要な格納先バイト数を返します。

利用側で文字列の格納先を作成し、そこにコピーします。データコピーだけを行うので、他の言語でも利用できる可能性があります。

pxeasy_Tune_CopyComment

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

int  __stdcall pxeasy_Tune_CopyComment(
    char*  destination,
    int    buffer_bytes);
destination
コメントの格納先
buffer_bytes
格納先のバイト数。
戻り値
実際書き込んだバイト数。destination を 0 (NULL) にしていた場合は必要な格納先バイト数を返します。

利用側で文字列の格納先を作成し、そこにコピーします。データコピーだけを行うので、他の言語でも利用できる可能性があります。

pxeasy_Sound_Create

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

int  __stdcall pxeasy_Sound_Create(
    const char*  filepath,
    int          channels,
    int          samples_per_second,
    int          bits_per_sample);
filepath
ファイルパス
channels
ビルド時のチャンネル数 (1, 2)
samples_per_second
ビルド時の秒間サンプル数 (44100Hz, 22050Hz, 11025Hz)
bits_per_sample
サンプルの量子化数 (16bit, 8bit)
戻り値
音声バッファの ID。エラー時は 0 を返します。

pxtone.dll とは異なり、再生可能なサウンドバッファを生成するため、そのまま効果音再生として利用できます。

ピストンコラージュが生成されていないなどの場合は無音が生成されることもあります。再生バッファは DirectSound を利用するため、ピストンコラージュが DirectSound を利用する設定でなければなりません。この関数はエラー時の情報を pxeasy_CopyLastError で取得することができません。

pxeasy_Sound_Play

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

int  __stdcall pxeasy_Sound_Play(
    int  sound_id,
    int  priority,
    int  looping);
sound_id
音声バッファの ID
priority
再生優先度 (大きいほど優先度が高い)
looping
ループ再生を有効にするかどうか (真偽値)
戻り値
処理の成否 (真偽値)

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

pxeasy_Sound_Stop

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

int  __stdcall pxeasy_Sound_Stop(int  sound_id);
sound_id
音声バッファの ID
戻り値
処理の成否 (真偽値)

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

pxeasy_Sound_Release

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

void  __stdcall pxeasy_Sound_Release(int  sound_id);
sound_id
音声バッファの ID
戻り値
処理の成否 (真偽値)