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)