Pitivi GSoC: 2nd Update

3 min read | Mon Jul 18 2022


https://d33wubrfki0l68.cloudfront.net/6ffa635bfcc67c04d48c4c226334d0c917f8dc62/1219b/images/uploads/gnome-gif.gif

Hello everyone! I hope you all are doing well.

This is my second GSoC update blog, in the 2 weeks since my last update, we have reached further in the port progress.

Updates

In my last update, I said that we will move on to changing the version to GTK4 once the event controllers are implemented, but it didn't go well, not all event controllers were backported and one of the most used ones had a different name in GTK3+ thus, for the time being, we have delayed event controller implementations and moved onto changing the dependencies to GTK4, officially starting the Breaking Phase.

As expected, the breaking phase did break everything, one error after another, it is like watching a domino effect, but we are also making progress. One thing which helped me a lot in fixing stuff when everything falls apart is to comment out or make a temporary fix to the errors I want to deal with later, and once I find an error that can be fixed now, I stash the temporary bypasses and fixes, I then fix the error which I want to fix, commit them, apply the stash, check if the error is gone and push the commit, allowing me to make more progress.

Code break

Due to this, there will be stuff that I think is fixed but could be broken in some way or another, hence I call it blind archery (There should be an Olympic for it, the one with the least errors at the end wins :P), but we will only get to know that once the application becomes usable again. I still have a long road ahead, but I'm having lot of fun in the progress.

These errors make me question many times "what did I smoke when I made the decision to choose CS as my career field?", but then I remember that I don't smoke and take on the challenge 😄

The reading

Most of my work during the port has been reading documentation, lots of it, I don't like to read, but I am sure after GSoC that is going to change, either I will love it or would make it my archenemy 😂.

Biggest Challenge

The biggest challenge I believe will be to implement the new event controllers when the time comes, especially the drag and drop functionality, and as you know we can't have a video editor without that, I mean we maybe can but would you like to use that? 😛.

Terminal based video editor

Feedback for documentation devs

Which also leads me to a feedback for the port guide and GTK documentation developers, I know you guys work really hard, but I think something we all will appreciate is to have code samples in more than one programming language and or a functionality allowing devs who have used the modules to post tips and tricks and code samples to help others going through the same issue. Also, it will be amazing if you can modify GTK3 docs to say which functions or properties are now deprecated along with replacement recommendations, I think the GJS Docs do that for some things.

Documentation meme

GUADEC'22

Also, GUADEC 2022 is arriving and I have prepared my intern lightning talk for it, I hope you guys will enjoy it as much as I enjoyed it while making it, I tried to keep it more fun and less bland. Hopefully, I will be able to meet some of you in-person during GNOME Asia, but for the time being, I'm looking forward to GUADEC'22.

guadec-sticker

That will be it for this one, see you all in the next one 😀