00001
00002
00003
00004
00005
00006
00007
00008
00009
00010
00011
00012
00013
00014
00015
00016
00017
00018
00019
00020
00021
00022 #ifndef AUDIOSOURCE_H
00023 #define AUDIOSOURCE_H
00024
00025 #include "defines.h"
00026
00027 #include <QObject>
00028
00029 #include "RingBufferNPT.h"
00030
00031
00032 class QString;
00033
00035 class AudioSource : public QObject
00036 {
00037 public :
00038 AudioSource();
00039 AudioSource(const QString& dir, const QString& name);
00040 ~AudioSource();
00041
00042 void set_name(const QString& name);
00043 void set_dir(const QString& name);
00044 void set_original_bit_depth(uint bitDepth);
00045 void set_created_by_sheet(qint64 id);
00046 QString get_filename() const;
00047 QString get_dir() const;
00048 QString get_name() const;
00049 QString get_short_name() const;
00050 qint64 get_id() const;
00051 qint64 get_orig_sheet_id() const {return m_origSheetId;}
00052 int get_rate() const;
00053 uint get_channel_count() const;
00054 int get_bit_depth() const;
00055
00056 protected:
00057 QList<RingBufferNPT<audio_sample_t>*> m_buffers;
00058
00059 uint m_bufferSize;
00060 uint m_chunkSize;
00061
00062 int m_channelCount;
00063 qint64 m_origSheetId;
00064 QString m_dir;
00065 qint64 m_id;
00066 QString m_name;
00067 QString m_shortName;
00068 uint m_origBitDepth;
00069 QString m_fileName;
00070 uint m_rate;
00071 int m_wasRecording;
00072 };
00073
00074
00075 inline uint AudioSource::get_channel_count( ) const {return m_channelCount;}
00076 inline qint64 AudioSource::get_id( ) const {return m_id;}
00077
00078 #endif