]> git.sesse.net Git - kdenlive/commitdiff
Fix force aspect ratio:
authorJean-Baptiste Mardelle <jb@kdenlive.org>
Fri, 12 Jun 2009 16:18:01 +0000 (16:18 +0000)
committerJean-Baptiste Mardelle <jb@kdenlive.org>
Fri, 12 Jun 2009 16:18:01 +0000 (16:18 +0000)
http://kdenlive.org/mantis/view.php?id=812

svn path=/trunk/kdenlive/; revision=3521

src/clipitem.cpp
src/customtrackview.cpp
src/docclipbase.cpp
src/docclipbase.h
src/geometryval.h
src/initeffects.cpp
src/kdenlivedoc.cpp
src/mainwindow.cpp
src/projectlist.cpp
src/transitionsettings.cpp

index 5a8ab59b968e94829fdef7b344eea75ea2b6f800..615868b3fc0a1cf380ecba7a15ef8c3c076cef6b 100644 (file)
@@ -415,7 +415,7 @@ void ClipItem::refreshClip(bool checkDuration)
         QString colour = m_clip->getProperty("colour");
         colour = colour.replace(0, 2, "#");
         setBrush(QColor(colour.left(7)));
-    } else slotFetchThumbs();
+    } else resetThumbs();
 }
 
 void ClipItem::slotFetchThumbs()
@@ -707,7 +707,7 @@ void ClipItem::paint(QPainter *painter,
         pos = (*it).time() - cropStart();
         if (pos > GenTime()) {
             if (pos > duration()) break;
-            QLineF l(br.x() + pos.frames(m_fps), br.y() + 5, br.x() + pos.frames(m_fps), br.bottom() - 5);
+            QLineF l(br.x() + pos.frames(m_fps), br.y(), br.x() + pos.frames(m_fps), br.bottom());
             QLineF l2 = painter->matrix().map(l);
             //framepos = scale * pos.frames(m_fps);
             //QLineF l(framepos, 5, framepos, itemHeight - 5);
index 796ffa15910bec58dae61764f6e89e03cb9b3db7..d80cd53a2251bd65d24b069c3dfc158d9e9bcf48 100644 (file)
@@ -699,7 +699,7 @@ void CustomTrackView::mousePressEvent(QMouseEvent * event)
         resetSelectionGroup();
         setCursor(Qt::ArrowCursor);
         m_scene->clearSelection();
-        event->accept();
+        //event->accept();
         emit clipItemSelected(NULL);
         updateClipTypeActions(NULL);
         if (m_tool == SPACERTOOL) {
@@ -727,6 +727,7 @@ void CustomTrackView::mousePressEvent(QMouseEvent * event)
             groupSelectedItems(true);
             m_operationMode = SPACER;
         } else setCursorPos((int)(mapToScene(event->x(), 0).x()));
+        QGraphicsView::mousePressEvent(event);
         kDebug() << "END mousePress EVENT ";
         return;
     }
@@ -2958,10 +2959,11 @@ void CustomTrackView::slotUpdateClip(const QString &clipId)
         if (list.at(i)->type() == AVWIDGET) {
             clip = static_cast <ClipItem *>(list.at(i));
             if (clip->clipProducer() == clipId) {
-                clip->refreshClip(true);
                 ItemInfo info = clip->info();
                 info.track = m_document->tracksCount() - clip->track();
                 m_document->renderer()->mltUpdateClip(info, clip->xml(), clip->baseClip()->producer());
+                clip->refreshClip(true);
+                clip->update();
             }
         }
     }
@@ -4566,36 +4568,36 @@ void CustomTrackView::reloadTransitionLumas()
             break;
         }
     }
