]> git.sesse.net Git - kdenlive/blobdiff - src/scopes/audioscopes/audiosignal.h
Const'ify. Use QLatin1String
[kdenlive] / src / scopes / audioscopes / audiosignal.h
index 6cb9b071f963ffdea8bd4553c5656b58d82ea070..d555cc5714da548743172b186af8f8c00ae426e7 100644 (file)
 #ifndef AUDIOSIGNAL_H
 #define AUDIOSIGNAL_H
 
+#include "scopes/audioscopes/abstractaudioscopewidget.h"
+
 #include <QByteArray>
 #include <QList>
 #include <QColor>
 #include <QTimer>
-class QLabel;
 
 #include  <QWidget>
 
 #include <stdint.h>
 
-class AudioSignal : public QWidget
+class AudioSignal : public AbstractAudioScopeWidget
 {
     Q_OBJECT
 public:
-    AudioSignal(QWidget *parent = 0);
+    explicit AudioSignal(QWidget *parent = 0);
     ~AudioSignal();
     /** @brief Used for checking whether audio data needs to be delivered */
     bool monitoringEnabled() const;
 
+    QRect scopeRect();
+    QImage renderHUD(uint accelerationFactor);
+    QImage renderBackground(uint accelerationFactor);
+    QImage renderAudioScope(uint accelerationFactor, const QVector<int16_t> &audioFrame, const int, const int num_channels, const int samples, const int);
+
+    QString widgetName() const { return "audioSignal"; }
+    bool isHUDDependingOnInput() const { return false; }
+    bool isScopeDependingOnInput() const { return true; }
+    bool isBackgroundDependingOnInput() const { return false; }
+
 private:
     double valueToPixel(double in);
-       QTimer m_timer;
-    QLabel* label;
+    QTimer m_timer;
     QByteArray channels,peeks,peekage;
-       QList<int> dbscale;
-    QAction *m_aMonitoringEnabled;
-
-protected:
-    void paintEvent(QPaintEvent*);
+    QList<int> dbscale;
 
 public slots:
     void showAudio(const QByteArray);
-    void slotReceiveAudio(const QVector<int16_t>&,int,int,int);
+    void slotReceiveAudio(QVector<int16_t>,int,int,int);
 private slots:
-     void slotSwitchAudioMonitoring(bool isOn);
-       void slotNoAudioTimeout();
+     void slotNoAudioTimeout();
 
 signals:
     void updateAudioMonitoring();