Als ich das letzte Mal über den Titler gebloggt habe, habe ich versprochen, dass das nächste Update erfolgt wenn wir eine Art Backend fertig haben – und ich freue mich, dass wir jetzt eine Art Backend fertig haben!

Der QML MLT Producer

Testen

Mein MLT Zweig ist hier

Versuchen wir es mal! Beginnen wir mit etwas Einfachem – wir nehmen eine Beispiel-QML-Datei: test.qml

Mit dem Inhalt –

import QtQuick 2.0

Item {
  Rectangle {
    id: rectangle
    x:0
    y: 0
    width: 155
    height: 160
    color: "#5cd037"
  }
}

Nachdem wir build abgeschlossen haben, führen wir aus: melt qml:test.qml , und erhalten:

rendered QML frame

e voila!

Was wir bestätigen können (durch Ausführen von “qmlscene” in der Befehlszeile oder im Qt Designer Studio), das ähnlich aussieht

qmlscene rendered QML

Und wir können Bilder mit ausgefalleneren Texten und Bildern haben, wie dieses, das ich kürzlich erstellt habe –

complicated QML frame

Obwohl es sich noch nicht um Animationen handelt, funktioniert dies gut genug für unsere ersten Tests.

Eine kurze Erklärung

qml_wrapper Dateien übernehmen die Erzeugung der gerenderten Bilder.
Um Bilder zu rendern, verwendet diese Datei den QmlRenderer, der über Endpunkte verfügt, um eine QML-Datei in ein bestimmtes QImage zu rendern.

producer_qml.cpp ist die Hauptdatei.

Wenn melt qml:test.qml ausgeführt wird, wird der registrierte Producer (in diesem Fall “qml”) abgefragt und initialisiert, und dann wird ein QApplication-Fenster mit den gerenderten Frames gestartet und abgespielt (das was wir sehen).

Ich habe eine Menge Code in der QmlRenderer Bibliothek überarbeitet und mit dem Code im letzten Blog-Beitrag verglichen, um dem Producer die Arbeit zu erleichtern. Für den Anfang muss jetzt nur noch eine Methode zum Rendern aufgerufen werden – render(&image). Der Konstruktor kümmert sich um die Eingabedatei, und andere Parameter (Höhe, Breite, Format) werden gespeist vom Parameter &image.

Wie geht es weiter?

Testen des Producers in Kdenlive und prüfen, ob wir “qml” -Dateien in Kdenlive abspielen können. Bisher gibt es einige Probleme bei der fehlerhaften Behandlung mehrerer OpenGL-Kontexte und beim Threading, mit denen wir uns derzeit befassen. Und wenn das gut geht, können wir uns über die Benutzeroberfläche Gedanken machen. Wir werden Euch wissen lassen, wie es läuft!

Werden wir den neuen Titler für 20.04 haben?

Das wissen wir noch nicht. Wenn die Integration des Producers ohne größere Probleme verläuft, könnte 20.04. ein realisierbarer Termin sein oder auch nicht. Hoffen wir auf das Beste.