viewer: began waveformview widget

This commit is contained in:
itsmattkc
2020-03-13 16:02:18 +11:00
parent e2fe9ad548
commit 0418c8ab85
5 changed files with 46 additions and 4 deletions
+2
View File
@@ -24,5 +24,7 @@ set(OLIVE_SOURCES
widget/viewer/viewerglwidget.cpp
widget/viewer/viewersizer.h
widget/viewer/viewersizer.cpp
widget/viewer/waveformview.h
widget/viewer/waveformview.cpp
PARENT_SCOPE
)
+2 -3
View File
@@ -60,9 +60,8 @@ ViewerWidget::ViewerWidget(QWidget *parent) :
sizer_->SetWidget(gl_widget_);
// Create waveform view when audio is connected and video isn't
waveform_view_ = new QWidget();
waveform_view_->setAutoFillBackground(true);
waveform_view_->setStyleSheet("background: black;");
waveform_view_ = new WaveformView();
stack_->addWidget(waveform_view_);
// Create time ruler
+2 -1
View File
@@ -35,6 +35,7 @@
#include "render/backend/audio/audiobackend.h"
#include "viewerglwidget.h"
#include "viewersizer.h"
#include "waveformview.h"
#include "widget/playbackcontrols/playbackcontrols.h"
#include "widget/timebased/timebased.h"
@@ -154,7 +155,7 @@ private:
bool time_changed_from_timer_;
QWidget* waveform_view_;
WaveformView* waveform_view_;
private slots:
void PlaybackTimerUpdate();
+24
View File
@@ -0,0 +1,24 @@
#include "waveformview.h"
#include <QPainter>
#include <QtMath>
WaveformView::WaveformView(QWidget *parent) :
TimeBasedWidget(parent)
{
setAutoFillBackground(true);
setStyleSheet("background: black;");
}
void WaveformView::paintEvent(QPaintEvent *event)
{
QWidget::paintEvent(event);
QPainter p(this);
p.setPen(Qt::green);
for (int i=0;i<width();i++) {
p.drawPoint(i, (height() / 2) + qSin(static_cast<double>(i) * 0.025) * (height() / 2));
}
}
+16
View File
@@ -0,0 +1,16 @@
#ifndef WAVEFORMVIEW_H
#define WAVEFORMVIEW_H
#include "widget/timebased/timebased.h"
class WaveformView : public TimeBasedWidget
{
public:
WaveformView(QWidget* parent = nullptr);
protected:
virtual void paintEvent(QPaintEvent* event) override;
};
#endif // WAVEFORMVIEW_H