annotate src/portaudio_20161030/bindings/cpp/include/portaudiocpp/CallbackInterface.hxx @ 140:59a8758c56b1

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