50 lines
1.5 KiB
C++
50 lines
1.5 KiB
C++
#ifndef INCLUDED_PORTAUDIO_CFUNCALLBACKSTREAM_HXX
|
|
#define INCLUDED_PORTAUDIO_CFUNCALLBACKSTREAM_HXX
|
|
|
|
// ---------------------------------------------------------------------------------------
|
|
|
|
#include "portaudio.h"
|
|
|
|
#include "portaudiocpp/CallbackStream.hxx"
|
|
|
|
// ---------------------------------------------------------------------------------------
|
|
|
|
// Forward declaration(s)
|
|
namespace portaudio
|
|
{
|
|
class StreamParameters;
|
|
}
|
|
|
|
// ---------------------------------------------------------------------------------------
|
|
|
|
// Declaration(s):
|
|
namespace portaudio
|
|
{
|
|
// -----------------------------------------------------------------------------------
|
|
|
|
//////
|
|
/// @brief Callback stream using a free function with C linkage. It's important that the function
|
|
/// the passed function pointer points to is declared ``extern "C"''.
|
|
//////
|
|
class CFunCallbackStream : public CallbackStream
|
|
{
|
|
public:
|
|
CFunCallbackStream();
|
|
CFunCallbackStream(const StreamParameters ¶meters, PaStreamCallback *funPtr, void *userData);
|
|
~CFunCallbackStream();
|
|
|
|
void open(const StreamParameters ¶meters, PaStreamCallback *funPtr, void *userData);
|
|
|
|
private:
|
|
CFunCallbackStream(const CFunCallbackStream &); // non-copyable
|
|
CFunCallbackStream &operator=(const CFunCallbackStream &); // non-copyable
|
|
};
|
|
|
|
// -----------------------------------------------------------------------------------
|
|
} // portaudio
|
|
|
|
// ---------------------------------------------------------------------------------------
|
|
|
|
#endif // INCLUDED_PORTAUDIO_MEMFUNCALLBACKSTREAM_HXX
|
|
|