annotate src/portaudio_20140130/bindings/cpp/include/portaudiocpp/CallbackInterface.hxx @ 124:e3d5853d5918

Current stable PortAudio source
author Chris Cannam <cannam@all-day-breakfast.com>
date Tue, 18 Oct 2016 13:11:05 +0100
parents
children
rev   line source
cannam@124 1 #ifndef INCLUDED_PORTAUDIO_CALLBACKINTERFACE_HXX
cannam@124 2 #define INCLUDED_PORTAUDIO_CALLBACKINTERFACE_HXX
cannam@124 3
cannam@124 4 // ---------------------------------------------------------------------------------------
cannam@124 5
cannam@124 6 #include "portaudio.h"
cannam@124 7
cannam@124 8 // ---------------------------------------------------------------------------------------
cannam@124 9
cannam@124 10 namespace portaudio
cannam@124 11 {
cannam@124 12 // -----------------------------------------------------------------------------------
cannam@124 13
cannam@124 14 //////
cannam@124 15 /// @brief Interface for an object that's callable as a PortAudioCpp callback object (ie that implements the
cannam@124 16 /// paCallbackFun method).
cannam@124 17 //////
cannam@124 18 class CallbackInterface
cannam@124 19 {
cannam@124 20 public:
cannam@124 21 virtual ~CallbackInterface() {}
cannam@124 22
cannam@124 23 virtual int paCallbackFun(const void *inputBuffer, void *outputBuffer, unsigned long numFrames,
cannam@124 24 const PaStreamCallbackTimeInfo *timeInfo, PaStreamCallbackFlags statusFlags) = 0;
cannam@124 25 };
cannam@124 26
cannam@124 27 // -----------------------------------------------------------------------------------
cannam@124 28
cannam@124 29 namespace impl
cannam@124 30 {
cannam@124 31 extern "C"
cannam@124 32 {
cannam@124 33 int callbackInterfaceToPaCallbackAdapter(const void *inputBuffer, void *outputBuffer, unsigned long numFrames,
cannam@124 34 const PaStreamCallbackTimeInfo *timeInfo, PaStreamCallbackFlags statusFlags,
cannam@124 35 void *userData);
cannam@124 36 } // extern "C"
cannam@124 37 }
cannam@124 38
cannam@124 39 // -----------------------------------------------------------------------------------
cannam@124 40
cannam@124 41 } // namespace portaudio
cannam@124 42
cannam@124 43 // ---------------------------------------------------------------------------------------
cannam@124 44
cannam@124 45 #endif // INCLUDED_PORTAUDIO_CALLBACKINTERFACE_HXX