Home Information Classes Download Usage Mail List Requirements Tutorial
00001 /***************************************************/ 00022 /***************************************************/ 00023 00024 #if !defined(__RTDUPLEX_H) 00025 #define __RTDUPLEX_H 00026 00027 #include "Stk.h" 00028 #include "RtAudio.h" 00029 00030 class RtDuplex : public Stk 00031 { 00032 public: 00034 00045 RtDuplex(int nChannels = 1, MY_FLOAT sampleRate = Stk::sampleRate(), int device = 0, int bufferFrames = RT_BUFFER_SIZE, int nBuffers = 2); 00046 00048 ~RtDuplex(); 00049 00051 00054 void start(void); 00055 00057 00060 void stop(void); 00061 00063 MY_FLOAT lastOut(void) const; 00064 00066 00069 MY_FLOAT tick(const MY_FLOAT sample); 00070 00072 00075 MY_FLOAT *tick(MY_FLOAT *vector, unsigned int vectorSize); 00076 00078 const MY_FLOAT *lastFrame(void) const; 00079 00081 00084 MY_FLOAT *tickFrame(MY_FLOAT *frameVector, unsigned int frames = 1); 00085 00086 protected: 00087 00088 RtAudio *audio; 00089 MY_FLOAT *data; 00090 MY_FLOAT *lastOutput; 00091 int bufferSize; 00092 bool stopped; 00093 int stream; 00094 long counter; 00095 unsigned int channels; 00096 00097 }; 00098 00099 #endif
The Synthesis ToolKit in C++ (STK) |
©1995-2002 Perry R. Cook and Gary P. Scavone. All Rights Reserved. |