]> git.sesse.net Git - kdenlive/blobdiff - src/trackview.cpp
Progress on track effects
[kdenlive] / src / trackview.cpp
index b8110fb7deb5d0d149d8381162bc52a3f9a5bb76..93c0e9ed4633809514f609d97a9167782685cbbd 100644 (file)
@@ -105,6 +105,7 @@ TrackView::TrackView(KdenliveDoc *doc, bool *ok, QWidget *parent) :
     connect(m_trackview, SIGNAL(trackHeightChanged()), this, SLOT(slotRebuildTrackHeaders()));
     connect(m_trackview, SIGNAL(tracksChanged()), this, SLOT(slotReloadTracks()));
     connect(m_trackview, SIGNAL(updateTrackHeaders()), this, SLOT(slotRepaintTracks()));
+    connect(m_trackview, SIGNAL(showTrackEffects(int, EffectsList)), this, SIGNAL(showTrackEffects(int, EffectsList)));
 
     parseDocument(m_doc->toXml());
     if (m_doc->setSceneList() == -1) *ok = false;
@@ -147,6 +148,21 @@ int TrackView::tracksNumber() const
     return m_projectTracks - 1;
 }
 
+bool TrackView::checkProjectAudio() const
+{
+    bool hasAudio = false;
+    const QList <TrackInfo> list = m_doc->tracksList();
+    int max = list.count();
+    for (int i = 0; i < max; i++) {
+        TrackInfo info = list.at(max - i - 1);
+        if (!info.isMute && m_trackview->hasAudio(i)) {
+            hasAudio = true;
+            break;
+        }
+    }
+    return hasAudio;
+}
+
 int TrackView::inPoint() const
 {
     return m_ruler->inPoint();
@@ -542,6 +558,8 @@ void TrackView::slotRebuildTrackHeaders()
         connect(header, SIGNAL(insertTrack(int)), this, SIGNAL(insertTrack(int)));
         connect(header, SIGNAL(renameTrack(int, QString)), this, SLOT(slotRenameTrack(int, QString)));
         connect(header, SIGNAL(configTrack(int)), this, SIGNAL(configTrack(int)));
+        connect(header, SIGNAL(addTrackInfo(const QDomElement, int)), m_trackview, SLOT(slotAddTrackEffect(const QDomElement, int)));
+        connect(header, SIGNAL(showTrackEffects(int)), this, SLOT(slotShowTrackEffects(int)));
         headers_container->layout()->addWidget(header);
     }
     frame = new QFrame(this);
@@ -961,4 +979,9 @@ void TrackView::updateRuler()
     m_ruler->update();
 }
 
+void TrackView::slotShowTrackEffects(int ix)
+{
+    emit showTrackEffects(m_doc->tracksCount() - ix, m_doc->getTrackEffects(ix));
+}
+
 #include "trackview.moc"