From fc75d5d2704812843f212cc8ae7bd3e60d2440d6 Mon Sep 17 00:00:00 2001 From: Marco Gittler Date: Mon, 27 Sep 2010 20:28:10 +0000 Subject: [PATCH] audiosignal widget svn path=/trunk/kdenlive/; revision=4945 --- src/audiosignal.cpp | 49 +++++++++++++++++++++++++++++++++++++++++++++ src/audiosignal.h | 27 +++++++++++++++++++++++++ 2 files changed, 76 insertions(+) create mode 100644 src/audiosignal.cpp create mode 100644 src/audiosignal.h diff --git a/src/audiosignal.cpp b/src/audiosignal.cpp new file mode 100644 index 00000000..f35db088 --- /dev/null +++ b/src/audiosignal.cpp @@ -0,0 +1,49 @@ +#include "audiosignal.h" + +#include +#include +#include +#include +#include + + +AudioSignal::AudioSignal(QWidget *parent):QWidget(parent) +{ + //QVBoxLayout *vbox=new QVBoxLayout(this); + //label=new QLabel(); + //vbox->addWidget(label); + setMaximumHeight(12); + col << Qt::green << Qt::green << Qt::green << Qt::green << Qt::green << Qt::green << Qt::green << Qt::green << Qt::green << Qt::green ; + col << Qt::yellow << Qt::yellow << Qt::yellow << Qt::yellow << Qt::yellow ; + col << Qt::darkYellow << Qt::darkYellow << Qt::darkYellow; + col << Qt::red << Qt::red; +} + + +void AudioSignal::showAudio(QByteArray arr) +{ + channels=arr; + update(); +} +void AudioSignal::paintEvent(QPaintEvent* e) +{ + QPainter p(this); + //p.begin(); + //p.fillRect(0,0,(unsigned char)channels[0]*width()/255,height()/2,QBrush(Qt::SolidPattern)); + //p.fillRect(0,height()/2,(unsigned char)channels[1]*width()/255,height()/2,QBrush(Qt::SolidPattern)); + int numchan=channels.size(); + for (int i=0;i0){ + p.fillRect(x*xdelta,y1,maxx>xdelta?xdelta-1:maxx-1,_h,QBrush(col.at(x),Qt::SolidPattern)); + maxx-=xdelta; + } + } + } + p.end(); +} +#include "audiosignal.moc" diff --git a/src/audiosignal.h b/src/audiosignal.h new file mode 100644 index 00000000..d0ab44c2 --- /dev/null +++ b/src/audiosignal.h @@ -0,0 +1,27 @@ +#ifndef AUDIOSIGNAL_H +#define AUDIOSIGNAL_H + +#include +#include +#include +class QLabel; + +#include +class AudioSignal : public QWidget +{ + Q_OBJECT + public: + AudioSignal (QWidget *parent=0); + private: + QLabel* label; + QByteArray channels; + QList col; + protected: + void paintEvent(QPaintEvent* ); + public slots: + void showAudio(QByteArray); + + +}; + +#endif -- 2.39.5