]> git.sesse.net Git - kdenlive/blobdiff - src/customtrackview.cpp
Start implementing effects
[kdenlive] / src / customtrackview.cpp
index d03c248c1ff78a27d4ff8100f6557b5b4d7c1912..bab54b1cb04585f87c3a046e96156ecf3b83c226 100644 (file)
@@ -33,6 +33,7 @@
 #include "moveclipcommand.h"
 #include "resizeclipcommand.h"
 #include "addtimelineclipcommand.h"
+#include "addeffectcommand.h"
 
 CustomTrackView::CustomTrackView(KdenliveDoc *doc, QGraphicsScene * projectscene, QWidget *parent)
     : QGraphicsView(projectscene, parent), m_tracksCount(0), m_cursorPos(0), m_dropItem(NULL), m_cursorLine(NULL), m_operationMode(NONE), m_startPos(QPointF()), m_dragItem(NULL), m_visualTip(NULL), m_moveOpMode(NONE), m_animation(NULL), m_projectDuration(0), m_scale(1.0), m_clickPoint(0), m_document(doc)
@@ -297,7 +298,7 @@ void CustomTrackView::mousePressEvent ( QMouseEvent * event )
   }
   updateSnapPoints(m_dragItem);
   //kDebug()<<pos;
-  //QGraphicsView::mousePressEvent(event);
+  QGraphicsView::mousePressEvent(event);
 }
 
 void CustomTrackView::dragEnterEvent ( QDragEnterEvent * event )
@@ -315,6 +316,29 @@ void CustomTrackView::dragEnterEvent ( QDragEnterEvent * event )
   }
 }
 
+void CustomTrackView::addEffect(int track, GenTime pos, QString tag, QMap <QString, QString> args)
+{
+  m_document->renderer()->mltAddEffect(track, pos, tag, args);  
+}
+
+void CustomTrackView::deleteEffect(int track, GenTime pos, QString tag)
+{
+  m_document->renderer()->mltRemoveEffect(track, pos, tag, -1);  
+}
+
+void CustomTrackView::slotAddEffect(QMap <QString, QString> filter)
+{
+  QList<QGraphicsItem *> itemList = items();
+  for (int i = 0; i < itemList.count(); i++) {
+    if (itemList.at(i)->type() == 70000 && itemList.at(i)->isSelected()) {
+      ClipItem *item = (ClipItem *)itemList.at(i);
+      QString tag = filter.value("mlt_service");
+      AddEffectCommand *command = new AddEffectCommand(this, m_tracksCount - item->track(),GenTime(item->startPos(), 25), tag, filter, true);
+      m_commandStack->push(command);    
+    }
+  }
+}
+
 void CustomTrackView::addItem(DocClipBase *clip, QPoint pos)
 {
   int in =0;