diff options
author | Justin McPherson <justin.mcpherson@nokia.com> | 2009-09-24 03:22:57 (GMT) |
---|---|---|
committer | Justin McPherson <justin.mcpherson@nokia.com> | 2009-09-24 03:22:57 (GMT) |
commit | 8a7a3d173d94cabc5bbfa2518f22849d1aa6f855 (patch) | |
tree | db9082a45d66501fa03016fe05f603599b883501 /examples/multimedia/audio/audioinput/audioinput.h | |
parent | fb50411e4c0c132631f8237933fbb0972fa4c9aa (diff) | |
download | Qt-8a7a3d173d94cabc5bbfa2518f22849d1aa6f855.zip Qt-8a7a3d173d94cabc5bbfa2518f22849d1aa6f855.tar.gz Qt-8a7a3d173d94cabc5bbfa2518f22849d1aa6f855.tar.bz2 |
AudioServices; Nicer examples.
Reviewed-by: Bill King
Diffstat (limited to 'examples/multimedia/audio/audioinput/audioinput.h')
-rw-r--r-- | examples/multimedia/audio/audioinput/audioinput.h | 40 |
1 files changed, 10 insertions, 30 deletions
diff --git a/examples/multimedia/audio/audioinput/audioinput.h b/examples/multimedia/audio/audioinput/audioinput.h index 7ba6f1f..14e1bac 100644 --- a/examples/multimedia/audio/audioinput/audioinput.h +++ b/examples/multimedia/audio/audioinput/audioinput.h @@ -48,42 +48,25 @@ #include <qaudioinput.h> -#define BUFFER_SIZE_LOG 9 -#define BUFFER_SIZE (1 << BUFFER_SIZE_LOG) - -struct _struct_fft_state { - float real[BUFFER_SIZE]; - float imag[BUFFER_SIZE]; -}; -typedef _struct_fft_state fft_state; -typedef short int sound_sample; - -class Spectrum : public QIODevice +class AudioInfo : public QIODevice { Q_OBJECT public: - Spectrum(QObject* parent, QAudioInput* device, float* out); - ~Spectrum(); + AudioInfo(QObject* parent, QAudioInput* device); + ~AudioInfo(); void start(); void stop(); + int LinearMax(); + qint64 readData(char *data, qint64 maxlen); qint64 writeData(const char *data, qint64 len); QAudioInput* input; - float* output; - fft_state* fftState; - unsigned int bitReverse[BUFFER_SIZE]; - float sintable[BUFFER_SIZE / 2]; - float costable[BUFFER_SIZE / 2]; - - void prepFFT (const sound_sample *input, float *re, float *im); - void calcFFT (float *re, float *im); - void outputFFT (const float *re, const float *im); - int reverseBits (unsigned int initial); - void performFFT (const sound_sample *input); +private: + int m_maxValue; signals: void update(); @@ -97,16 +80,14 @@ class RenderArea : public QWidget public: RenderArea(QWidget *parent = 0); - void spectrum(float* output, int size); + void setLevel(int value); protected: void paintEvent(QPaintEvent *event); private: + int level; QPixmap pixmap; - - float* samples; - int sampleSize; }; class InputTest : public QMainWindow @@ -119,7 +100,7 @@ public: QAudioDeviceInfo device; QAudioFormat format; QAudioInput* audioInput; - Spectrum* spec; + AudioInfo* audioinfo; QIODevice* input; RenderArea* canvas; @@ -130,7 +111,6 @@ public: QComboBox* deviceBox; char* buffer; - float* output; private slots: void refreshDisplay(); |