]> git.sesse.net Git - kdenlive/blob - src/audioscopes/audiospectrum.h
First preparations for audio spectrum scopes, using kiss_fft
[kdenlive] / src / audioscopes / audiospectrum.h
1 #ifndef AUDIOSPECTRUM_H
2 #define AUDIOSPECTRUM_H
3
4 #include <QtCore>
5
6 #include "abstractaudioscopewidget.h"
7 #include "ui_audiospectrum_ui.h"
8
9 class AudioSpectrum_UI;
10
11 class AudioSpectrum : public AbstractAudioScopeWidget {
12     Q_OBJECT
13
14 public:
15     AudioSpectrum(Monitor *projMonitor, Monitor *clipMonitor, QWidget *parent = 0);
16
17     // Implemented virtual methods
18     QString widgetName() const;
19
20 protected:
21     ///// Implemented methods /////
22     QRect scopeRect();
23     QImage renderHUD(uint accelerationFactor);
24     QImage renderScope(uint accelerationFactor, const QVector<int16_t> audioFrame, const int freq, const int num_channels, const int num_samples);
25     QImage renderBackground(uint accelerationFactor);
26     bool isHUDDependingOnInput() const;
27     bool isScopeDependingOnInput() const;
28     bool isBackgroundDependingOnInput() const;
29     virtual void readConfig();
30
31 private:
32     Ui::AudioSpectrum_UI *ui;
33 };
34
35 #endif // AUDIOSPECTRUM_H