-  
+
     QList<QGraphicsItem *> itemList = items();
     Transition *transitionitem;
     QDomElement transitionXml;
     for (int i = 0; i < itemList.count(); i++) {
         if (itemList.at(i)->type() == TRANSITIONWIDGET) {
-            transitionitem = static_cast <Transition*> (itemList.at(i));
-           transitionXml = transitionitem->toXML();
-           if (transitionXml.attribute("id") == "luma" && transitionXml.attribute("tag") == "luma") {
-               QDomNodeList params = transitionXml.elementsByTagName("parameter");
-               for (int i = 0; i < params.count(); i++) {
-                   QDomElement e = params.item(i).toElement();
-                   if (e.attribute("tag") == "resource") {
-                       e.setAttribute("paramlistdisplay", lumaNames);
-                       e.setAttribute("paramlist", lumaFiles);
-                       break;
-                   }
-               }
-           }
-           if (transitionXml.attribute("id") == "composite" && transitionXml.attribute("tag") == "composite") {
-               QDomNodeList params = transitionXml.elementsByTagName("parameter");
-               for (int i = 0; i < params.count(); i++) {
-                   QDomElement e = params.item(i).toElement();
-                   if (e.attribute("tag") == "luma") {
-                       e.setAttribute("paramlistdisplay", lumaNames);
-                       e.setAttribute("paramlist", lumaFiles);
-                       break;
-                   }
-               }
-           }
+            transitionitem = static_cast <Transition*>(itemList.at(i));
+            transitionXml = transitionitem->toXML();
+            if (transitionXml.attribute("id") == "luma" && transitionXml.attribute("tag") == "luma") {
+                QDomNodeList params = transitionXml.elementsByTagName("parameter");
+                for (int i = 0; i < params.count(); i++) {
+                    QDomElement e = params.item(i).toElement();
+                    if (e.attribute("tag") == "resource") {
+                        e.setAttribute("paramlistdisplay", lumaNames);
+                        e.setAttribute("paramlist", lumaFiles);
+                        break;
+                    }
+                }
+            }
+            if (transitionXml.attribute("id") == "composite" && transitionXml.attribute("tag") == "composite") {
+                QDomNodeList params = transitionXml.elementsByTagName("parameter");
+                for (int i = 0; i < params.count(); i++) {
+                    QDomElement e = params.item(i).toElement();
+                    if (e.attribute("tag") == "luma") {
+                        e.setAttribute("paramlistdisplay", lumaNames);
+                        e.setAttribute("paramlist", lumaFiles);
+                        break;
+                    }
+                }
+            }
         }
     }
     emit transitionItemSelected(NULL);
index d9c329a0298c031151a5b085b12edbb563f0e66b..f0720bb3c8ec63040532e57c748f831691cb00b6 100644 (file)
@@ -548,6 +548,14 @@ void DocClipBase::setProducerProperty(const char *name, int data)
     }
 }
 
