Chris@4
|
1 #ifndef INCLUDED_PORTAUDIO_CFUNCALLBACKSTREAM_HXX
|
Chris@4
|
2 #define INCLUDED_PORTAUDIO_CFUNCALLBACKSTREAM_HXX
|
Chris@4
|
3
|
Chris@4
|
4 // ---------------------------------------------------------------------------------------
|
Chris@4
|
5
|
Chris@4
|
6 #include "portaudio.h"
|
Chris@4
|
7
|
Chris@4
|
8 #include "portaudiocpp/CallbackStream.hxx"
|
Chris@4
|
9
|
Chris@4
|
10 // ---------------------------------------------------------------------------------------
|
Chris@4
|
11
|
Chris@4
|
12 // Forward declaration(s)
|
Chris@4
|
13 namespace portaudio
|
Chris@4
|
14 {
|
Chris@4
|
15 class StreamParameters;
|
Chris@4
|
16 }
|
Chris@4
|
17
|
Chris@4
|
18 // ---------------------------------------------------------------------------------------
|
Chris@4
|
19
|
Chris@4
|
20 // Declaration(s):
|
Chris@4
|
21 namespace portaudio
|
Chris@4
|
22 {
|
Chris@4
|
23 // -----------------------------------------------------------------------------------
|
Chris@4
|
24
|
Chris@4
|
25 //////
|
Chris@4
|
26 /// @brief Callback stream using a free function with C linkage. It's important that the function
|
Chris@4
|
27 /// the passed function pointer points to is declared ``extern "C"''.
|
Chris@4
|
28 //////
|
Chris@4
|
29 class CFunCallbackStream : public CallbackStream
|
Chris@4
|
30 {
|
Chris@4
|
31 public:
|
Chris@4
|
32 CFunCallbackStream();
|
Chris@4
|
33 CFunCallbackStream(const StreamParameters ¶meters, PaStreamCallback *funPtr, void *userData);
|
Chris@4
|
34 ~CFunCallbackStream();
|
Chris@4
|
35
|
Chris@4
|
36 void open(const StreamParameters ¶meters, PaStreamCallback *funPtr, void *userData);
|
Chris@4
|
37
|
Chris@4
|
38 private:
|
Chris@4
|
39 CFunCallbackStream(const CFunCallbackStream &); // non-copyable
|
Chris@4
|
40 CFunCallbackStream &operator=(const CFunCallbackStream &); // non-copyable
|
Chris@4
|
41 };
|
Chris@4
|
42
|
Chris@4
|
43 // -----------------------------------------------------------------------------------
|
Chris@4
|
44 } // portaudio
|
Chris@4
|
45
|
Chris@4
|
46 // ---------------------------------------------------------------------------------------
|
Chris@4
|
47
|
Chris@4
|
48 #endif // INCLUDED_PORTAUDIO_MEMFUNCALLBACKSTREAM_HXX
|
Chris@4
|
49
|