GoZen update: 2024 – Week 10

This update is kind of a big one, a lot has changed in terms of structure and overall way of handling data.

Export profiles

First of let’s talk about export profiles. My commit for export profiles is actually not 100% complete but more on that later. As mentioned a couple of times before in previous posts, we will have a GoZen full and a GoZen lite version. These export profiles for the time being only have a difference in the resources which they include.

Lite version

The lite version won’t be including any of the official modules, instead you’ll have to add these manually. The reason for this lite version is to make GoZen as much of a modular video editor as possible, you can keep it as small as you want, with the drawback that you need to manually include the official modules you want, or include custom modules, or make your own for all necessary features.

Full version

For the full version I’m considering which would be better. We could or compile the entire engine as is, or we take the light version, bundle it with the modules and have an installer which let’s people decide which modules they want on their system and put these into the custom modular folders. This way people can still delete pre-installed modules, this would be beneficial and would help to keep GoZen modular no matter what version you choose.

Not complete

The official modules will also have to be exported, but these need an export profile of their own so we can export them as a pck file. But we will look at this when the time comes as we also really need to check how the full version export will happen.

Refactoring code/structure

In the beginning of this week I put a lot of focus on making the project structure a bit easier to look at and search through, in addition to that I also added more (documentation) comments explaining what some function do. I realized that this was needed after coming back to GoZen after a month and found myself struggling to find out what’s what and what does which.

Folder/File changes

Some files and folders changed, especially their structure. This was a needed change and something I have been wanting to do for some time. The UI folder has seen some changes and this is because this folder is supposed to have the UI parts which can not be changed by modules, the core UI parts of GoZen. I wanted to structure these a bit better and keep screens from popups. The naming of the files and folders also changed to create a bit more structure

Script folders

Autoloads and the classes folder are now in a mutual folder in res:// called scripts. Main reason for this change is to make the res:// folder a bit more organized.

Module folders

Module folders in the project have a underscore in front of them now. This is just for easy of use and saves adding extra characters to the path instead of putting them in another folder called ‘modules’, will also remove some confusion when it comes to a main folder called ‘modules’ and a folder inside called ‘modules’.

Dialog Manager

This is supposed to help with the amount of code a single dialog creation can give. Also, putting the dialog creations in one script will give an easier way of changing certain elements of dialog’s. By example, we can easily disable native dialogues or create a setting which will deal with that without us having to change all individual scripts.

Data handling

Data handling has changed for the recent projects part of the engine. I’m planning on changing all data saving systems a bit more to apply object oriented programming, this will help to have less unnecessary bugs later on when trying to call for variables which would normally exist. So a lot more classes will be created and the saving + loading of data will see some updates.

Now is my time to make these changes to save myself time and trouble in the future when people are actually using GoZen. I also noticed some performance drawbacks with using Config files, so I’ll be switching a couple of the systems in the next few weeks.

Known bugs

  • Settings menu and project settings menu popup does not pop;
  • You still can’t edit videos. :p

What’s next

Data structure changes will be happening next, together with the media pool which is already halfway near completion. After that the timeline will be taken care of. But then … I’ll have to start work on the FFmpeg GDExtension again so people can actually import videos for editing. ^^” Not really looking forward to that part. hahah