Network-Music  0.1
An audible representation of network traffic
 All Classes Namespaces Files Functions Variables Typedefs Macros Pages
generator.h
Go to the documentation of this file.
1 #ifndef GENERATOR_H
2 #define GENERATOR_H
3 
4 #include <QByteArray>
5 #include <QIODevice>
6 #include <QAudioFormat>
7 
8 class Generator : public QIODevice
9 {
10  Q_OBJECT
11 
12 public:
13  Generator(const QAudioFormat &format, qint64 durationUs, int sampleRate, QObject *parent);
14  ~Generator();
15 
16  void start();
17  void stop();
18 
19  void setFrequency(int value);
20  qint64 GetPos();
21  void SetPos(qint64 val);
22 
23  qint64 readData(char *data, qint64 maxlen);
24  qint64 writeData(const char *data, qint64 len);
25  qint64 bytesAvailable() const;
26 
27  QByteArray* m_buffer;
28  qint64 m_pos;
29 
30  static QByteArray* GenerateData(const QAudioFormat &format, qint64 frequency);
31 
32 private:
33  void generateData(const QAudioFormat &format, qint64 durationUs);
34 
35  //qint64 m_pos;
36  //QByteArray m_buffer;
37  int frequency;
38 };
39 
40 #endif // GENERATOR_H