00001
00002
00003
00004
00005
00006
00007
00008
00009
00010
00011
00012
00013
00014
00015
00016
00017
00018
00019
00020
00021
00022
00023 #ifndef _KAUDIORECORDSTREAM__H
00024 #define _KAUDIORECORDSTREAM__H
00025
00026 #include <qobject.h>
00027
00028 class KArtsServer;
00029 namespace Arts { class StereoEffectStack; }
00030
00031 class KAudioRecordStream : public QObject
00032 {
00033 Q_OBJECT
00034
00035 public:
00042 KAudioRecordStream( KArtsServer * server, const QString & title, QObject * parent = 0, const char * name = 0 );
00043
00044 ~KAudioRecordStream();
00045
00054 int read( char *, int size );
00055
00062 void setBlockingIO( bool );
00063
00069 bool blockingIO() const;
00070
00079 void usePolling( bool );
00080
00086 bool polling() const;
00087
00091 Arts::StereoEffectStack effectStack() const;
00092
00093 public slots:
00098 void stop();
00099
00112 void start( int samplingRate, int bits, int channels );
00113
00117 void flush();
00118
00119 signals:
00127 void data( QByteArray & data );
00128
00129 private slots:
00130 void slotRestartedServer();
00131 void slotData( const char *, unsigned int );
00132
00133 private:
00134 KAudioRecordStream( const KAudioRecordStream & );
00135 KAudioRecordStream & operator=( const KAudioRecordStream & );
00136
00137 struct Data;
00138 Data * d;
00139 };
00140
00141 #endif //_KAUDIORECORDSTREAM__H