]> git.sesse.net Git - kdenlive/blobdiff - src/renderer.cpp
Get rid of all blackmagic stuff, we now get infos directly from MLT, no more compile...
[kdenlive] / src / renderer.cpp
index 85b08d345e4e04696ccf46451b5f2767dfe6f1cd..13fb831f09aa90bdbce921cff816c71f4707cb28 100644 (file)
@@ -125,7 +125,7 @@ Render::Render(Kdenlive::MONITORID rendererName, int winid, QString profile, QWi
     m_mltConsumer->connect(*m_mltProducer);
     m_mltProducer->set_speed(0.0);
     m_refreshTimer.setSingleShot(true);
-    m_refreshTimer.setInterval(50);
+    m_refreshTimer.setInterval(70);
     connect(&m_refreshTimer, SIGNAL(timeout()), this, SLOT(refresh()));
 }
 
@@ -1593,7 +1593,7 @@ void Render::emitFrameUpdated(Mlt::Frame& frame)
     const uchar* image = frame.get_image(format, width, height);
     QImage qimage(width, height, QImage::Format_RGB888);
     memcpy(qimage.bits(), image, width * height * 3);*/
-    emit frameUpdated(qimage);
+    emit frameUpdated(qimage.rgbSwapped());
 }
 
 void Render::emitFrameNumber()
@@ -4213,5 +4213,42 @@ const QString Render::activeClipId()
     return QString();
 }
 
+//static 
+bool Render::getBlackMagicDeviceList(KComboBox *devicelist)
+{
+    Mlt::Profile profile;
+    Mlt::Producer bm(profile, "decklink");
+    int found_devices = 0;
+    if (bm.is_valid()) found_devices = bm.get_int("devices");
+    if (found_devices <= 0) {
+       devicelist->setEnabled(false);
+       return false;
+    }
+    for (int i = 0; i < found_devices; i++) {
+       char *tmp = qstrdup(QString("device.%1").arg(i).toUtf8().constData());
+       devicelist->addItem(bm.get(tmp));
+       delete[] tmp;
+    }
+    return true;
+}
+
+bool Render::getBlackMagicOutputDeviceList(KComboBox *devicelist)
+{
+    Mlt::Profile profile;
+    Mlt::Consumer bm(profile, "decklink");
+    int found_devices = 0;
+    if (bm.is_valid()) found_devices = bm.get_int("devices");
+    if (found_devices <= 0) {
+       devicelist->setEnabled(false);
+       return false;
+    }
+    for (int i = 0; i < found_devices; i++) {
+       char *tmp = qstrdup(QString("device.%1").arg(i).toUtf8().constData());
+       devicelist->addItem(bm.get(tmp));
+       delete[] tmp;
+    }
+    return true;
+}
+
 #include "renderer.moc"