Skip to main content

Introduction: GSoC with CCExtractor

CCExtractor has been selected as Organisation in Google Summer of Code program. For those of you don't know Google Summer of Code is a global coding program focused on bringing more student developers into open source software development. Know more!
CCExtractor is a Closed Captions Extractor from various video formats and live streams, a project led by Mr. Carlos Fernandez Sanz. CCExtractor might be a small project as seen from the perspective of codebase in comparison with other big Open Source projects but is indeed a powerful tool and has a great potential to be used as a software and to evolve to something greater. Know More!

This is my first blog post related to my Google Summer of Code project with CCExtractor. I would be working on Cross Platform GUI for CCExtractor using NUKLEAR library. I've been assigned two mentors for my project, Mr. Willem Van Iseghem and Mr. Evgeny Shulgin  who will guide me and review my ideas. CCExtractor currently has cross platform GUI made in Qt and a Windows specific GUI. My task aims to unify everything. Unlike Qt, which incurs many dependencies to make it work as a cross platform application, Nuklear is a single header library that  incurs no dependency to draw widgets but has many options choose from as render back-end for Windowing. The main GUI logic will be independent of any render back-end code.  Since, official coding period begins on 30th May, I'm currently doing self practice with Nuklear on different platforms and interacting with Mentors on how to bring about the changes in the best way possible.

Comments

Popular posts from this blog

Official Coding Period Begins

Official Coding period started on May 30, 2017 at 2130 Hours IST. I have learned a lot about Nuklear Library. I did a lot of self practice. In Nuklear, the layouts are used row by row instead of defining layout for a specific window at once. It took a while to figure me out how the layout actually works without any documentation. Moreover, there are a lot of layouts to select depending upon your GUI design so you have a lot of feasibility. I'm planning to use combination of different layouts (Static, Dynamic and Layout element Stack) for the main screen of GUI, planning for the rest of the screens is work in progress. I've practiced all the layouts but haven't practiced writing custom layouts ( because most probably already provided layouts would suffice). I practiced making a tabbed view (as proposed in GSoC proposal) using buttons in Nuklear library, since an actual tabbed view isn't already written in the library. I also tried to understand and practiced making a c

Phase I Evaluation

I passed. At first the tasks seemed too daunting and intimidating to complete. When I framed the proposal, I didn't know how tough (or easy) it'll be to implement because didn't have any experience in Nuklear Library (the GUI library). But when I actually started learning Nuklear Library, I realised, maybe I over-claimed somethings for Phase I evaluation. But got past every Hurdle and I passed. I implemented fully working Basic mode of the CCExtractor GUI and partially working Advanced Mode of CCExtractor GUI. Partial in the sense that, there are many setting and tweaking options in CCExtractor, all of them aren't available, yet. But basic Input and Output tweak settings are available. This is how it looks so far: ->Main Screen, as soon as the GUI is launched. ->When "Advanced Mode" is checked. The upper row is populated with Tabs corresponding to specific genre of settings. -> Input tab has the basic input options. (Advanced options

Phase II: Almost Done

I'm too late (almost a month) to post for Phase II Evaluations. College have started and so have the placements but Google Summer of Code is still on. However big problem it may seem. I find it extraordinarily stimulating, adventurous. As per Project Proposal, I promised to deliver fully functional GUI for CCExtractor for UNIX systems. Which does everything as intended but doesn't last run state. Which means, if any setting/value/variable is changed. It would reset on next start. Here are screenshot of the project submitted in Phase II.