GoZen Update: 2024 – Week 18

The GoZen GDExtension is probably completely finished for now! ๐Ÿ˜€ Took some time to do some of the optimizations which I wanted but got everything working and cleaned up. For an update on the current progress go to the GitHub issue: https://github.com/VoylinsGamedevJourney/GoZen/issues/93

Progress has been slow this week due to finishing up the Video Player tutorial series and because of some family activities. Still, happy with the progress I’ve made.

GDExtension is finished

As I already said, the GDExtension is probably finished. I don’t intend to change any of the code (maybe update the renderer and render profile when working on the render video ui). For now here is a quick overview of all the changes.

No more GoZenInterface class

Decided to remove this one and add the code to the already existing Renderer and Video classes instead. I couldn’t really see a logical use in still having this class around as the needed functions would be used in addition with the other classes anyway. There is also no more ffmpeg_includes.hpp as well. Decided to remove this one for kind of the same reason as the GoZen interface class, cleaning up not necessary files.

Video class

The video class is finally complete and working!! Only thing which could be done are optimizations related, something I’ll stay far away from for the time being. It works, performance is good and frame seeking also works, that checks all of my boxes. ^^

Renderer

Renderer got some adjustments and got tested for functionality, at this moment we still don’t have audio support!! Which is kind of annoying, but this is something I’ll work on later as soon as I manage to create the rendered video audio inside of the Godot part of the project. This way I can work more efficiently on the GDExtension side of things.

Render Profile

This one still needs some changes to make the rendering as smooth and advanced as possible, some features still need an option for changing, but as long as we don’t have actual rendering functionality inside of the Godot side of things, I won’t be working on the GDExtension side of things.

Builder

Builder got some updates as the current way it was working was a pain and most simple things were broken. Work still needs to be done to this, such as running the build script with arguments so you don’t have to type in all arguments individually each and every time. But this is only something I’ll work on much much later, or if somebody feels called to work on this, go ahead. ๐Ÿ˜‰

Timeline

The timeline will need some finishing up, but many things need to be added on the data handling side of things before the ui side can get the needed additions. This will be the biggest challenge, a bad performing timeline can make it too frustrating to use the video editor. I keep having many problems inside of KdenLive so I really wan’t to avoid a buggy experience as much as I can.