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();
27 m_waveformGenerator = new WaveformGenerator();
32 delete m_waveformGenerator;
37 QRect Waveform::scopeRect()
39 // Distance from top/left/right
42 QPoint topleft(offset, ui->verticalSpacer->geometry().y()+offset);
44 return QRect(topleft, this->size() - QSize(offset+topleft.x(), offset+topleft.y()));
48 ///// Implemented methods /////
50 QString Waveform::widgetName() const { return QString("Waveform"); }
51 bool Waveform::isHUDDependingOnInput() const { return false; }
52 bool Waveform::isScopeDependingOnInput() const { return true; }
53 bool Waveform::isBackgroundDependingOnInput() const { return false; }
55 QImage Waveform::renderHUD(uint)
57 emit signalHUDRenderingFinished(0, 1);
61 QImage Waveform::renderScope(uint accelFactor)
63 QTime start = QTime::currentTime();
66 QImage wave = m_waveformGenerator->calculateWaveform(scopeRect().size(),
67 m_activeRender->extractFrame(m_activeRender->seekFramePosition()), true, accelFactor);
69 emit signalScopeRenderingFinished(start.elapsed(), 1);
73 QImage Waveform::renderBackground(uint)
75 emit signalBackgroundRenderingFinished(0, 1);