+void DocClipBase::setProducerProperty(const char *name, double data)
+{
+    for (int i = 0; i < m_baseTrackProducers.count(); i++) {
+        if (m_baseTrackProducers.at(i) != NULL)
+            m_baseTrackProducers[i]->set(name, data);
+    }
+}
+
 void DocClipBase::setProducerProperty(const char *name, const char *data)
 {
     for (int i = 0; i < m_baseTrackProducers.count(); i++) {
index 0b453eec0b28ccaff28923724d63197cbf125e3f..bae4e62326c2ba9a06ddaa0905cddcd1d0572c79 100644 (file)
@@ -219,6 +219,7 @@ private:   // Private attributes
     void slotCreateAudioTimer();
     void slotRefreshProducer();
     void setProducerProperty(const char *name, int data);
+    void setProducerProperty(const char *name, double data);
     void getFileHash(const QString url);
 
 public slots:
index b99a2a5d06fdd96386b949f31444efb07cbb9b6b..daa9bea5b48234303e1494a17a653f3abaa41a6a 100644 (file)
@@ -57,8 +57,8 @@ private:
     QMenu *m_scaleMenu;
     QMenu *m_alignMenu;
     QAction *m_syncAction;
-    QPoint m_frameSize;
     bool m_fixedMode;
+    QPoint m_frameSize;
     void updateTransitionPath();
     Ui::GeometryPosition_UI *m_view;
 
index d276f987a31f9b80952f41785d39d19c19a9ae16..42e1d26bbc5ee9d3641317cb9fdc20e99b1cdb63 100644 (file)
@@ -667,7 +667,7 @@ void initEffects::fillTransitionsList(Mlt::Repository * repository, EffectsList*
             }
 
             if (name == "luma") {
-               ktrans.setAttribute("id", name);
+                ktrans.setAttribute("id", name);
                 tname.appendChild(ret.createTextNode("Wipe"));
                 desc.appendChild(ret.createTextNode("Applies a stationary transition between the current and next frames"));
 
index d746f87bedbacc20724210eb131d6b635b34f093..79ad86cbd049916ef4323e5d1fa532dad8a4905e 100644 (file)
@@ -233,7 +233,7 @@ KdenliveDoc::~KdenliveDoc()
     delete m_clipManager;
     delete m_autoSaveTimer;
     if (m_autosave) {
-        m_autosave->remove();
+        if (!m_autosave->fileName().isEmpty()) m_autosave->remove();
         delete m_autosave;
     }
 }
index bec755b3cb9237dfd610f03b9b18063035aa8ff1..2c027607005a24b1298106e44dc04d99683cd285 100644 (file)
@@ -1527,7 +1527,7 @@ void MainWindow::slotEditProfiles()
 void MainWindow::slotDetectAudioDriver()
 {
     //decide which audio driver is really best, in some cases SDL is wrong
-    if(KdenliveSettings::audiodrivername().isEmpty()) {
+    if (KdenliveSettings::audiodrivername().isEmpty()) {
         QString driver;
         KProcess readProcess;
         //PulseAudio needs to be selected if it exists, the ALSA pulse pcm device is not fast enough.
@@ -1539,7 +1539,7 @@ void MainWindow::slotDetectAudioDriver()
             QString result = QString(readProcess.readAllStandardOutput());
             kDebug() << "// / / / / / READING PACTL: ";
             kDebug() << result;
-            if(!result.isEmpty()) {
+            if (!result.isEmpty()) {
                 driver = "pulse";
                 kDebug() << "// / / / / PULSEAUDIO DETECTED";
             }
index cd160664df71b43d27edd1918269f258b6832f91..0536cbf3f81a1b8e45232cbe6725418b5dbabe17 100644 (file)
@@ -257,7 +257,7 @@ void ProjectList::slotUpdateClipProperties(const QString &id, QMap <QString, QSt
     ProjectItem *item = getItemById(id);
     if (item) {
         slotUpdateClipProperties(item, properties);
-        if (properties.contains("colour") || properties.contains("resource") || properties.contains("xmldata")) slotRefreshClipThumbnail(item);
+        if (properties.contains("colour") || properties.contains("resource") || properties.contains("xmldata") || properties.contains("force_aspect_ratio")) slotRefreshClipThumbnail(item);
         if (properties.contains("out")) item->changeDuration(properties.value("out").toInt());
     }
 }
index 7b16827dfb5b6de448f4241b00032d491edd5aac..3b90e5a1d6f2ec945cf56c278d3a1258f055901b 100644 (file)
@@ -148,11 +148,10 @@ void TransitionSettings::slotTransitionItemSelected(Transition* t, QPoint p, boo
             slotTransitionChanged(false, false);
             m_ui.transitionList->blockSignals(false);
         }
-    }
-    else {
-       // null transition selected
-       m_usedTransition = NULL;
-       m_effectEdit->transferParamDesc(QDomElement(), 0, 0);
+    } else {
+        // null transition selected
+        m_usedTransition = NULL;
+        m_effectEdit->transferParamDesc(QDomElement(), 0, 0);
     }
 
 }