[PiTiVi] Progress update



Refreshing everyone's memory, PiTiVi is a video editor that offers user interface views for simple and advanced users. My project for the summer is to help complete the simple interface view, which looks a lot like the interface of a free video editor from a certain computer company which shall remain nameless. PiTiVI is organized around the concept of a "time line" which contains multiple "clips", or "media sources" in PiTiVi terminology.
Last week, I focused on the relatively easy task of completing the 
source view widgets (the draggable icons for each movie clip in time 
line). This week, I'm focusing on the SimpleEditingWidget, which appears 
briefly in the time line and is supposed to allow users to set the start 
and stop points of each clip. Up until now it has merely been blank.
This task is quite a bit more complex than finishing the 
SimpleSourceWidgets. The source widget behavior is managed by the 
SimpleTimelineWidget, so all that had to be done was to add the gui 
components to them, and correct the aspect ratio problems. The 
SimpleEditingWidget, on the other hand, does some deceptively complex 
manipulations of the internal PiTiVi timeline, and I am going to have to 
do some reading on gstreamer, pygst, and gnonlin. Not to mention that 
pitivi is heavily based around the "observer pattern", so merely trying 
to understand the source code involves following gobject signal paths 
through multiple classes and files. There seem to be many pitfalls 
related to incorrectly handling signals (for example, infinite loops 
when one signal handler emits a signal that re-emits the original 
signal). Moreover, I have to design the widget's code from a high level 
perspective, rather than modify existing source. For now, I am satisfied 
to have the UI layout for the SimpleEditingWidget essentially complete 
(minus cosmetic tweaks), and have the widget show and hide properly.
Development was proceeding fairly smoothly until lack of debugging 
features proved to be a limitation. I decided to switch from Vim to GNU 
EMACS, which does have an initial learning curve. Another issue which 
has become a problem is that my SVN account was never activated, so I am 
having to submit patches against SVN via email.
That's it for this week

Stay Tuned,

Brandon




[Date Prev][Date Next]   [Thread Prev][Thread Next]   [Thread Index] [Date Index] [Author Index]