]> git.sesse.net Git - kdenlive/blobdiff - src/mainwindow.cpp
First preparations for audio spectrum scopes, using kiss_fft
[kdenlive] / src / mainwindow.cpp
index b9072cf9d02f49b484a026bc18a131903ad2a367..ebf1feeb30383fdd7a74ac0b036e0f18972deaac 100644 (file)
@@ -57,6 +57,7 @@
 #include "waveform.h"
 #include "rgbparade.h"
 #include "histogram.h"
+#include "audiospectrum.h"
 
 #include <KApplication>
 #include <KAction>
@@ -286,6 +287,20 @@ MainWindow::MainWindow(const QString &MltPath, const KUrl & Url, const QString &
     //connect(m_histogramDock, SIGNAL(visibilityChanged(bool)), this, SLOT(slotUpdateScopeFrameRequest()));
     //connect(m_histogram, SIGNAL(requestAutoRefresh(bool)), this, SLOT(slotUpdateScopeFrameRequest()));
 
+    m_audioSpectrum = new AudioSpectrum(m_projectMonitor, m_clipMonitor);
+    m_audioSpectrumDock = new QDockWidget(i18n("AudioSpectrum"), this);
+    m_audioSpectrumDock->setObjectName(m_audioSpectrum->widgetName());
+    m_audioSpectrumDock->setWidget(m_audioSpectrum);
+    addDockWidget(Qt::TopDockWidgetArea, m_audioSpectrumDock);
+    if (m_projectMonitor) {
+        connect(m_projectMonitor->render, SIGNAL(audioSamplesSignal(QVector<int16_t>,int,int,int)),
+                m_audioSpectrum, SLOT(slotReceiveAudio(QVector<int16_t>,int,int,int)));
+    }
+    if (m_clipMonitor) {
+        connect(m_clipMonitor->render, SIGNAL(audioSamplesSignal(QVector<int16_t>,int,int,int)),
+                m_audioSpectrum, SLOT(slotReceiveAudio(QVector<int16_t>,int,int,int)));
+    }
+
     m_undoViewDock = new QDockWidget(i18n("Undo History"), this);
     m_undoViewDock->setObjectName("undo_history");
     m_undoView = new QUndoView();