5#ifndef SPLIB_SPPICOLA_H
6#define SPLIB_SPPICOLA_H
14#define SPPICOLA_VERSION_STRING "0.9.0"
15#define SPPICOLA_VERSION 0
16#define SPPICOLA_REVISION 9
17#define SPPICOLA_UPDATE_LEVEL 0
18#define SPPICOLA_VERSION_ID (SPPICOLA_VERSION * 1000 + SPPICOLA_REVISION)
20typedef struct _spPicola *spPicola;
22typedef struct _spPicolaConfig {
23 unsigned long version_id;
28 double max_input_buf_length_ms;
33extern spBool _spPicolaInitConfig(spPicolaConfig *config,
unsigned long version_id);
34extern spPicola spPicolaOpen(spPicolaConfig *config);
35extern spBool spPicolaSetRate(spPicola picola,
double rate,
long *max_input_buf_length,
long *max_output_buf_length);
36extern spBool spPicolaProcess(spPicola picola,
37 double *input_buf,
long *input_buf_length,
double *output_buf,
long *output_buf_length,
long *input_delay);
38extern spBool spPicolaFlush(spPicola picola,
double *output_buf,
long *output_buf_length);
39extern spBool spPicolaClose(spPicola picola);
41#define spPicolaInitConfig(conf) _spPicolaInitConfig(conf, SPPICOLA_VERSION_ID)