]> git.sesse.net Git - kdenlive/commitdiff
use effectstackedit also for transitions
authorMarco Gittler <marco@gitma.de>
Sat, 22 Mar 2008 22:35:20 +0000 (22:35 +0000)
committerMarco Gittler <marco@gitma.de>
Sat, 22 Mar 2008 22:35:20 +0000 (22:35 +0000)
svn path=/branches/KDE4/; revision=2101

src/customtrackview.cpp
src/renderer.cpp
src/transitionsettings.cpp
src/transitionsettings.h
src/widgets/transitionsettings_ui.ui

index 0b499d1eb6be337b965e1fb3b8a5c6a969b4852d..1217d1ab5e32d7ecc3eb4477f8f2324cc69a7221 100644 (file)
@@ -591,6 +591,10 @@ void CustomTrackView::slotTransitionUpdated(QDomElement old, QDomElement newEffe
 }
 
 void CustomTrackView::updateTransition(int track, GenTime pos, QDomElement oldTransition, QDomElement transition) {
+       QString s;
+       QTextStream tx(&s);
+       transition.save(tx,2);
+       kDebug() << "in" << s;
     QMap < QString, QString> map;
     QDomNamedNodeMap attribs = transition.attributes();
     for (int i = 0;i < attribs.count();i++) {
index 8dc474cdbcf958ff95a2bfc9ce16490a31370e7c..c636b75b9cb8e66f9a6cd298e057eaa590dcd1db 100644 (file)
@@ -1012,27 +1012,27 @@ void Render::mltInsertClip(int track, GenTime position, QDomElement element) {
     QString resource = doc.toString();
 
     kDebug() << "///////  ADDING CLIP TMLNE: " << resource << " ON TRACK: " << track;
-    Mlt::Tractor *tractor = getTractor();
-    if (tractor) {
-        Mlt::Playlist *trackPlaylist = getPlaylist(track);
-        if (trackPlaylist) {
-            char *tmp = decodedString(resource);
-            Mlt::Producer clip(*m_mltProfile, "westley-xml", tmp);
-            //clip.set_in_and_out(in.frames(m_fps), out.frames(m_fps));
-            delete[] tmp;
-
-            trackPlaylist->insert_at((int)position.frames(m_fps), clip, 1);
-            tractor->multitrack()->refresh();
-            tractor->refresh();
-            if (track != 0) mltCheckLength();
+    //Mlt::Tractor *tractor = getTractor();
+    //if (tractor) {
+    Mlt::Playlist *trackPlaylist = getPlaylist(track);
+    if (trackPlaylist) {
+        char *tmp = decodedString(resource);
+        Mlt::Producer clip(*m_mltProfile, "westley-xml", tmp);
+        //clip.set_in_and_out(in.frames(m_fps), out.frames(m_fps));
+        delete[] tmp;
+
+        trackPlaylist->insert_at((int)position.frames(m_fps), clip, 1);
+        //tractor->multitrack()->refresh();
+        //tractor->refresh();
+        if (track != 0) mltCheckLength();
 
 
 
-            delete trackPlaylist;
-            mltSavePlaylist();
-        }
-        delete tractor;
+        delete trackPlaylist;
+        mltSavePlaylist();
     }
+    //delete tractor;
+    //}
     m_isBlocked = false;
 }
 
@@ -1217,7 +1217,7 @@ void Render::mltResizeClipEnd(int track, GenTime pos, GenTime in, GenTime out) {
 
     Mlt::Playlist *trackPlaylist = getPlaylist(track);
     if (trackPlaylist) {
-        Mlt::Tractor *tractor = getTractor();
+        //Mlt::Tractor *tractor = getTractor();
         if (trackPlaylist->is_blank_at((int)pos.frames(m_fps) + 1))
             kDebug() << "////////  ERROR RSIZING BLANK CLIP!!!!!!!!!!!";
         int clipIndex = trackPlaylist->get_clip_index_at((int)pos.frames(m_fps) + 1);
@@ -1237,11 +1237,11 @@ void Render::mltResizeClipEnd(int track, GenTime pos, GenTime in, GenTime out) {
         } else trackPlaylist->insert_blank(clipIndex + 1, previousDuration - newDuration - 1);
 
         trackPlaylist->consolidate_blanks(0);
-        tractor->multitrack()->refresh();
-        tractor->refresh();
+        //tractor->multitrack()->refresh();
+        //tractor->refresh();
         if (track != 0) mltCheckLength();
-        if (tractor)
-            delete tractor;
+        //if (tractor)
+        //    delete tractor;
         m_isBlocked = false;
         delete trackPlaylist;
     }
@@ -1252,7 +1252,6 @@ void Render::mltChangeTrackState(int track, bool mute, bool blind) {
     Mlt::Tractor *tractor = getTractor();
     if (tractor) {
         Mlt::Producer trackProducer(tractor->track(track));
-        Mlt::Playlist trackPlaylist((mlt_playlist) trackProducer.get_service());
         if (mute) {
             if (blind) trackProducer.set("hide", 3);
             else trackProducer.set("hide", 2);
@@ -1261,10 +1260,12 @@ void Render::mltChangeTrackState(int track, bool mute, bool blind) {
         } else {
             trackProducer.set("hide", 0);
         }
-        tractor->multitrack()->refresh();
-        tractor->refresh();
-        delete tractor;
+        //tractor->multitrack()->refresh();
+        //tractor->refresh();
+        //delete tractor;
         refresh();
+        delete tractor;
+
     }
 }
 
index e50daa501d3403de2bc562f265308310d409c589..7bcac223435ea1a2c2bc47014bada4eebf1c4f6b 100644 (file)
 #include "transition.h"
 #include <KDebug>
 #include "effectslist.h"
+#include "effectstackedit.h"
 
 TransitionSettings::TransitionSettings(EffectsList *transitions, QWidget* parent): QWidget(parent) {
     ui.setupUi(this);
+    effectEdit = new EffectStackEdit(ui.frame, this);
     setEnabled(false);
     m_transitions = transitions;
     ui.listWidget->addItems(transitions->effectNames());
     kDebug() << transitions->effectNames().size() << " -" << transitions->size();
     connect(ui.listWidget, SIGNAL(currentRowChanged(int)), this, SLOT(slotTransitionChanged()));
+    connect(this, SIGNAL(transferParamDesc(const QDomElement&, int , int)), effectEdit , SLOT(transferParamDesc(const QDomElement&, int , int)));
+    connect(effectEdit, SIGNAL(parameterChanged(const QDomElement&, const QDomElement&)), this , SLOT(slotUpdateEffectParams(const QDomElement&, const QDomElement&)));
 }
 
+
 void TransitionSettings::slotTransitionChanged() {
     QDomElement e = m_usedTransition->toXML();
     QDomElement newElement = e.cloneNode().toElement();
@@ -36,7 +41,10 @@ void TransitionSettings::slotTransitionChanged() {
     QDomElement desc = m_transitions->getEffectByName(ui.listWidget->currentItem()->text());
 
     newElement.setAttribute("type", desc.attribute("tag"));
+    newElement.setAttribute("invert", "1");
+
     emit transitionUpdated(e, newElement);
+    emit transferParamDesc(desc, 0, 0);
 }
 
 void TransitionSettings::slotTransitionItemSelected(Transition* t) {
@@ -44,3 +52,7 @@ void TransitionSettings::slotTransitionItemSelected(Transition* t) {
     m_usedTransition = t;
 }
 
+void TransitionSettings::slotUpdateEffectParams(const QDomElement& oldparam, const QDomElement& param) {
+
+    //emit transitionUpdated(oldparam, param);
+}
\ No newline at end of file
index bc1c10690c0dbd3c075c1c5fc2ad2316209865e9..7b6b0a961a6d6f1c787b1a2baa6e0afbe9c1ad90 100644 (file)
@@ -21,6 +21,7 @@
 
 class Transition;
 class EffectsList;
+class EffectStackEdit;
 
 class TransitionSettings : public QWidget  {
     Q_OBJECT
@@ -29,12 +30,15 @@ public:
 private:
     Ui::TransitionSettings_UI ui;
     EffectsList *m_transitions;
+    EffectStackEdit *effectEdit;
     Transition* m_usedTransition;
 public slots:
     void slotTransitionItemSelected(Transition*);
     void slotTransitionChanged();
+    void slotUpdateEffectParams(const QDomElement&, const QDomElement&);
 signals:
     void transitionUpdated(QDomElement, QDomElement);
+    void transferParamDesc(const QDomElement&, int , int);
 };
 
 #endif
index f72fbff41bc1b6f633cb1a5740a0971b9c5cbbe6..6a91ec5fb4dcc57baab024be9ef9890d705c6de3 100644 (file)
       <enum>Qt::Horizontal</enum>
      </property>
      <widget class="QListWidget" name="listWidget" />
-     <widget class="QGroupBox" name="groupBox" >
-      <property name="title" >
-       <string>GroupBox</string>
+     <widget class="QFrame" name="frame" >
+      <property name="frameShape" >
+       <enum>QFrame::StyledPanel</enum>
+      </property>
+      <property name="frameShadow" >
+       <enum>QFrame::Raised</enum>
       </property>
      </widget>
     </widget>