Thursday, May 29, 2008

Distro Shopping

I spent the day distro shopping, but since I have not really found what I wanted, I have decided to stop worrying about it for the moment. Ubuntu's support of GStreamer isn't that bad. I have other beefs. On the other hand, the my criticisms of Ubuntu also apply to just about every other distribution out there. It's just that Ubuntu initially set the bar very high, and I have been really disappointed with the last two or three releases. I wait and wait, but the functionality doesn't improve, and even regresses. It's very frustrating. I figure that if I'm going to have to tinker with the OS, that I might as well use something much less restrictive. Something that really gives me what I want.

That having been said, enough of this. I can do a fair amount of PiTiVi development without up-to-date gstreamer installed. I have a job to do, and it's time to start doing it. So, for the next three days, I'm going to start working on things which do not depend on having up-to-date gstreamer libraries.

Switch Simple Timeline To Goocanvas

I've already got a prototype of this working, but there are a couple things that need to happen first.
  1. I have a prototype container class that derives from goocanvas.Group which handles repositioning, adding, and deleting groups of items that I use in I want to re-factor this class so that it derives directly from goocanvas.Canvas.
  2. I have a prototype timeline implemented as a python script. It simulates a re-orderable list of canvas widgets. This code needs to be rewritten slightly so that it is more friendly to MVC. In particular, it needs to wait for signals from the model before anything in the UI is reordered.
  3. Merge the code from (2) above into (1)
  4. Test code independently with standard canvas objects of varying sizes
  5. Merge the external drag-and-drop support in from the existing PiTiVi timeline widget
  6. Test the code independently of pitivi using existing PiTiVi source widgets
  7. Merge the new code into PiTiVi
Future Goals
Once I get gstreamer-cvs installed, I can start working on some other things.
  1. Transitions
  2. Titling Support
  3. Still Image Support

No comments: