L’ultima volta che ho scritto un post sulla Titolatrice, ho promesso che il mio prossimo aggiornamento sarebbe stato quando avremmo avuto una sorta di backend pronto: sono felice di annunciare che finalmente lo abbiamo!

Il Produttore QML MLT

Test

Puoi trovare il mio fork di MLT qui

Proviiamo a laciarlo! Cominciamo con qualcosa di semplice – prendiamo un sample file di QML: test.qmlu

Con il contenuto –

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

Dopo aver compilato, lancia: melt qml:test.qml , we get:

rendered QML frame

e voila!

Mi sembra che possiamo confermare (dall’esecuzione di “qmlscene” dalla riga di comando o da Qt Designer Studio) che sembra simile 

qmlscene rendered QML

Ora possiamo avere immagini con testo elaborato come questa che ho recentemente provato a creare

complicated QML frame

Anche se non è ancora aun’nimazione, può funzionare abbastanza bene per i nostri test inizial.

Una breve spiegazione

I file qml_wrapper gestiscono la generazione delle immagini renderizzate.
Per il rendering delle immagini, questo file utilizza QmlRenderer che ha endpoint per eseguire il rendering di un file QML in una data QImage.
.

producer_qml.cpp è il file principale del produttore.

Quando melt qml: test.qml viene eseguito, il produttore registrato (in questo caso “qml”) viene interrogato e inizializzato, quindi viene lanciata e riprodotta una finestra QApplication con i fotogrammi renderizzati (che è ciò che vediamo)

Per facilitare il produttore, ho rircritto molto codice nella libreria QmlRenderer rispetto a quello distribuito nell’ultimo post del blog,. Per cominciare, adesso solo un metodo deve essere chiamato per il rendering – render (&image). Il costruttore si prende cura del file di input e altri parametri (altezza, larghezza, formato) vengono inseriti dal parametro &image.

E Adesso?

E’ necessario provare il produttore in Kdenlive e vedere se è possibile riprodurre file “qml”. Ad oggi, stiamo esaminando alcuni problemi che ancora rimangono con la gestione errata di più contesti e thread OpenGL. Se l’esito sarà positivo potremo quindi iniziare a preoccuparci dell’interfaccia. Ad ogni modo vi terremo aggiornati!

Avremo la nuova Titolatrice nella versione 20.04?

Non lo sappiamo ancora. Se l’integrazione dei produttori non darà grandi problemi, la 20.04 potrebbe comunque non essere una scadenza fattibile, ma speriamo per il meglio.

Your content goes here. Edit or remove this text inline or in the module Content settings. You can also style every aspect of this content in the module Design settings and even apply custom CSS to this text in the module Advanced settings.

Traduzione dell’articolo di