It’s already been a month now, and this week – it hasn’t been the most exciting one. Mostly meddling with MLT, going through pages of documentation, compiling MLT and getting used to the MLT codebase.
With the last week, I concluded with the rendering library part and now this week, I began writing a new producer in MLT for QML which will be rendered using the renderering library. So I went through a lot of MLT documentation, and it being a relatively new field for me, here is what I’ve gathered so far:
At its core, MLT employs the basic producer-consumer concept. A producer produces data (here, frame objects) and a consumer consumes frames – as simple as that.
Producer —> Consumer
We have producers for different things which the current titler uses like qtext, qimage and kdenlivetitle. What these producers do is simple, take the case of kdenlivetitle, it loads an XML file, parses it, initializes producer properties and then the producer is ready to produce frames.
What I have to do for the next course of days is to write a new producer which loads QML, renders them (using my library) and then produce these frames. I’ve started with writing the new producer although the progress has been slow as I’m still wrapping my head around all the code and trying to figure out what my next step should be. You can look at the code here, although there isn’t much at the moment – producer_qml.c, qml_wrapper.*
Apart from that, the build system for the rendering library will soon be added to the MLT build system within the next few days and with that, I’ll be able to use the rendering library for the producer. And pretty soon, we should have a producer working hopefully!