XOverlay is (almost) working now. Export is next.

Posted 28.06.2007 by pihlaja
Categories: gstreamerD, gtkD, pads, plan, status, xoverlay

Now the xoverlay works finally (and the dynamic pads are solved too, if you missed the comment I wrote on the “Not yet”-post.)(UPDATE: Nope. The dynamic pads are initially connected correctly now, but as soon as the user tries to switch to another movie and then back again to the original one, the pads don’t get connected. And when the user repeats this action once more, the program crashes). It was really difficult and my current branch of gtkD and gstreamerD are quite hand edited on some parts now. I’m not sure how to do some of that stuff automatically with gtkWrapper, but it doesn’t matter on the functionality part.
The only thing not quite working with the xoverlay is the expose(). For some reason it doesn’t really have an effect, and if some other window overlaps it, there will be hole in the video overlay. So you’ll have to resize the monitor widget to get it working normally again. But that’s of minor importance for now. (Thanks to many people over at #gstreamer and #d).

Next is export. I hope I get it sorted out by 30th. The release is going to be a wacky binary release inside a tar.bz. And you’ll propably need to put the two libraries (libgtkD and libgstreamerD) to somewhere inorder for it to work (And it will also be made on Ubuntu Dapper, but I’ve tested that it works on Feisty too). I’ll also release my branch of gtkD and gstreamerD as a tar.bz, as I don’t have time to merge it with the official version now. The release will be almost usable for something, but totally alpha. But you’ll hopefully be able to see some good(UPDATE: mediocre 🙂 ) stuff there too.

Not yet

Posted 19.06.2007 by pihlaja
Categories: films, gstreamerD, me, pads, problems, status

As some might have noticed, there’s been no release yet. Next month might also come too soon. We’ll see. To make a release I’d like two things: export working and the dynamic pads working reliably. Getting the monitor to be an XOverlay in the main window is optional but would make a huge plus. Pihlaja is quite crashy (if there can be such a word).

I’ve been in the Midnight Sun film festival in Sodankylä for the last week, and so haven’t been able to do much on Pihlaja. Saw some great movies like Jia Zhang-Ke: Still Life, Ghobadi: Half Moon and Elia Suleiman: Chronicle of Disappearance and Chronicle of Love and Pain.

Although I’ve coded the basis for exporting. It still doesn’t work for some reason though. As I said earlier I have huge issues with some dynamic pads not being created. I’ll have to try to ask someone about that stuff, as there’s really little documentation on problems.

A look at the project chooser dialog

Posted 5.06.2007 by pihlaja
Categories: gstreamerD, projectchooser, screenshot, status

pihlaja_05_06_2007

Here’s a screenshot of the Pihlaja project chooser, that the user sees when Pihlaja starts. No way to turn it off currently (That will propably annoy some users). I’d need a fourth button at the bottom. The user settings don’t really work, that part is just a mockup. Other parts of the screenshot will tell you alot about what Pihlaja projects are made of internally.

The reason for posting is that I finally got the project chooser part working. Pihlaja now really saves a pihlajaprojectlist.xml to ~/.pihlaja/ and looks up the filenames from there whenever it starts. It’s not fully functional yet, though, as you can’t yet change the setting for where all the projects are located. I’ll add that next week or so. Did I mention that project saving and loading works… Maybe I didn’t yet.

Can’t remember all the parts that need fixing before release (after my short coding break, because of temporary work). I think I’ll have to try to edit something real with it, to see what’s still missing. Putting those monitors inside the mainwindow might be top of the list. I’ve been putting that one for later, because of the lack of documentation on the subject. And I’ll propably need to add some X libs wrappers to my dependencies…

I hope I’ll get those nasty problems (with linking pads not working after loading a project) solved. Currently you have to import a material file, click on it about ten times, then open the movie you had previously created, and click on it’s background, and then click on it’s ruler about ten times. Doesn’t sound that user friendly. I really hope I get that fixed. It must be something with the way and order in which I connect pads.
.

Posted 11.05.2007 by pihlaja
Categories: screenshot, status

pihlaja_08_05_2007

pihlaja_08_05_2007-2

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

Posted 5.05.2007 by pihlaja
Categories: meta, status

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 dsource.org. 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

Posted 3.05.2007 by pihlaja
Categories: gstreamerD, screenshot, status

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

Posted 3.05.2007 by pihlaja
Categories: gstreamerD, screenshot, status

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

Posted 3.05.2007 by pihlaja
Categories: d, plan, status

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.
History:

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***o.co.uk

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

Posted 3.05.2007 by pihlaja
Categories: rtree, screenshot, status

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…

Posted 3.05.2007 by pihlaja
Categories: meta

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.