cannam@140: #include "portaudiocpp/CallbackInterface.hxx" cannam@140: cannam@140: namespace portaudio cannam@140: { cannam@140: cannam@140: namespace impl cannam@140: { cannam@140: cannam@140: ////// cannam@140: /// Adapts any CallbackInterface object to a C-callable function (ie this function). A cannam@140: /// pointer to the object should be passed as ``userData'' when setting up the callback. cannam@140: ////// cannam@140: int callbackInterfaceToPaCallbackAdapter(const void *inputBuffer, void *outputBuffer, unsigned long numFrames, cannam@140: const PaStreamCallbackTimeInfo *timeInfo, PaStreamCallbackFlags statusFlags, void *userData) cannam@140: { cannam@140: CallbackInterface *cb = static_cast(userData); cannam@140: return cb->paCallbackFun(inputBuffer, outputBuffer, numFrames, timeInfo, statusFlags); cannam@140: } cannam@140: cannam@140: cannam@140: } // namespace impl cannam@140: cannam@140: } // namespace portaudio cannam@140: cannam@140: