1 /***************************************************************************
2 * Copyright (C) 2010 by Simon Andreas Eugster (simon.eu@gmail.com) *
3 * This file is part of kdenlive. See www.kdenlive.org. *
5 * This program is free software; you can redistribute it and/or modify *
6 * it under the terms of the GNU General Public License as published by *
7 * the Free Software Foundation; either version 2 of the License, or *
8 * (at your option) any later version. *
9 ***************************************************************************/
17 #include "waveformgenerator.h"
20 Waveform::Waveform(Monitor *projMonitor, Monitor *clipMonitor, QWidget *parent) :
21 AbstractScopeWidget(projMonitor, clipMonitor, parent),
22 initialDimensionUpdateDone(false)
24 ui = new Ui::Waveform_UI();
28 m_waveformGenerator = new WaveformGenerator();
33 delete m_waveformGenerator;
38 QRect Waveform::scopeRect()
40 // Distance from top/left/right
43 QPoint topleft(offset, ui->verticalSpacer->geometry().y()+offset);
45 return QRect(topleft, this->size() - QSize(offset+topleft.x(), offset+topleft.y()));
49 ///// Implemented methods /////
51 QString Waveform::widgetName() const { return QString("Waveform"); }
52 bool Waveform::isHUDDependingOnInput() const { return false; }
53 bool Waveform::isScopeDependingOnInput() const { return true; }
54 bool Waveform::isBackgroundDependingOnInput() const { return false; }
56 QImage Waveform::renderHUD(uint)
58 emit signalHUDRenderingFinished(0, 1);
62 QImage Waveform::renderScope(uint accelFactor, QImage qimage)
64 QTime start = QTime::currentTime();
67 QImage wave = m_waveformGenerator->calculateWaveform(scopeRect().size(),
68 qimage, true, accelFactor);
70 emit signalScopeRenderingFinished(start.elapsed(), 1);
74 QImage Waveform::renderBackground(uint)
76 emit signalBackgroundRenderingFinished(0, 1);