viewer: began waveformview widget
This commit is contained in:
@@ -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
|
||||
)
|
||||
|
||||
@@ -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
|
||||
|
||||
@@ -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();
|
||||
|
||||
@@ -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));
|
||||
}
|
||||
}
|
||||
@@ -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
|
||||
Reference in New Issue
Block a user