Main Page   Modules   Namespace List   Class Hierarchy   Compound List   File List   Namespace Members   Compound Members   Related Pages  

kaudiorecordstream.h

00001     /*
00002 
00003     Copyright (C) 2001,2002 Matthias Kretz
00004                             kretz@kde.org
00005 
00006     This library is free software; you can redistribute it and/or
00007     modify it under the terms of the GNU Library General Public
00008     License as published by the Free Software Foundation; either
00009     version 2 of the License, or (at your option) any later version.
00010   
00011     This library is distributed in the hope that it will be useful,
00012     but WITHOUT ANY WARRANTY; without even the implied warranty of
00013     MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
00014     Library General Public License for more details.
00015 
00016     You should have received a copy of the GNU Library General Public License
00017     along with this library; see the file COPYING.LIB.  If not, write to
00018     the Free Software Foundation, Inc., 59 Temple Place - Suite 330,
00019     Boston, MA 02111-1307, USA.
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

Generated on Wed Aug 13 23:29:47 2003 for kdelibs by doxygen1.2.18