]> git.sesse.net Git - kdenlive/blobdiff - src/markerdialog.cpp
Correctly focus clips / folders when they are created:
[kdenlive] / src / markerdialog.cpp
index 6e0e30c2337ddeeed8d0cebabbf075ca8ea7369b..7fd788439be7808e0b8e8f1ba32df06908c7e445 100644 (file)
 
 MarkerDialog::MarkerDialog(DocClipBase *clip, CommentedTime t, Timecode tc, const QString &caption, QWidget * parent) :
         QDialog(parent),
-        m_tc(tc),
-        m_clip(clip),
-        m_marker(t),
         m_producer(NULL),
-        m_profile(NULL)
+        m_profile(NULL),
+        m_clip(clip),
+        m_tc(tc)
 {
     setFont(KGlobalSettings::toolBarFont());
     m_fps = m_tc.fps();
@@ -46,16 +45,17 @@ MarkerDialog::MarkerDialog(DocClipBase *clip, CommentedTime t, Timecode tc, cons
         m_profile = new Mlt::Profile((char*) KdenliveSettings::current_profile().data());
         m_dar = m_profile->dar();
         QDomDocument doc;
-        QDomElement westley = doc.createElement("westley");
-        QDomElement play = doc.createElement("playlist");
-        doc.appendChild(westley);
-        westley.appendChild(play);
+        QDomElement mlt = doc.createElement("mlt");
+        QDomElement play = doc.createElement("mlt");
+        doc.appendChild(mlt);
+        mlt.appendChild(play);
         play.appendChild(doc.importNode(clip->toXML(), true));
         //char *tmp = doc.toString().toUtf8().data();
-        m_producer = new Mlt::Producer(*m_profile, "westley-xml", doc.toString().toUtf8().data());
+        m_producer = new Mlt::Producer(*m_profile, "xml-string", doc.toString().toUtf8().data());
         //delete[] tmp;
-
-        QPixmap p((int)(100 * m_dar), 100);
+        int width = 100.0 * m_dar;
+        if (width % 2 == 1) width++;
+        QPixmap p(width, 100);
         QString colour = clip->getProperty("colour");
         switch (m_clip->clipType()) {
         case VIDEO:
@@ -65,7 +65,7 @@ MarkerDialog::MarkerDialog(DocClipBase *clip, CommentedTime t, Timecode tc, cons
             connect(this, SIGNAL(updateThumb()), m_previewTimer, SLOT(start()));
         case IMAGE:
         case TEXT:
-            p = KThumb::getFrame(m_producer, t.time().frames(m_fps), (int)(100 * m_dar), 100);
+            p = KThumb::getFrame(m_producer, t.time().frames(m_fps), width, 100);
             break;
         case COLOR:
             colour = colour.replace(0, 2, "#");
@@ -97,15 +97,17 @@ MarkerDialog::MarkerDialog(DocClipBase *clip, CommentedTime t, Timecode tc, cons
 MarkerDialog::~MarkerDialog()
 {
     delete m_previewTimer;
-    if (m_producer) delete m_producer;
-    if (m_profile) delete m_profile;
+    delete m_producer;
+    delete m_profile;
 }
 
 void MarkerDialog::slotUpdateThumb()
 {
     m_previewTimer->stop();
     int pos = m_tc.getFrameCount(m_view.marker_position->text(), m_fps);
-    QPixmap p = KThumb::getFrame(m_producer, pos, (int)(100 * m_dar), 100);
+    int width = 100.0 * m_dar;
+    if (width % 2 == 1) width++;
+    QPixmap p = KThumb::getFrame(m_producer, pos, width, 100);
     if (!p.isNull()) m_view.clip_thumb->setPixmap(p);
     else kDebug() << "!!!!!!!!!!!  ERROR CREATING THUMB";
 }