X-Git-Url: https://git.sesse.net/?a=blobdiff_plain;f=src%2Faudioscopes%2Fabstractaudioscopewidget.cpp;h=099a8e6e955b8b6565c3ebf8c49393dfe573884c;hb=4e2125a93b533b2d29232d9072a5a757ce2616e1;hp=52f91b9a1b29ce910f00f9c476ecc080fd1bb657;hpb=6cc358a050e97e22cb69838b3dd4bf81275946c9;p=kdenlive diff --git a/src/audioscopes/abstractaudioscopewidget.cpp b/src/audioscopes/abstractaudioscopewidget.cpp index 52f91b9a..099a8e6e 100644 --- a/src/audioscopes/abstractaudioscopewidget.cpp +++ b/src/audioscopes/abstractaudioscopewidget.cpp @@ -14,31 +14,53 @@ #include "renderer.h" #include "monitor.h" -#include #include #include #include #include #include -AbstractAudioScopeWidget::AbstractAudioScopeWidget(Monitor *projMonitor, Monitor *clipMonitor, bool trackMouse, QWidget *parent) : - AbstractScopeWidget(projMonitor, clipMonitor, trackMouse, parent) +// Uncomment for debugging +//#define DEBUG_AASW + +#ifdef DEBUG_AASW +#include +#endif + +AbstractAudioScopeWidget::AbstractAudioScopeWidget(bool trackMouse, QWidget *parent) : + AbstractScopeWidget(trackMouse, parent), + m_freq(0), + m_nChannels(0), + m_nSamples(0), + m_audioFrame(), + m_newData(0) { } -void AbstractAudioScopeWidget::slotReceiveAudio(const QVector& sampleData, int freq, int num_channels, int num_samples) +void AbstractAudioScopeWidget::slotReceiveAudio(const QVector &sampleData, int freq, int num_channels, int num_samples) { +#ifdef DEBUG_AASW + qDebug() << "Received audio for " << widgetName() << "."; +#endif m_audioFrame = sampleData; m_freq = freq; m_nChannels = num_channels; m_nSamples = num_samples; + + m_newData.fetchAndAddAcquire(1); + AbstractScopeWidget::slotRenderZoneUpdated(); - //TODO } AbstractAudioScopeWidget::~AbstractAudioScopeWidget() {} QImage AbstractAudioScopeWidget::renderScope(uint accelerationFactor) { - return renderAudioScope(accelerationFactor, m_audioFrame, m_freq, m_nChannels, m_nSamples); + int newData = m_newData.fetchAndStoreAcquire(0); + + return renderAudioScope(accelerationFactor, m_audioFrame, m_freq, m_nChannels, m_nSamples, newData); } + +#ifdef DEBUG_AASW +#undef DEBUG_AASW +#endif