X-Git-Url: https://git.sesse.net/?a=blobdiff_plain;f=src%2Fscopes%2Faudioscopes%2Faudiosignal.h;h=e4df41e5083dd0b1ff5faef3e993288900592847;hb=a12cf2d6e75a7a9857330a6109b36d5b99a2ccb4;hp=6cb9b071f963ffdea8bd4553c5656b58d82ea070;hpb=b4fed78d531ebfe19f26d8fb3512690328b4a1a3;p=kdenlive diff --git a/src/scopes/audioscopes/audiosignal.h b/src/scopes/audioscopes/audiosignal.h index 6cb9b071..e4df41e5 100644 --- a/src/scopes/audioscopes/audiosignal.h +++ b/src/scopes/audioscopes/audiosignal.h @@ -20,42 +20,47 @@ #ifndef AUDIOSIGNAL_H #define AUDIOSIGNAL_H +#include "scopes/audioscopes/abstractaudioscopewidget.h" + #include #include #include #include -class QLabel; #include #include -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 &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 dbscale; - QAction *m_aMonitoringEnabled; - -protected: - void paintEvent(QPaintEvent*); + QList dbscale; public slots: - void showAudio(const QByteArray); - void slotReceiveAudio(const QVector&,int,int,int); + void showAudio(const QByteArray &); + void slotReceiveAudio(QVector,int,int,int); private slots: - void slotSwitchAudioMonitoring(bool isOn); - void slotNoAudioTimeout(); + void slotNoAudioTimeout(); signals: void updateAudioMonitoring();