Mercurial > hg > sv-dependency-builds
annotate src/portaudio/bindings/cpp/include/portaudiocpp/CallbackInterface.hxx @ 98:4188fd8db918
Add Rubber Band build
author | Chris Cannam <cannam@all-day-breakfast.com> |
---|---|
date | Wed, 20 Mar 2013 15:58:55 +0000 |
parents | 8a15ff55d9af |
children |
rev | line source |
---|---|
cannam@89 | 1 #ifndef INCLUDED_PORTAUDIO_CALLBACKINTERFACE_HXX |
cannam@89 | 2 #define INCLUDED_PORTAUDIO_CALLBACKINTERFACE_HXX |
cannam@89 | 3 |
cannam@89 | 4 // --------------------------------------------------------------------------------------- |
cannam@89 | 5 |
cannam@89 | 6 #include "portaudio.h" |
cannam@89 | 7 |
cannam@89 | 8 // --------------------------------------------------------------------------------------- |
cannam@89 | 9 |
cannam@89 | 10 namespace portaudio |
cannam@89 | 11 { |
cannam@89 | 12 // ----------------------------------------------------------------------------------- |
cannam@89 | 13 |
cannam@89 | 14 ////// |
cannam@89 | 15 /// @brief Interface for an object that's callable as a PortAudioCpp callback object (ie that implements the |
cannam@89 | 16 /// paCallbackFun method). |
cannam@89 | 17 ////// |
cannam@89 | 18 class CallbackInterface |
cannam@89 | 19 { |
cannam@89 | 20 public: |
cannam@89 | 21 virtual ~CallbackInterface() {} |
cannam@89 | 22 |
cannam@89 | 23 virtual int paCallbackFun(const void *inputBuffer, void *outputBuffer, unsigned long numFrames, |
cannam@89 | 24 const PaStreamCallbackTimeInfo *timeInfo, PaStreamCallbackFlags statusFlags) = 0; |
cannam@89 | 25 }; |
cannam@89 | 26 |
cannam@89 | 27 // ----------------------------------------------------------------------------------- |
cannam@89 | 28 |
cannam@89 | 29 namespace impl |
cannam@89 | 30 { |
cannam@89 | 31 extern "C" |
cannam@89 | 32 { |
cannam@89 | 33 int callbackInterfaceToPaCallbackAdapter(const void *inputBuffer, void *outputBuffer, unsigned long numFrames, |
cannam@89 | 34 const PaStreamCallbackTimeInfo *timeInfo, PaStreamCallbackFlags statusFlags, |
cannam@89 | 35 void *userData); |
cannam@89 | 36 } // extern "C" |
cannam@89 | 37 } |
cannam@89 | 38 |
cannam@89 | 39 // ----------------------------------------------------------------------------------- |
cannam@89 | 40 |
cannam@89 | 41 } // namespace portaudio |
cannam@89 | 42 |
cannam@89 | 43 // --------------------------------------------------------------------------------------- |
cannam@89 | 44 |
cannam@89 | 45 #endif // INCLUDED_PORTAUDIO_CALLBACKINTERFACE_HXX |