Archive for May 2007




Two prerelease screenshots of Pihlaja. They show the newly added timecode feature.

Saving to XML works again. The loading needs a little more work. Looking good, except for some biggish issues, like sync not working if the file isn’t played from the start, crashing every now and then, and some features usefull for real work are missing. And some other issues too. But it’s coming together.

I’ve started a Pihlaja development blog


I’ve been thinking that this really is starting to look like a blog, so I’ve decided to create one. So here we are. It’s easier for me to update, and so I might write some more posts (maybe). All new posts will go here. The sourceforge page might be used for project presentation and project news. I’ve also gotten a subversion repository and a wiki for Pihlaja from There’s also Pihlaja forums there. The current revision in the repository (15) isn’t compilable yet, because it uses a version of gtkD that isn’t available yet. Use revision 12 instead.
The next version of Pihlaja will be using an alternative D runtime library called Tango. I’d say it’s poorly named from a Gnome/Tango icons point of view, but it looks to be quite promising as a replacement for Phobos. The main reason why I switched was it’s collection classes, as my own weren’t working that good. It cost me some more work on XML though. I’m also using DSSS for building.

Pihlaja is working really good with Tango. Far less crashes (which were mostly due to my collection classes). Now I’m only having my GStreamer/Gnonlin crashes left (…ok, and my own bugs too). I was able to edit a movie of about two minutes with about twenty scenes before it crashed the other day. Importing files works now, and I’m currenly making drag and drop work too. The release should come about 10-25.6.2007. I’m aiming for 15.6. That’s June I think…

Linking some scenes together


Originally posted: 4.4.2007

Here’s a screenshot that shows some of the stuff implemented that I’ve been planning for a long time now. I’ve restructured some of the gnonlin stuff, and I’m not yet sure, if I’m using GStreamer correctly or not. But it’s all quite easy to change at this point. Everything is working quite well. It crashes a lot. And it has some graphics bugs. Some stuff isn’t implemented yet. Generally I’m pretty happy about the way things are going at the moment, even though I’ve had my grim moments trying to do stuff that took days to achieve. I’m still targeting July 1. as a release date for Pihlaja 003 (Alpha). I’m hoping to get it do something usefull by then, like saving and loading a project. Editing DV with one channel of video and audio (multitrack might not be usefull by then). And exporting that into a DV file of some kind. Hope I get there in time, as after that I really should start trying to finish my studies.
I’ve got to be honest with you. There is supposed to be a picture in the monitor window there. But I’m too tired to gimp it in there. I’ve really got playback, but it just appears blank on a screenshot, because it’s an xoverlay or something like that. So, the screenshot below is a gimped version of what I see on my screen. 🙂

Pihlaja is able to use gstreamerD


Originally posted: 24.2.2007

gstreamerD works for the first time

Here’s two new posts (I had my connection close some ports for a couple of weeks so I couldn’t update this site).
Pihlaja is able to play .mov and .dv files and .ogg audio on a single track. It is possible to move the video edits around the timeline, but it is not yet possible to trim them. Should get that working in a couple of weeks or sooner. I think that I’m ahead of my timetable that I set for myself, but that could always change, so I can’t rest now!

I am able to play DV files, I am happy
(Originally posted:) 17.2.2007 (actually uploaded on 24.2.2007)

I updated the developers section timeline. At the moment I am able to play .dv and .mov files (and propably a huge bunch of other files, that I’m not that interested in) in a simple example app. It uses GNonLin and the almost working GStreamerD bindings. The app plays two video files after each other, and at the same time it plays two .ogg audio files simultaneously. There’s a simple control window with buttons for Play, Pause, Back to start, Forward one frame, Backward one frame. Hopefully next week or so, I’ll try to add this functionality to the actual Pihlaja code. If I don’t run into trouble, I might have something interesting in my hands after that. Well, I guess there’s always some trouble to be expected…

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.

A new screenshot


Originally posted on: 22.1.2007
RTree is mostly working. Zooming and moving the view is possible now. Here’s about a hundred scenes and a couple of hundred edits.Pihlaja RTree mostly works

Maybe I’ll start a blog…


Pihlaja development is going fine. I’ll start a blog here as the updating of the sourceforge site is so difficult that I’m always too tired to write anything there. I’ll copy the three posts that I made there to here, so that there will be some stuff here too.