The plan D

Hey, you, programmer!

Pihlaja is written in the D programming language with libraries such as GStreamer for multimedia playback, and Duit (D bindings for GTK+) and Cairo for the user interface.

In 2007 I’m going to make Pihlaja actually do something usefull. I’m trying to gather a team of 4 to 6 developers who could participate in the project this spring. The timeline is set for 6 months, so we should have something working by the end of June or July. So if you would be interested in joining the project – read on:

D is a relatively new programming language (started in 1999, 1.0 released in January 2007). It produces fast native programs just like C or C++, but it’s a bit higher level language that looks a bit like Java or C#. It’s fast to develop for, and the programs run very fast too. Other languages that influenced D are Eiffel and Ruby.

The language and the reference compiler DMD, was designed by Walter Bright, whose merit is writing the first native C++ compiler Zortech C++. It could be said that D is a redesign of C++, the way it should have been written. There is also a GCC compiler version called GDC, which unifies the opensource DMD compiler frontend with the GCC compiler backend.

Here’s a timeline for the project. Containing the history since 2003, and the ambitious future plans for this spring.

2003 First version with C++, Gtkmm, timeline in OpenGL. Concepts evolving.
2004 My computer brakes. I make a rewrite of almost everything using C++, Gtkmm, timeline in libgnomecanvasmm.
2005 There is a blank space in my memory for this year.
2006 Another computer brakes. I get the C++ version working quite nicely, except that it lacks originality.
Too much is copied from existing editing applications.
summer 2006 Third computer brakes. I’ll start thinking of a rewrite in D. I write down the concept, and get some new
node-based ideas.
autumn 2006 Rewrite using D, Duit, and Cairo for the nodes/timeline.
December 2006 Start RTree; Scenes, Edits

Plans for this spring:

Time Plan Status
January 2007 Finish RTree; Scenes, Edits, Movies almost work. Done. RTree has some bugs sometimes.
February GStreamerD bindings video & sound working in a simple example app. Gnonlin testing. 16.2.2007 Bindings are working. They are not complete, but enough for most things. I’m able to play video (.dv and .mov!) and multiple simultaneous audio with GNonLin and D.
March Gnonlin somewhat working. Look at Jokoshers python code. Scenes, Edits and Movies user interface does what it should, but doesn’t necessarily work with real video or audio files yet. Wow, March went by. And a lot of stuff was made. Can’t remember what exactly.
April XML file format. Video and audio working with editing. Reorganizing. Moving to Tango. Did I start using subversion here? XML fileformat is defined, but it’s currently broken.
May Final user interface decisions. Polishing. Making everything work together. It’s almost usable.  
June More polishing. Fixing things that are still broken. Release Pihlaja 003 which can do something usefull: import a few common file formats and codecs like DV. Edit them using all the node-based, “movies are made of scenes” concepts. Export to DV files.  

So, basically I’m fed up with having a non-working video and audio editor and a bunch of supposedly original ideas that are nonexistent in other video or audio editing applications. And I’ve done so many rewrites of the system, broken too many computers, gotten on peoples nerves while always talking about my editor, that I’ve got to get this project off my system.

All those four years haven’t been so active in coding, because of my studies. But this spring might be a chance for me to work on Pihlaja almost fulltime. So I’m confident that I can do a lot of stuff. But I’m (almost) realistic, and think, that I can’t do it alone that fast.

If you’re a developer wanting to work on Pihlaja, the best node-based truly non-linear editor ever, get in contact through:

satelliittipupu at y***

All you need is some motivation, experience in C++, Java, C or other programming language. Team working skills. Willingness to learn about D, Cairo, GStreamer, Subversion, non-linear editing software development, RTrees, XML. Contact me, and I’ll send you a presentation of the new editing concepts involved.

Explore posts in the same categories: d, plan, status

Leave a Reply

Fill in your details below or click an icon to log in: Logo

You are commenting using your account. Log Out /  Change )

Google photo

You are commenting using your Google account. Log Out /  Change )

Twitter picture

You are commenting using your Twitter account. Log Out /  Change )

Facebook photo

You are commenting using your Facebook account. Log Out /  Change )

Connecting to %s

%d bloggers like this: