CSL 5.2

- Main Page
- Related Pages
- Modules
- Namespaces
- Classes
- Files

- File List
- File Members

JackIO.h
Go to the documentation of this file.
1 //
2 // JackIO.h -- Driver IO object for CSL on Jack
3 // See the copyright notice and acknowledgment of authors in the file COPYRIGHT
4 //
5
6 #ifndef CSL_JACKIO_H
7 #define CSL_JACKIO_H
8
9 #include "CSL_Core.h"
10
11 #include <jack/jack.h>
12
13 namespace csl {
14
15 //extern "C" int JackCallback (jack_nframes_t nframes, void *arg);
16
17 ///
18 /// JackIO is an IO that uses a thread and a timer to call its graph's nextBuffer(); it doesn't do
19 /// anything with the resulting buffer, but assumes that other objects (observers of the graph)
20 /// will handle some actual IO.
21 ///
22 class JackIO : public IO {
23 public:
24 JackIO(); ///< Constructor
25 JackIO(unsigned s_rate, unsigned b_size,
26 int in_device = 0, int out_device = 0,
27 unsigned in_chans = 0, unsigned out_chans = 2);
28 virtual ~JackIO();
29
30 void open() throw(CException); ///< open/close start/stop methods
31 void close() throw(CException);
32 void start() throw(CException); ///< start my timer thread
33 void stop() throw(CException); ///< stop the timer thread
34
35 jack_port_t * mInput_port;
36 jack_port_t * mOutput_port;
37 jack_client_t * mClient;
38 };
39
40
41 } // end of namespace
42
43 #endif CSL_JACKIO_H
44