BASS_FX_BPM_DecodeGet

BASS FX

BASS_FX_BPM_DecodeGet

Get the BPM value of a decoding channel.

float BASS_FX_BPM_DecodeGet(
    DWORD chan,
    double startSec,
    double endSec,
    DWORD minMaxBPM,
    DWORD flags,
    BPMPROGRESSPROC *proc,
    void *user

);

Parameters

chanStream/music/wma/cd/any other supported add-on format using a decoding channel
startSecStart detecting position in seconds
endSec End detecting position in seconds
minMaxBPMSet min & max bpm, e.g: MAKELONG(LOWORD.HIWORD), LO=Min, HI=Max. 0 = defaults 29/200
flagsBASS_FX_BPM_xxx or BASS_FX_FREESOURCE
procUser defined function to receive the detection progress in percents, use NULL if not in use
user User instance data to pass to the callback function.

Return value
If successful, the original BPM value is returned, else -1 is returned. Use BASS_ErrorGetCode to get the error code.

Remarks
BASS_FX_BPM_BKGRND flag is supported only in Windows platforms.

Error codes

BASS_ERROR_HANDLE chan is not valid
BASS_ERROR_DECODE    The chan is not a decoding channel. Make sure the chan was created using BASS_STREAM_DECODE / BASS_MUSIC_DECODE flag
BASS_ERROR_ILLPARAM An illegal parameter was specified
BASS_ERROR_ALREADY BPM detection, for this chan, is already being processed

See also
BASS_FX_BPM_CallbackSet, BASS_FX_BPM_CallbackReset, BASS_FX_BPM_Translate, BASS_FX_BPM_Free