kwave  18.07.70
Record-OSS.h
Go to the documentation of this file.
1 /*************************************************************************
2  Record-OSS.h - device for audio recording via OSS
3  -------------------
4  begin : Sun Jul 24 2005
5  copyright : (C) 2005 by Thomas Eschenbacher
6  email : Thomas.Eschenbacher@gmx.de
7  ***************************************************************************/
8 
9 /***************************************************************************
10  * *
11  * This program is free software; you can redistribute it and/or modify *
12  * it under the terms of the GNU General Public License as published by *
13  * the Free Software Foundation; either version 2 of the License, or *
14  * (at your option) any later version. *
15  * *
16  ***************************************************************************/
17 
18 #ifndef RECORD_OSS_H
19 #define RECORD_OSS_H
20 
21 #include "config.h"
22 #ifdef HAVE_OSS_SUPPORT
23 
24 #include <QByteArray>
25 #include <QString>
26 
27 #include "RecordDevice.h"
28 
29 namespace Kwave
30 {
32  {
33  public:
34 
36  RecordOSS();
37 
39  virtual ~RecordOSS() Q_DECL_OVERRIDE;
40 
47  virtual QString open(const QString &dev) Q_DECL_OVERRIDE;
48 
56  virtual int read(QByteArray &buffer, unsigned int offset)
57  Q_DECL_OVERRIDE;
58 
60  virtual int close() Q_DECL_OVERRIDE;
61 
63  virtual QStringList supportedDevices() Q_DECL_OVERRIDE;
64 
66  virtual QString fileFilter() Q_DECL_OVERRIDE;
67 
75  virtual int detectTracks(unsigned int &min, unsigned int &max)
76  Q_DECL_OVERRIDE;
77 
86  virtual int setTracks(unsigned int &tracks) Q_DECL_OVERRIDE;
87 
89  virtual int tracks() Q_DECL_OVERRIDE;
90 
92  virtual QList<double> detectSampleRates() Q_DECL_OVERRIDE;
93 
101  virtual int setSampleRate(double &new_rate) Q_DECL_OVERRIDE;
102 
104  virtual double sampleRate() Q_DECL_OVERRIDE;
105 
110  virtual QList<Kwave::Compression::Type> detectCompressions()
111  Q_DECL_OVERRIDE;
112 
119  virtual int setCompression(Kwave::Compression::Type new_compression)
120  Q_DECL_OVERRIDE;
121 
123  virtual Kwave::Compression::Type compression() Q_DECL_OVERRIDE;
124 
130  virtual QList <unsigned int> supportedBits() Q_DECL_OVERRIDE;
131 
136  virtual int setBitsPerSample(unsigned int new_bits) Q_DECL_OVERRIDE;
137 
142  virtual int bitsPerSample() Q_DECL_OVERRIDE;
143 
148  virtual QList<Kwave::SampleFormat::Format> detectSampleFormats()
149  Q_DECL_OVERRIDE;
150 
157  virtual int setSampleFormat(Kwave::SampleFormat::Format new_format)
158  Q_DECL_OVERRIDE;
159 
161  virtual Kwave::SampleFormat::Format sampleFormat() Q_DECL_OVERRIDE;
162 
164  virtual Kwave::byte_order_t endianness() Q_DECL_OVERRIDE;
165 
166  private:
167 
179  int &bits,
180  Kwave::SampleFormat::Format &sample_format);
181 
192  int mode2format(Kwave::Compression::Type compression, int bits,
193  Kwave::SampleFormat::Format sample_format);
194 
195  private:
196 
198  int m_fd;
199 
201  int m_rate;
202 
204  int m_tracks;
205 
208  };
209 }
210 
211 #endif /* HAVE_OSS_SUPPORT */
212 
213 #endif /* RECORD_OSS_H */
214 
215 //***************************************************************************
216 //***************************************************************************
byte_order_t
Definition: ByteOrder.h:25
Definition: App.h:33
virtual QList< unsigned int > supportedBits() Q_DECL_OVERRIDE
Definition: Record-OSS.cpp:693
virtual int read(QByteArray &buffer, unsigned int offset) Q_DECL_OVERRIDE
Definition: Record-OSS.cpp:130
virtual QString open(const QString &dev) Q_DECL_OVERRIDE
Definition: Record-OSS.cpp:90
virtual QList< Kwave::Compression::Type > detectCompressions() Q_DECL_OVERRIDE
Definition: Record-OSS.cpp:631
virtual double sampleRate() Q_DECL_OVERRIDE
Definition: Record-OSS.cpp:475
virtual Kwave::Compression::Type compression() Q_DECL_OVERRIDE
Definition: Record-OSS.cpp:678
virtual Kwave::byte_order_t endianness() Q_DECL_OVERRIDE
Definition: Record-OSS.cpp:848
virtual QStringList supportedDevices() Q_DECL_OVERRIDE
Definition: Record-OSS.cpp:285
virtual QList< double > detectSampleRates() Q_DECL_OVERRIDE
Definition: Record-OSS.cpp:387
void format2mode(int format, Kwave::Compression::Type &compression, int &bits, Kwave::SampleFormat::Format &sample_format)
Definition: Record-OSS.cpp:483
int mode2format(Kwave::Compression::Type compression, int bits, Kwave::SampleFormat::Format sample_format)
Definition: Record-OSS.cpp:560
virtual Kwave::SampleFormat::Format sampleFormat() Q_DECL_OVERRIDE
Definition: Record-OSS.cpp:833
virtual int setSampleFormat(Kwave::SampleFormat::Format new_format) Q_DECL_OVERRIDE
Definition: Record-OSS.cpp:807
virtual int bitsPerSample() Q_DECL_OVERRIDE
Definition: Record-OSS.cpp:757
virtual int close() Q_DECL_OVERRIDE
Definition: Record-OSS.cpp:220
virtual int setSampleRate(double &new_rate) Q_DECL_OVERRIDE
Definition: Record-OSS.cpp:457
virtual QString fileFilter() Q_DECL_OVERRIDE
Definition: Record-OSS.cpp:301
virtual ~RecordOSS() Q_DECL_OVERRIDE
Definition: Record-OSS.cpp:84
virtual int setCompression(Kwave::Compression::Type new_compression) Q_DECL_OVERRIDE
Definition: Record-OSS.cpp:654
virtual int tracks() Q_DECL_OVERRIDE
Definition: Record-OSS.cpp:381
virtual int detectTracks(unsigned int &min, unsigned int &max) Q_DECL_OVERRIDE
Definition: Record-OSS.cpp:319
virtual QList< Kwave::SampleFormat::Format > detectSampleFormats() Q_DECL_OVERRIDE
Definition: Record-OSS.cpp:772
virtual int setBitsPerSample(unsigned int new_bits) Q_DECL_OVERRIDE
Definition: Record-OSS.cpp:731
virtual int setTracks(unsigned int &tracks) Q_DECL_OVERRIDE
Definition: Record-OSS.cpp:364