GoZen Update: 2024 – Week 15

This week was a busy one, worked a lot on the FFmpeg side of things, cleaning up some of the build files and decided to move the translations stuff back into the original code as this is probably for the best.

No more submodule

The submodule for the translations stuff is something I moved back to the main repo to make things easier. The initial reasoning why I moved it was to make it easier, but I started realizing more and more that this was just complicating things even more, especially since I started working a bit more on my own POT system. I’ll be pushing the commits today to the main repo after I finished converting the translation contributing stuff back.

POT generation

I figured out a good system for the POT generation for GoZen, I have slightly resumed work on this, but the actual commit will be for much later as I still have some stuff to work out. At this point, just as before, my main focus at the moment is making GoZen usable.

FFmpeg

Some big improvements to the whole FFmpeg code happened this week, still working out some bugs though. These bugs have been making it difficult to focus on the UI part again, but I’ll probably leave the bugs for what they are and next week will be focus time on the UI. The FFmpeg code is basically done and as performant as I can get it for now with my current knowledge. We have multi-threading, smooth video playback, and audio is also working.

The biggest bug right now which I really want to fix is the inconsistent duration of video and audio which makes me have to do some hacky stuff to get audio and video aligned.

Video player series

This bug is also something I want to fix before ending the Video player series. So far making this series has taken up a ton of time, but this series will be so valuable for people who want to contribute to GoZen. The godot-cpp repo had some changes so unfortunately some stuff is kind of outdated right now ^^” But nothing which would actually break the GDExtension.

Alpha when?

As I mentioned before, the FFmpeg part is working (although again, in a hacky way). The video player will be step one of the testing, it is a bare project which can be used for testing the FFmpeg implementation. This first step gives me a bit more buffer time which I can use on getting the UI working and make video exporting possible.

So yeah, my deadline which I set myself knowing what is left became middle of May, with the first phase coming as soon as I finish the video player series, which will probably take around a week or so. It’s a very big series and I kind of underestimated the time this series would take. ^^” But it’s one of my first actual tutorial series and I’m learning a lot making it, I just hope that this is also teaching people a lot. ^^ Anyway, I’m going back to work now as there is a mountain of work left to do. 😉