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