]> git.sesse.net Git - kdenlive/commitdiff
Fix transition track error
authorJean-Baptiste Mardelle <jb@kdenlive.org>
Sun, 30 Mar 2008 17:42:13 +0000 (17:42 +0000)
committerJean-Baptiste Mardelle <jb@kdenlive.org>
Sun, 30 Mar 2008 17:42:13 +0000 (17:42 +0000)
svn path=/branches/KDE4/; revision=2143

src/customtrackview.cpp
src/customtrackview.h
src/mainwindow.cpp

index 216a4798e9f6b791d29eabe66bf4d1801e210b27..fb1abc7746a5deee778944e42dff1e4aa32d69c3 100644 (file)
@@ -574,17 +574,15 @@ void CustomTrackView::deleteTransition(ItemInfo transitionInfo, int endTrack, QD
     m_document->setModified(true);
 }
 
-void CustomTrackView::slotTransitionUpdated(QDomElement old, QDomElement newEffect) {
-    EditTransitionCommand *command = new EditTransitionCommand(this, newEffect.attribute("a_track").toInt(), GenTime(newEffect.attribute("start").toInt(), m_document->fps()) , old, newEffect , true);
+void CustomTrackView::slotTransitionUpdated(Transition *tr, QDomElement old) {
+    EditTransitionCommand *command = new EditTransitionCommand(this, tr->track(), tr->startPos(), old, tr->toXML() , true);
     m_commandStack->push(command);
     m_document->setModified(true);
 }
 
 void CustomTrackView::updateTransition(int track, GenTime pos, QDomElement oldTransition, QDomElement transition) {
-    m_document->renderer()->mltUpdateTransition(oldTransition.attribute("tag"), transition.attribute("tag"), transition.attribute("transitionb_track").toInt(), m_tracksList.count() - transition.attribute("transition_atrack").toInt() ,
-            GenTime(transition.attribute("start").toInt(), m_document->renderer()->fps()),
-            GenTime(transition.attribute("end").toInt(), m_document->renderer()->fps()),
-            transition);
+    Transition *item = getTransitionItemAt((int)pos.frames(m_document->fps()) + 1, track);
+    m_document->renderer()->mltUpdateTransition(oldTransition.attribute("tag"), transition.attribute("tag"), transition.attribute("transition_btrack").toInt(), m_tracksList.count() - transition.attribute("transition_atrack").toInt(), item->startPos(), item->endPos(), transition);
     repaint();
     m_document->setModified(true);
 }
index baca87454228b9d4694dcc946e3e6ee1d379274d..a1c198fd47bb022e802f8d8ea715a9d6e4008eba 100644 (file)
@@ -78,7 +78,7 @@ public slots:
     void slotRefreshEffects(ClipItem *clip);
     void setDuration(int duration);
     void slotAddTransition(ClipItem* clip, ItemInfo transitionInfo, int endTrack, QDomElement transition = QDomElement());
-    void slotTransitionUpdated(QDomElement, QDomElement);
+    void slotTransitionUpdated(Transition *, QDomElement);
     void slotSwitchTrackAudio(int ix);
     void slotSwitchTrackVideo(int ix);
 
index ab5593352155afb7372fb1c3e66b77684fab97da..268c9a29acc024437327f0e2a2b2d20ec3feaa32 100644 (file)
@@ -737,7 +737,7 @@ void MainWindow::connectDocument(TrackView *trackView, KdenliveDoc *doc) { //cha
             disconnect(effectStack, SIGNAL(removeEffect(ClipItem*, QDomElement)), m_activeTimeline->projectView(), SLOT(slotDeleteEffect(ClipItem*, QDomElement)));
             disconnect(effectStack, SIGNAL(changeEffectState(ClipItem*, QDomElement, bool)), m_activeTimeline->projectView(), SLOT(slotChangeEffectState(ClipItem*, QDomElement, bool)));
             disconnect(effectStack, SIGNAL(refreshEffectStack(ClipItem*)), m_activeTimeline->projectView(), SLOT(slotRefreshEffects(ClipItem*)));
-            disconnect(transitionConfig, SIGNAL(transitionUpdated(QDomElement, QDomElement)), trackView->projectView() , SLOT(slotTransitionUpdated(QDomElement, QDomElement)));
+            disconnect(transitionConfig, SIGNAL(transitionUpdated(Transition *, QDomElement)), trackView->projectView() , SLOT(slotTransitionUpdated(Transition *, QDomElement)));
             disconnect(m_activeTimeline->projectView(), SIGNAL(activateDocumentMonitor()), m_projectMonitor, SLOT(activateMonitor()));
         }
         m_activeDocument->setRenderer(NULL);
@@ -769,7 +769,7 @@ void MainWindow::connectDocument(TrackView *trackView, KdenliveDoc *doc) { //cha
     connect(effectStack, SIGNAL(removeEffect(ClipItem*, QDomElement)), trackView->projectView(), SLOT(slotDeleteEffect(ClipItem*, QDomElement)));
     connect(effectStack, SIGNAL(changeEffectState(ClipItem*, QDomElement, bool)), trackView->projectView(), SLOT(slotChangeEffectState(ClipItem*, QDomElement, bool)));
     connect(effectStack, SIGNAL(refreshEffectStack(ClipItem*)), trackView->projectView(), SLOT(slotRefreshEffects(ClipItem*)));
-    connect(transitionConfig, SIGNAL(transitionUpdated(QDomElement, QDomElement)), trackView->projectView() , SLOT(slotTransitionUpdated(QDomElement, QDomElement)));
+    connect(transitionConfig, SIGNAL(transitionUpdated(Transition *, QDomElement)), trackView->projectView() , SLOT(slotTransitionUpdated(Transition *, QDomElement)));
     connect(trackView->projectView(), SIGNAL(activateDocumentMonitor()), m_projectMonitor, SLOT(activateMonitor()));
     trackView->projectView()->setContextMenu(m_timelineContextMenu, m_timelineContextClipMenu, m_timelineContextTransitionMenu);
     m_activeTimeline = trackView;