00001
00002
00003
00004
00005
00006
00007
00008
00009
00010
00011
00012
00013
00014
00015
00016
00017
00018
00019
00020
00021
00022 #ifndef __PORTAUDIOUTILS__
00023 #define __PORTAUDIOUTILS__
00024
00025 #include <portaudio.h>
00026 #include <cstdlib>
00027 #include <cstring>
00028 #include "Err.hxx"
00029
00030 namespace CLAM
00031 {
00032
00033 typedef int (*PortAudioCallback)(
00034 const void *inputBuffer, void *outputBuffer,
00035 unsigned long framesPerBuffer,
00036 const PaStreamCallbackTimeInfo *timeInfo,
00037 PaStreamCallbackFlags statusFlags, void *userData ) ;
00038
00039
00040
00041 class ErrPortAudio : public Err
00042 {
00043 public:
00044 ErrPortAudio( const char* msg ) throw();
00045
00046 ErrPortAudio( const char* msg, PaError err ) throw();
00047
00048 };
00049
00050 #define CHECK_PA_ERROR( msg, errval ) if ( errval != paNoError) throw ErrPortAudio( msg, errval );
00051
00052
00053 }
00054
00055 #endif // PortAudioUtils.hxx
00056