<?xml version="1.0" encoding="UTF-8"?>
<rss version="2.0"
	xmlns:content="http://purl.org/rss/1.0/modules/content/"
	xmlns:wfw="http://wellformedweb.org/CommentAPI/"
	xmlns:dc="http://purl.org/dc/elements/1.1/"
	xmlns:atom="http://www.w3.org/2005/Atom"
	xmlns:sy="http://purl.org/rss/1.0/modules/syndication/"
	xmlns:slash="http://purl.org/rss/1.0/modules/slash/"
	>

<channel>
	<title>Nekohayo ! &#187; PiTiVi</title>
	<atom:link href="http://jeff.ecchi.ca/blog/category/pitivi/feed/" rel="self" type="application/rss+xml" />
	<link>http://jeff.ecchi.ca/blog</link>
	<description>La vie personnelle du chat</description>
	<lastBuildDate>Sun, 09 Jun 2013 02:23:00 +0000</lastBuildDate>
	<language>en-US</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
	<generator>http://wordpress.org/?v=3.5.1</generator>
		<item>
		<title>Status update — new Pitivi timeline, GSoC projects, etc</title>
		<link>http://jeff.ecchi.ca/blog/2013/06/08/status-update-new-pitivi-timeline-gsoc-projects-etc/</link>
		<comments>http://jeff.ecchi.ca/blog/2013/06/08/status-update-new-pitivi-timeline-gsoc-projects-etc/#comments</comments>
		<pubDate>Sat, 08 Jun 2013 21:32:57 +0000</pubDate>
		<dc:creator>nekohayo</dc:creator>
				<category><![CDATA[GNOME]]></category>
		<category><![CDATA[PiTiVi]]></category>
		<category><![CDATA[Planet GNOME]]></category>

		<guid isPermaLink="false">http://jeff.ecchi.ca/blog/?p=2418</guid>
		<description><![CDATA[Dear shareholders fans, here is the quarterly report from the frontlines of Pitivi, your favorite futuretrocyberpunk video editor. I will cover the following from a very high-level view (I&#8217;ll have to make separate blog posts to cover them in detail, &#8230; <a href="http://jeff.ecchi.ca/blog/2013/06/08/status-update-new-pitivi-timeline-gsoc-projects-etc/">Continue reading <span class="meta-nav">&#8594;</span></a>]]></description>
				<content:encoded><![CDATA[<p>Dear <del>shareholders</del> fans, here is the quarterly report from the frontlines of Pitivi, your favorite futuretrocyberpunk video editor.</p>
<p><span id="more-2418"></span></p>
<div id="attachment_2419" class="wp-caption alignnone" style="width: 510px;  border: 1px solid #dddddd; background-color: #f3f3f3; padding-top: 4px; margin: 10px; text-align:center;"><img class="size-full wp-image-2419" alt="2013-06-08" src="http://jeff.ecchi.ca/blog/wp-content/uploads/2013-06-08.jpg" width="500" height="284" /><p style=' padding: 0 4px 5px; margin: 0;'  class="wp-caption-text">A typical day in my life as of late</p></div>
<p>I will cover the following from a very high-level view (I&#8217;ll have to make separate blog posts to cover them in detail, there&#8217;s too much to say):</p>
<ul>
<li>The state of our multimedia stack</li>
<li>Our new timeline canvas and how you can help</li>
<li>This year&#8217;s accepted Summer of Code projects</li>
<li>Upcoming GUADEC presentation</li>
</ul>
<p>Also, a small announcement: for those who also want some shorter, less formal status updates and occasional feedback probes, you can look at the new <a href="https://plus.google.com/+pitivi">PiTiVi G+ page</a>.</p>
<h1>Clutter timeline canvas</h1>
<p>In preparation for the Summer of Code, but mostly just to help us and demonstrate how much of a badass he is, Mathieu Duponchelle killed our goocanvas-based timeline and redid the whole thing with <a href="http://en.wikipedia.org/wiki/Clutter_%28toolkit%29">Clutter</a>. In <em>two weeks</em>. This is what it looks like at the moment:</p>

	<!-- Begin Video.js -->
	<video id="example_video_id_851375934" class="video-js vjs-default-skin" width="640" height="360" controls preload="none" data-setup="{}">
		
		<source src="http://jeff.ecchi.ca/blog/wp-content/uploads/pitivi-clutter-timeline-2013-06-08.webm" type='video/webm; codecs="vp8, vorbis"' />
		
	</video>
	<!-- End Video.js -->

<h1>The state of our multimedia stack</h1>
<p>We fixed some initial bugs in GNonLin <a title="GStreamer Hackfest 2013: Moving Images" href="http://jeff.ecchi.ca/blog/2013/04/03/gstreamer-hackfest-2013-moving-images/"> in Milan</a>. Since then, further investigation revealed that most of the issues we are encountering are actually generic bugs in GStreamer. Mathieu is now working full time on fixing bugs everywhere in the stack. We hope to have something showable (beta) for GUADEC and a release this fall — as you can imagine however, I&#8217;m unable to make solid promises at this point.</p>
<p>There are still many things that we need to rearchitect in GNonLin, but that&#8217;s a story for another blog post.</p>
<p>We recently started using Github&#8217;s bug tracking tool to keep a more easily manageable list of <a href="https://github.com/pitivi/pitivi/issues/">issues we have to deal with</a> in the development version. Please note:</p>
<ul>
<li>This is <em>not</em> a replacement for GNOME Bugzilla. It is meant as a temporary measure for our extended development version, for stuff that is too small, fluid or uncertain to be filed as proper bug reports. Once we release, we&#8217;ll move remaining issues to Bugzilla. Upstream issues in GStreamer, once properly identified, are always filed in GStreamer&#8217;s (GNOME) Bugzilla.</li>
<li>We welcome your help in fixing or investigating these issues. There&#8217;s also an &#8220;<a href="https://github.com/pitivi/pitivi/issues?labels=Easy">easy</a>&#8221; tag for those of you looking for bitesized stuff.</li>
</ul>
<h1>Stuff you can fix in Pitivi, right now.</h1>
<p>If working on GStreamer and GES is not your cup of tea, we still have a ton of fun little projects for you to do on Pitivi itself, including:</p>
<ul>
<li>A bunch of little <a href="https://github.com/pitivi/pitivi/issues?labels=%28Clutter%29+timeline+canvas">nitpicks/papercuts for our Clutter timeline</a></li>
<li>During the port to Clutter, Daniel Thul helped Mathieu by rearchitecturing and fixing the timeline clip thumbnailer module. It works, but there are <a href="https://bugzilla.gnome.org/show_bug.cgi?id=700610">some remaining, significant performance issues</a>. This is a <em>great</em> project if you&#8217;re looking for finite, concrete, <a href="https://git.gnome.org/browse/pitivi/tree/pitivi/timeline/previewers.py">self-contained</a> work to improve performance with a <em>very</em> highly visible impact on the UI. You would get a ton of love points for this.</li>
<li>We have a title editor UI, but it needs some love. You don&#8217;t want us to ship with an unrefined UI, do you?</li>
<li><a href="http://wiki.pitivi.org/wiki/Test_suite_wishlist">UI tests</a>!</li>
</ul>
<h1>This Summer of Code&#8217;s projects</h1>
<p>We have four students working on Pitivi this summer, thanks to GNOME kindly offering us an extra slot to be able to achieve our mission. Here&#8217;s our ambitious list of project goals:</p>
<ul>
<li>General bug fixing in the entire GStreamer + GES + Pitivi stack, to be able to make a Pitivi release.</li>
<li>Motion ramping (keyframable fast/slow motion, allowing the speed of clips to be changed over time, ideally with smooth frame interpolation)</li>
<li>Finish the enablement of our new timeline layers management UI</li>
<li>Reimplement audio waveforms. Better, faster, stronger.</li>
<li>Video compositing</li>
<li><a href="https://bugzilla.gnome.org/show_bug.cgi?id=609136">Proxy editing</a>. I&#8217;m currently writing a design and API requirements brainstorming page to help plan this feature. I will share it in my next blog post, where I&#8217;ll present some of the dilemmas I&#8217;m encountering (particularly around codecs).</li>
</ul>
<h1>Presenting at GUADEC</h1>
<p><img class="alignnone" alt="" src="https://www.guadec.org/wp-content/themes/wordcamp-base/images/guadec2012.png" width="564" height="259" /></p>
<p>Come to <a href="http://guadec.org">GUADEC</a> and attend my presentation at the beginning of August. Plans are a bit fuzzy for the time being, but you can expect my typical <a title="GUADEC talk video published" href="http://jeff.ecchi.ca/blog/2012/08/12/guadec-talk-video-published/">award-winning</a> presentation style. Also, as usual, we&#8217;ll be having a <strong>Pitivi hackfest</strong> there. Czech it out.</p>
]]></content:encoded>
			<wfw:commentRss>http://jeff.ecchi.ca/blog/2013/06/08/status-update-new-pitivi-timeline-gsoc-projects-etc/feed/</wfw:commentRss>
		<slash:comments>3</slash:comments>
<enclosure url="http://jeff.ecchi.ca/blog/wp-content/uploads/pitivi-clutter-timeline-2013-06-08.webm" length="1472852" type="application/wordperfect" />
		<atom:link rel="payment" title="Flattr this!" href="https://flattr.com/submit/auto?user_id=nekohayo&amp;popout=1&amp;url=http%3A%2F%2Fjeff.ecchi.ca%2Fblog%2F2013%2F06%2F08%2Fstatus-update-new-pitivi-timeline-gsoc-projects-etc%2F&amp;language=en_GB&amp;category=software&amp;title=Status+update+%E2%80%94+new+Pitivi+timeline%2C+GSoC+projects%2C+etc&amp;description=Dear+shareholders+fans%2C+here+is+the+quarterly+report+from+the+frontlines+of+Pitivi%2C+your+favorite+futuretrocyberpunk+video+editor.+I+will+cover+the+following+from+a+very+high-level+view+%28I%26%238217%3Bll+have...&amp;tags=blog" type="text/html" />
	</item>
		<item>
		<title>No more stuck rendering dialogs!</title>
		<link>http://jeff.ecchi.ca/blog/2013/04/28/no-more-stuck-render-dialogs/</link>
		<comments>http://jeff.ecchi.ca/blog/2013/04/28/no-more-stuck-render-dialogs/#comments</comments>
		<pubDate>Sun, 28 Apr 2013 04:19:25 +0000</pubDate>
		<dc:creator>nekohayo</dc:creator>
				<category><![CDATA[GNOME]]></category>
		<category><![CDATA[PiTiVi]]></category>
		<category><![CDATA[Planet GNOME]]></category>
		<category><![CDATA[Usability]]></category>

		<guid isPermaLink="false">http://jeff.ecchi.ca/blog/?p=2405</guid>
		<description><![CDATA[If you&#8217;ve tried rendering projects with Pitivi 0.15 or older, chances are you&#8217;ve encountered one of these dreadful situations where the rendering process would get stuck: &#8230;at the beginning, with the progressbar saying it&#8217;s currently &#8220;estimating&#8221; — which was a &#8230; <a href="http://jeff.ecchi.ca/blog/2013/04/28/no-more-stuck-render-dialogs/">Continue reading <span class="meta-nav">&#8594;</span></a>]]></description>
				<content:encoded><![CDATA[<p>If you&#8217;ve tried rendering projects with Pitivi 0.15 or older, chances are you&#8217;ve encountered one of these dreadful situations where the rendering process would get stuck:<span id="more-2405"></span></p>
<ul>
<li>&#8230;at the beginning, with the progressbar saying it&#8217;s currently &#8220;estimating&#8221; — which was a lie that I <a href="https://git.gnome.org/browse/pitivi/commit/?id=df3689239">corrected</a> a little while ago.</li>
<li>&#8230;at the very end. Extra trolling points for having made you waste a huge amount of time to get a 0 bytes output file (if we&#8217;re lucky, <a href="https://bugzilla.gnome.org/show_bug.cgi?id=692316">that bug</a> is gone).</li>
<li>&#8230;somewhere in the middle, because caps negotiation failed, some elements were not linked, GStreamer thinks you ran out of available RAM, or because you&#8217;ve been very naughty.</li>
</ul>
<p>In any such case, the rendering dialog just sat there and smiled at you, as if everything was fine in the world. Well, no more:</p>
<div id="attachment_2409" class="wp-caption alignnone" style="width: 410px;  border: 1px solid #dddddd; background-color: #f3f3f3; padding-top: 4px; margin: 10px; text-align:center;"><img class="size-full wp-image-2409" alt="slap" src="http://jeff.ecchi.ca/blog/wp-content/uploads/slap.jpg" width="400" height="279" /><p style=' padding: 0 4px 5px; margin: 0;'  class="wp-caption-text">Pitivi is going to give you the honest, brutal truth.</p></div>
<p>This is the result of a horrifying thought suddenly springing to my mind yesterday night: &#8220;Hey, what if the code was not even <em>checking</em> for errors in the pipeline when rendering?&#8221;</p>
<p>Indeed, it wasn&#8217;t. How silly is that! I have thus prepared a simple fix to improve the situation: catch pipeline error messages, abort the render (you really don&#8217;t want to ignore a GStreamer error) and display an error dialog. This will at least <a href="https://bugzilla.gnome.org/show_bug.cgi?id=635874">let people know that something is wrong</a> and that they should start writing patches to GStreamer instead of accusing Pitivi of hurting kittens. You&#8217;d be surprised how many people can sit for hours in front of that stuck progressbar.</p>
<p>Before I commit the fix however, I would need your feedback on the usability of that dialog:</p>
<p><img class="alignnone size-full wp-image-2406" alt="2013-04-27" src="http://jeff.ecchi.ca/blog/wp-content/uploads/2013-04-27.png" width="662" height="267" /></p>
<p>This is not terribly pretty, but it&#8217;s better than nothing. A few things to consider:</p>
<ul>
<li>In that screenshot, all the text except the window title (&#8220;Error While Rendering Project&#8221;) comes from the GStreamer pipeline error message (the error and the error&#8217;s details). I know that the error details look ugly, but I suspect it wouldn&#8217;t be useful to GStreamer/Pitivi developers if we don&#8217;t have them &#8220;verbatim&#8221;. Maybe we could try to mangle the error details string (split using &#8220;:&#8221; and take only the first and last two items of the resulting list?) and encourage the user to run from a terminal to get better debug info, but that feels a bit backwards.</li>
<li>We should probably have some less-scary text to accompany the actual error details. Something that guides the user towards an action that can be done to address the problem (ex: reporting a bug). Maybe it can be placed between the header and the details (above the &#8220;qtdemux.c&#8221; line)? The problem is finding a universal text to be used.</li>
<li>If we consider the route where we suggest the user to report bugs, where should we point to? The Pitivi bugs investigation page? Pitivi bugzilla? GStreamer bugzilla? The distro&#8217;s bug tracker?</li>
<li>Let&#8217;s keep this simple, both visually and in terms of code/implementation.</li>
</ul>
<p>What do you think? Is the current approach sufficient or is there something better that we can easily do?</p>
<p><strong>Update</strong>: here&#8217;s an alternative dialog with some more comprehensible text, where the actual error (as seen in the previous screenshot) gets shoved under the rug by putting it in a GTK expander widget (clicking &#8220;Details&#8221; reveals the error&#8217;s details as above):</p>
<p><img class="alignnone size-full wp-image-2413" alt="2013-04-29" src="http://jeff.ecchi.ca/blog/wp-content/uploads/2013-04-29.png" width="648" height="235" /></p>
]]></content:encoded>
			<wfw:commentRss>http://jeff.ecchi.ca/blog/2013/04/28/no-more-stuck-render-dialogs/feed/</wfw:commentRss>
		<slash:comments>13</slash:comments>
		<atom:link rel="payment" title="Flattr this!" href="https://flattr.com/submit/auto?user_id=nekohayo&amp;popout=1&amp;url=http%3A%2F%2Fjeff.ecchi.ca%2Fblog%2F2013%2F04%2F28%2Fno-more-stuck-render-dialogs%2F&amp;language=en_GB&amp;category=software&amp;title=No+more+stuck+rendering+dialogs%21&amp;description=If+you%26%238217%3Bve+tried+rendering+projects+with+Pitivi+0.15+or+older%2C+chances+are+you%26%238217%3Bve+encountered+one+of+these+dreadful+situations+where+the+rendering+process+would+get+stuck%3A+%26%238230%3Bat+the+beginning%2C+with...&amp;tags=blog" type="text/html" />
	</item>
		<item>
		<title>PiTiVi and the 2013 Summer of Code</title>
		<link>http://jeff.ecchi.ca/blog/2013/04/11/pitivi-and-the-2013-summer-of-code/</link>
		<comments>http://jeff.ecchi.ca/blog/2013/04/11/pitivi-and-the-2013-summer-of-code/#comments</comments>
		<pubDate>Thu, 11 Apr 2013 19:09:26 +0000</pubDate>
		<dc:creator>nekohayo</dc:creator>
				<category><![CDATA[GNOME]]></category>
		<category><![CDATA[PiTiVi]]></category>
		<category><![CDATA[Planet GNOME]]></category>

		<guid isPermaLink="false">http://jeff.ecchi.ca/blog/?p=2397</guid>
		<description><![CDATA[This year will be a little bit different. In a rather unexpected turn of events, PiTiVi has been accepted as a mentoring organization but GStreamer has not. Fear not however, as GStreamer has no better ally than the PiTiVi team &#8230; <a href="http://jeff.ecchi.ca/blog/2013/04/11/pitivi-and-the-2013-summer-of-code/">Continue reading <span class="meta-nav">&#8594;</span></a>]]></description>
				<content:encoded><![CDATA[<p>This year will be a little bit different. In a rather unexpected turn of events, <a href="http://pitivi.org">PiTiVi</a> has been accepted as a mentoring organization but <a href="http://gstreamer.net">GStreamer</a> has not. Fear not however, as GStreamer has no better ally than the PiTiVi team when it comes to pushing our favorite multimedia framework to its limits and beyond. As you may know, PiTiVi makes heavy use of the <em>GStreamer Editing Services</em> library and, in turn, GNonLin and the rest of GStreamer. With the switch to GES and the <a title="Break the kettles and sink the boats" href="http://jeff.ecchi.ca/blog/2012/05/19/break-the-kettles-and-sink-the-boats/">irrevocable shedding of our old skin</a>, <strong>any backend work done for the sake of the PiTiVi project ends up benefitting GStreamer and other projects.</strong></p>
<p><span id="more-2397"></span></p>
<p>One way to look at things is that <em>there is no such thing as a PiTiVi backend anymore</em>. PiTiVi <em>is </em>a frontend that pushes the latest and greatest open-source multimedia technologies forward.</p>
<p>With the GES port nearing completion, this is the first time that we can truly say there are three interrelated components to contribute to. This new reality sets the tone for a different way to look at PiTiVi project ideas this year: you can finally&#8230;</p>
<h1>Choose your character class</h1>
<p><img class="alignnone  wp-image-2398" title="With apologies to Mr. Amano" alt="pitivi hacker style" src="http://jeff.ecchi.ca/blog/wp-content/uploads/pitivi-hacker-style.png" width="700" height="312" /></p>
<p>Are you a ninja? A spellcaster? A tank? While most projects are a balance of backend and UI work, we know that some people prefer to lean more to one side or another of the continuum — that&#8217;s why I created a new visual notation for <a href="http://wiki.pitivi.org/wiki/Google_Summer_of_Code">our ideas page</a> this year. Instead of an &#8220;easy/hard&#8221; system (which would be inaccurate and misleading, as perceived difficulty is measured differently for everybody), we simply provided a visual indication of the expected involvement in the various components for a given project idea (for example, &#8220;PiTiVi: ◼◼◻◻◻ GES: ◼◼◼◼◼  GStreamer: ◼◼◼◻◻&#8221;). So if you were looking for something closer to a hardcore GStreamer GSoC project, you can spot ideas that might interest you here.</p>
<p>Not a programmer? You can help raise awareness about this. Maybe you know a brilliant hacker friend/relative or a top-notch computer science student waiting for a chance to make a big difference in the world. Tell that person about how cool and welcoming PiTiVi is and how getting involved is the best way to advance free, powerful and intuitive video editing for everyone!</p>
]]></content:encoded>
			<wfw:commentRss>http://jeff.ecchi.ca/blog/2013/04/11/pitivi-and-the-2013-summer-of-code/feed/</wfw:commentRss>
		<slash:comments>2</slash:comments>
		<atom:link rel="payment" title="Flattr this!" href="https://flattr.com/submit/auto?user_id=nekohayo&amp;popout=1&amp;url=http%3A%2F%2Fjeff.ecchi.ca%2Fblog%2F2013%2F04%2F11%2Fpitivi-and-the-2013-summer-of-code%2F&amp;language=en_GB&amp;category=software&amp;title=PiTiVi+and+the+2013+Summer+of+Code&amp;description=This+year+will+be+a+little+bit+different.+In+a+rather+unexpected+turn+of+events%2C+PiTiVi+has+been+accepted+as+a+mentoring+organization+but+GStreamer+has+not.+Fear+not+however%2C...&amp;tags=blog" type="text/html" />
	</item>
		<item>
		<title>GStreamer Hackfest 2013: Moving Images</title>
		<link>http://jeff.ecchi.ca/blog/2013/04/03/gstreamer-hackfest-2013-moving-images/</link>
		<comments>http://jeff.ecchi.ca/blog/2013/04/03/gstreamer-hackfest-2013-moving-images/#comments</comments>
		<pubDate>Wed, 03 Apr 2013 16:33:09 +0000</pubDate>
		<dc:creator>nekohayo</dc:creator>
				<category><![CDATA[Collabora]]></category>
		<category><![CDATA[PiTiVi]]></category>
		<category><![CDATA[Planet GNOME]]></category>
		<category><![CDATA[Réalisations]]></category>

		<guid isPermaLink="false">http://jeff.ecchi.ca/blog/?p=2386</guid>
		<description><![CDATA[I&#8217;m back from this year&#8217;s GStreamer hackfest, which was fantastic as usual — an intersection of great minds, big challenges, flaky Wi-Fi and good food. Christian already did a generic summary, so I&#8217;ll be narrating from the GNonLin/GES/PiTiVi perspective. See &#8230; <a href="http://jeff.ecchi.ca/blog/2013/04/03/gstreamer-hackfest-2013-moving-images/">Continue reading <span class="meta-nav">&#8594;</span></a>]]></description>
				<content:encoded><![CDATA[<p>I&#8217;m back from this year&#8217;s GStreamer hackfest, which was fantastic as usual — an intersection of great minds, big challenges, flaky Wi-Fi and good food. Christian already did <a href="http://blogs.gnome.org/uraeus/2013/03/31/gstreamer-hackfest-in-milan/">a generic summary</a>, so I&#8217;ll be narrating from the GNonLin/<a title="Why you should be using GES" href="http://jeff.ecchi.ca/blog/2012/09/17/why-you-should-be-using-ges/">GES</a>/PiTiVi perspective. See the end of this blog post for a nice video retrospective.</p>
<p><span id="more-2386"></span></p>
<p><a href="http://jeff.ecchi.ca/blog/wp-content/uploads/2013-04-02.jpg"><img class="alignnone size-medium wp-image-2387" alt="2013-04-02" src="http://jeff.ecchi.ca/blog/wp-content/uploads/2013-04-02-500x200.jpg" width="500" height="200" /></a></p>
<p>Edward provided an initial patch to improve the behavior of timestamps and seeking in GNonLin, while Nicolas &#8220;Stormer&#8221; Dufresne fixed two bugs causing deadlocks. Nicolas spent a <em>lot</em> of time discussing with Wim Taymans, Edward Hervey, Sebastian Dröge and other hackfesters about the architecture of GNonLin in light of GStreamer 1.x. He also fixed looping for the Ogg demuxer in pull mode and, with some help from Mathieu &#8220;Forest Ranger&#8221; Duponchelle, fleshed out the design for a new tree data structure for GNonLin.</p>
<p>Mathieu the Moustached Avenger worked on implementing keyframes in GES, paving the way for him to create a user interface to animate any effect property in PiTiVi. That user interface will most likely depend on him working on the clutter timeline canvas, so I&#8217;m looking forward to improvements in that area.</p>
<p>Thibault &#8220;Keyboard Crusher&#8221; Saunier finished the implementation of GES Containers and clip groups, then worked on implementing — at long last — audio mixing in GES. This is an essential feature of multitrack audio/video editing, and I&#8217;m really happy to see that feature make its comeback for the next release of PiTiVi. This work will also depend on Mathieu&#8217;s keyframes UI. A proper reimplementation of video mixing remains to be done, however.</p>
<p>There are lots of outstanding things to solve in GNonLin and GES. Nicolas has a bunch of ideas for things to improve and redesign in GNonLin and I expect much collaboration between Thibault and him to optimize the entire stack for better reliability and performance (for example, adding caps filters to allow realtime downscaling of videos to improve preview performance, configurable downstream buffering for playback to avoid frame drops in CPU-intensive parts of a timeline, etc.). GNonLin and GES have much potential to allow us to be a lot smarter than before.</p>
<p>Personally, I spent most of my time testing, discussing and hacking on some new features for PiTiVi.</p>
<ul>
<ul>
<li>I added a button in the timeline toolbar that toggles the &#8220;gapless mode&#8221; (automatic ripple edits), which makes your clips behave like magnets and prevents needing to re-arrange them manually all the time. The feature works and will be merged after a customary code review.</li>
<li>I made some progress on the custom effects UI branch. Once it&#8217;s complete, you will be able to easily create custom user interfaces for effects that require it, simply by using a glade/gtkbuilder .ui file (or, if you prefer, a set of widgets from your own python module). Of course, for the majority of effects, our automatically generated user interfaces are still good enough, so we can keep using them and avoid unnecessary work.</li>
</ul>
</ul>
<p>(See <a href="http://jeff.ecchi.ca/blog/2013/03/22/pitivi-status-update-for-q1-2013/">my previous blog post</a> for a situation report on where we stood with PiTiVi before the hackfest)</p>
<p>I also spent a bit of time setting up my film making gear and shooting various interesting moments of the hackfest. Here&#8217;s my montage, which will tell the story much better than a long blog post. Hope you&#8217;ll like it:</p>

	<!-- Begin Video.js -->
	<video id="example_video_id_739190568" class="video-js vjs-default-skin" width="640" height="360" poster="http://jeff.ecchi.ca/blog/wp-content/uploads/2013-04-02-2.jpg" controls preload="none" data-setup="{}">
		
		<source src="http://pitivi.ecchi.ca/gst-hackfest-2013-360p.webm" type='video/webm; codecs="vp8, vorbis"' />
		
	</video>
	<!-- End Video.js -->

<p>I would like to thank Collabora for allowing many GStreamer contributors to attend the hackfest, which I consider vital to the health of the GStreamer community. I was happy to meet again with many friends and help push the Free multimedia stack forward. Props to Christian Schaller and Alessandro Decina for organizing the whole thing, too!</p>
<p>Aside from <a href="http://collabora.com">Collabora</a> and <a href="http://fluendo.com">Fluendo</a> sponsoring two of our dinners (thanks!), I would also like to thank you, <a href="http://www.pitivi.org/?go=donators">PiTiVi supporters</a>, for making it possible for me to spend some money to thank GStreamer contributors with some food <a href="https://plus.google.com/107925534586325319124/posts/AfzPsaWZLX1">and beer</a> — maximum boost to the GStreamer community! Full disclosure: I used 84 euros worth of PiTiVi donations for that purpose.</p>
]]></content:encoded>
			<wfw:commentRss>http://jeff.ecchi.ca/blog/2013/04/03/gstreamer-hackfest-2013-moving-images/feed/</wfw:commentRss>
		<slash:comments>1</slash:comments>
<enclosure url="http://pitivi.ecchi.ca/gst-hackfest-2013-360p.webm" length="74372534" type="application/wordperfect" />
		<atom:link rel="payment" title="Flattr this!" href="https://flattr.com/submit/auto?user_id=nekohayo&amp;popout=1&amp;url=http%3A%2F%2Fjeff.ecchi.ca%2Fblog%2F2013%2F04%2F03%2Fgstreamer-hackfest-2013-moving-images%2F&amp;language=en_GB&amp;category=software&amp;title=GStreamer+Hackfest+2013%3A+Moving+Images&amp;description=I%26%238217%3Bm+back+from+this+year%26%238217%3Bs+GStreamer+hackfest%2C+which+was+fantastic+as+usual+%E2%80%94+an+intersection+of+great+minds%2C+big+challenges%2C+flaky+Wi-Fi+and+good+food.+Christian+already+did+a+generic...&amp;tags=blog" type="text/html" />
	</item>
		<item>
		<title>PiTiVi status update for Q1 2013</title>
		<link>http://jeff.ecchi.ca/blog/2013/03/22/pitivi-status-update-for-q1-2013/</link>
		<comments>http://jeff.ecchi.ca/blog/2013/03/22/pitivi-status-update-for-q1-2013/#comments</comments>
		<pubDate>Fri, 22 Mar 2013 22:15:35 +0000</pubDate>
		<dc:creator>nekohayo</dc:creator>
				<category><![CDATA[Collabora]]></category>
		<category><![CDATA[PiTiVi]]></category>
		<category><![CDATA[Planet GNOME]]></category>
		<category><![CDATA[Réalisations]]></category>

		<guid isPermaLink="false">http://jeff.ecchi.ca/blog/?p=2371</guid>
		<description><![CDATA[Time for a little report on recent improvements in Pitivi. Nothing earth-shattering to make you drool with envy; just a lot of fixes, cleanup and improvements to small details. Next week, we will be in Milan for the GStreamer hackfest, &#8230; <a href="http://jeff.ecchi.ca/blog/2013/03/22/pitivi-status-update-for-q1-2013/">Continue reading <span class="meta-nav">&#8594;</span></a>]]></description>
				<content:encoded><![CDATA[<p>Time for a little report on recent improvements in Pitivi. Nothing earth-shattering to make you drool with envy; just a lot of fixes, cleanup and improvements to small details. Next week, <a title="Join us at the GStreamer Hackfest in Milan" href="http://jeff.ecchi.ca/blog/2013/02/15/join-us-at-the-gstreamer-hackfest-in-milan/">we will be in Milan</a> for the GStreamer hackfest, so I&#8217;ll make sure to give you a nice report on what we managed to accomplish there.</p>
<p><span id="more-2371"></span></p>
<p><img class="alignnone size-full wp-image-2372" title="2013-03-22" src="http://jeff.ecchi.ca/blog/wp-content/uploads/2013-03-22.png" alt="" width="455" height="316" /></p>
<p>Here&#8217;s a list of fixes in Pitivi since my last blog post:</p>
<ul>
<li>Fixes for our automated UI tests, including interaction with the filechooser dialogs, the spinbutton widgets (see <a href="https://fedorahosted.org/dogtail/ticket/22">this bug report</a>), the typing speed, etc.</li>
<li>Fixes and cleanup for backend tests</li>
<li>Enforce unicode in preset names, preventing a bug with non-ASCII chars are used in the name of a preset</li>
<li>Allow presets with &#8220;/&#8221; in their name</li>
<li>Fix drag and drop from the media library&#8217;s listview mode</li>
<li>Prevent playing back clip previews in double (that was a subtle one, since windows were exactly on top of each other)</li>
<li>Make the media library clip previewer work even when the application is in fullscreen mode</li>
<li>Make effect properties work again</li>
<li>Take into account project settings in the main window when loading a project</li>
<li>Conform to the new version of the Freedesktop specification for thumbnail directories</li>
<li>Make special characters show up correctly in the media library&#8217;s iconview mode, remove the ancient filename shortening code and rely on Pango instead.</li>
<li>Properly handle clip URIs encoding, ensuring that we can find the thumbnails for all files. Also do last-minute checks for that encoding before computing thumbnail hashes.</li>
<li>Avoid excessive work when searching clips in the media library, improving performance</li>
<li>Handle special characters in the media library&#8217;s search entry</li>
<li>Force calculating the toolbar height at the last minute to properly handle all screen setups in fullscreen</li>
<li>Scale down effects thumbnails to fit better in the new listview arrangement</li>
<li>Fix a race between clicks on the preview widget&#8217;s slider and position updates. When using it in the media library/file chooser, the slider would often &#8220;jump&#8221; back to its previous position instead of seeking. The new behavior is now smooth and reliable.</li>
<li>Ensure the welcome dialog is initially centered on its parent</li>
<li>Bring back the checkbox to enable/disable effects</li>
<li>Initialize GES to prevent a segfault from occurring on some machines at startup</li>
<li>Make rectangle selection work again in the media library&#8217;s iconview mode</li>
<li>Make the &#8220;Restore from backup&#8221; dialog modal to the main window</li>
</ul>
<p>New features:</p>
<ul>
<li>Automatically adjust the zoom when inserting to the end of the timeline</li>
<li>When the viewer is undocked, provide a button to toggle fullscreen mode</li>
<li>New icons for split, group/ungroup and align</li>
<li>Specify the duration of missing/moved files when prompting the user about their new location</li>
<li>Update effect categories, merge &#8220;Noise&#8221; and &#8220;Blur&#8221;, add a &#8220;Compositing&#8221; category, categorize new effects</li>
<li>Automatically save the last used render directory</li>
<li>Stop rendering when the user presses Escape</li>
<li>Use symbolic icons everywhere where it makes sense (in the media library toolbar, property reset buttons, lists, etc.)</li>
<li>Use the system&#8217;s default image viewer to preview images from the media library</li>
<li>Update the preview widget slider on a more frequent basis, giving it a snappier feeling</li>
<li>Automatically save and restore the main window&#8217;s position. This is especially useful when using detached utility windows.</li>
<li>Hide the effects toolbar when nothing is selected</li>
<li>Add a contextual help button in the render dialog to explain container formats</li>
<li>Allow entering a frame number into the time widget</li>
</ul>
<p>Architectural changes and cleanups:</p>
<ul>
<li>Clean up the build, prune useless files, simplify and centralize the list of dependencies</li>
<li>Refactor dependency checks to be more reliable and provide a faster application startup</li>
<li>GES Assets (implemented in GES and integrated in Pitivi), including the notion of GES Project among other things. This paves the way to many other improvements.</li>
<li>A revised and simplified API has been implemented in GES and integrated in Pitivi. You can see this new API online in the <a href="http://gstreamer.freedesktop.org/data/doc/gstreamer/head/gstreamer-editing-services/html/ges-hierarchy.html">GES API hierarchy</a> documentation.</li>
</ul>
<p>So yeah, that&#8217;s the summarized version&#8230; with refactoring and cleanup all over the place, there&#8217;s more than a hundred commits (excluding translations).</p>
<p>Stuff that still needs to be done (as always, we need your help here):</p>
<ul>
<li>Need to refactor the timeline UI code and the clip transformation UI</li>
<li>Undo/redo</li>
<li>Improving/expanding the UI tests, see the <a href="http://wiki.pitivi.org/wiki/Test_suite_wishlist">test suite wishlist</a></li>
<li>Figure out <a href="https://bugzilla.gnome.org/show_bug.cgi?id=693014">how to better integrate the &#8220;welcome dialog&#8221;</a></li>
<li>Figure out <a href="https://bugzilla.gnome.org/show_bug.cgi?id=693291">how to shave off the menu bar</a> and how GTK AppMenu will work with accessibility technologies (and Dogtail)</li>
<li>Improve the title editor UI</li>
<li>Improve the timeline thumbnailer</li>
<li>Reimplement the notion of grouping in GES</li>
<li>Reimplement video compositing and audio mixing. Properly. In GES.</li>
<li>Make a new keyframe UI that doesn&#8217;t suck. Integrate it for audio volume curves and to provide animatable effect properties.</li>
<li>Fix&#8230; all the bugs! _o/</li>
<li>Insert your own itch to scratch here</li>
</ul>
<p>Ongoing work in my own/personal repository:</p>
<p><img class="alignnone size-full wp-image-2373" title="pitivi x-large icon" src="http://jeff.ecchi.ca/blog/wp-content/uploads/pitivi-x-large-icon.png" alt="" width="657" height="220" /></p>
<ul>
<li>Custom effect UIs</li>
<li>New high-resolution icon (pictured above), new mimetypes</li>
<li>Automatic rippling</li>
<li>Resurrecting the codecs installer</li>
</ul>
]]></content:encoded>
			<wfw:commentRss>http://jeff.ecchi.ca/blog/2013/03/22/pitivi-status-update-for-q1-2013/feed/</wfw:commentRss>
		<slash:comments>9</slash:comments>
		<atom:link rel="payment" title="Flattr this!" href="https://flattr.com/submit/auto?user_id=nekohayo&amp;popout=1&amp;url=http%3A%2F%2Fjeff.ecchi.ca%2Fblog%2F2013%2F03%2F22%2Fpitivi-status-update-for-q1-2013%2F&amp;language=en_GB&amp;category=software&amp;title=PiTiVi+status+update+for+Q1+2013&amp;description=Time+for+a+little+report+on+recent+improvements+in+Pitivi.+Nothing+earth-shattering+to+make+you+drool+with+envy%3B+just+a+lot+of+fixes%2C+cleanup+and+improvements+to+small+details.+Next...&amp;tags=blog" type="text/html" />
	</item>
		<item>
		<title>Join us at the GStreamer Hackfest in Milan</title>
		<link>http://jeff.ecchi.ca/blog/2013/02/15/join-us-at-the-gstreamer-hackfest-in-milan/</link>
		<comments>http://jeff.ecchi.ca/blog/2013/02/15/join-us-at-the-gstreamer-hackfest-in-milan/#comments</comments>
		<pubDate>Fri, 15 Feb 2013 17:21:59 +0000</pubDate>
		<dc:creator>nekohayo</dc:creator>
				<category><![CDATA[Collabora]]></category>
		<category><![CDATA[PiTiVi]]></category>
		<category><![CDATA[Planet GNOME]]></category>

		<guid isPermaLink="false">http://jeff.ecchi.ca/blog/?p=2344</guid>
		<description><![CDATA[Interested in GStreamer, PiTiVi, GES? Meet us in Milan at the end of March for the 2013 GStreamer hackfest! As you can see in this picture from last year&#8217;s hackfest, it&#8217;s tons of fun for everybody: No, really! It&#8217;s an &#8230; <a href="http://jeff.ecchi.ca/blog/2013/02/15/join-us-at-the-gstreamer-hackfest-in-milan/">Continue reading <span class="meta-nav">&#8594;</span></a>]]></description>
				<content:encoded><![CDATA[<p>Interested in GStreamer, PiTiVi, <a title="Why you should be using GES" href="http://jeff.ecchi.ca/blog/2012/09/17/why-you-should-be-using-ges/">GES</a>? Meet us in Milan at the end of March for the <a href="http://gstreamer.freedesktop.org/wiki/GStreamerHackfest2013">2013 GStreamer hackfest</a>! As you can see in this picture from last year&#8217;s hackfest, it&#8217;s tons of fun for everybody:</p>
<p><span id="more-2344"></span></p>
<p><a href="http://jeff.ecchi.ca/blog/wp-content/uploads/2012-01-26.jpg"><img class="alignnone size-medium wp-image-2035" title="2012-01-26" src="http://jeff.ecchi.ca/blog/wp-content/uploads/2012-01-26-300x169.jpg" alt="" width="300" height="169" /></a></p>
<p>No, really! It&#8217;s an incredibly productive and motivating event to participate in.</p>
<p>One of the major items we would like to accomplish is to <strong>fix GNonLin as much as possible</strong>. As you know, the GStreamer 1.x series is a major departure from the 7 years old 0.10 series&#8217; design, and GNonLin needs to be rethought for the new world order. The current state of GNonLin makes it impossible for nonlinear audio/video editing applications to behave properly in GStreamer 1.x. This affects Pitivi, Jokosher, Novacut, and perhaps others.</p>
<p>If you want to work on <strong>PiTiVi&#8217;s UI</strong> at the hackfest, you are of course welcome to do so. I always have nice projects to play with, such as the need for a new keyframe UI, fixing undo/redo, improving the performance of the thumbnail system, helping Pēteris with the <a href="http://pecisk.blogspot.ca/2012/11/state-of-libwaveform-after-gsoc.html">GStreamer waveforms library</a> implementation, or porting the timeline and viewer canvases to Clutter.</p>
]]></content:encoded>
			<wfw:commentRss>http://jeff.ecchi.ca/blog/2013/02/15/join-us-at-the-gstreamer-hackfest-in-milan/feed/</wfw:commentRss>
		<slash:comments>3</slash:comments>
		<atom:link rel="payment" title="Flattr this!" href="https://flattr.com/submit/auto?user_id=nekohayo&amp;popout=1&amp;url=http%3A%2F%2Fjeff.ecchi.ca%2Fblog%2F2013%2F02%2F15%2Fjoin-us-at-the-gstreamer-hackfest-in-milan%2F&amp;language=en_GB&amp;category=software&amp;title=Join+us+at+the+GStreamer+Hackfest+in+Milan&amp;description=Interested+in+GStreamer%2C+PiTiVi%2C+GES%3F+Meet+us+in+Milan+at+the+end+of+March+for+the+2013+GStreamer+hackfest%21+As+you+can+see+in+this+picture+from+last+year%26%238217%3Bs+hackfest%2C...&amp;tags=blog" type="text/html" />
	</item>
		<item>
		<title>Persistent tab states, render UX polish and other things</title>
		<link>http://jeff.ecchi.ca/blog/2012/11/15/persistent-tab-states-render-ux-polish-and-other-things/</link>
		<comments>http://jeff.ecchi.ca/blog/2012/11/15/persistent-tab-states-render-ux-polish-and-other-things/#comments</comments>
		<pubDate>Thu, 15 Nov 2012 15:13:03 +0000</pubDate>
		<dc:creator>nekohayo</dc:creator>
				<category><![CDATA[PiTiVi]]></category>
		<category><![CDATA[Planet GNOME]]></category>
		<category><![CDATA[Usability]]></category>

		<guid isPermaLink="false">http://jeff.ecchi.ca/blog/?p=2285</guid>
		<description><![CDATA[With some help from luisbg, I finally reworked and merged a 2-years-old patch of mine. It turned out to be less trivial than expected, because we had to change the settings backend to allow loading/reading configuration files at runtime for &#8230; <a href="http://jeff.ecchi.ca/blog/2012/11/15/persistent-tab-states-render-ux-polish-and-other-things/">Continue reading <span class="meta-nav">&#8594;</span></a>]]></description>
				<content:encoded><![CDATA[<p>With some help from luisbg, I finally reworked and merged a 2-years-old patch of mine. It turned out to be less trivial than expected, because we had to change the settings backend to allow loading/reading configuration files at runtime for our dynamically-generated tab components. So, what the heck does this mean to you? Automatically <a href="https://bugzilla.gnome.org/show_bug.cgi?id=578672">saving and restoring the state of our dynamic detachable tabs/components</a>. This is a nice improvement for those of you who want to spread the PiTiVi UI across multiple displays:</p>
<p><span id="more-2285"></span></p>
<div id="attachment_2287" class="wp-caption alignnone" style="width: 510px;  border: 1px solid #dddddd; background-color: #f3f3f3; padding-top: 4px; margin: 10px; text-align:center;"><a href="http://jeff.ecchi.ca/blog/wp-content/uploads/undocked-basetabs.png"><img class="size-medium wp-image-2287" title="undocked basetabs" src="http://jeff.ecchi.ca/blog/wp-content/uploads/undocked-basetabs-500x164.png" alt="" width="500" height="164" /></a><p style=' padding: 0 4px 5px; margin: 0;'  class="wp-caption-text">In this screenshot, I used a gray gradient as a my desktop wallpaper (for simplicity)</p></div>
<p>I&#8217;m also quite happy about a very nice contribution from <strong>Elad Alfassa</strong> to polish the rendering user experience. When the window is not currently focused, we now show a notification and play a sound (when pycanberra is available—<a href="https://bugs.freedesktop.org/show_bug.cgi?id=32587">where&#8217;s my introspection</a>?) to tell you to put down that webcomic you were reading:</p>
<p><img title="2012-11-12 3" src="http://jeff.ecchi.ca/blog/wp-content/uploads/2012-11-12-3.png" alt="" width="530" height="62" /></p>
<p><img class="alignnone size-full wp-image-2293" title="2012-11-12 4" src="http://jeff.ecchi.ca/blog/wp-content/uploads/2012-11-12-4.png" alt="" width="594" height="170" /></p>
<p>&#8230;and he reused the progress dialog to allow launching playback of the resulting file in your favorite video player:</p>
<p><img title="2012-11-12 2" src="http://jeff.ecchi.ca/blog/wp-content/uploads/2012-11-12-2.png" alt="" width="500" height="220" /></p>
<p>There still is, of course, room for improvement in that progress dialog in general. I need to think about it a little bit, but feel free to offer suggestions or patches.</p>
<p>Other little things that have been fixed in Pitivi in the last few weeks:</p>
<ul>
<li>Activating (pressing the Enter key) the filename entry in the render dialog starts the render (for those who don&#8217;t care about rendering settings!)</li>
<li>The timeline toolbar is now vertical and sports a slightly improved &#8220;Split&#8221; icon. It also does away with obsolete buttons. Hopefully, better icons for (un)grouping are on the way.</li>
<li>Dogtail <a href="http://wiki.pitivi.org/wiki/Test_suite">UI tests</a> have been fixed.</li>
<li>Tests for presets were improved and cruft from old integration tests was removed (about 1400 lines of code), thanks to aleb.</li>
<li>The &#8220;contributing&#8221; page on the website has been reworked a bit to be clearer.</li>
<li>The code now passes the 1.3 version of the <a href="http://www.python.org/dev/peps/pep-0008/">PEP8</a> code style compliance checker.</li>
<li>The clip previewer now works correctly while in fullscreen mode.</li>
<li>I hear it can now be launched on FreeBSD (apparently we&#8217;ve got at least one such user :)</li>
<li>The previously mentioned <a title="Autohiding fullscreen toolbar, error dialogs and file format filtering" href="http://jeff.ecchi.ca/blog/2012/10/15/autohiding-fullscreen-toolbar-error-dialogs-and-file-format-filtering/">filtering in the import dialogs</a> has been improved to use the system mimetypes instead of file extensions.</li>
<li>The media library keeps itself sorted alphabetically as you import files (thanks to Alex Băluț), without any additional performance hit. It is possible to confuse the sorting a bit if you mix ascii filenames with japanese lolcat videos, but even a human would have trouble knowing which goes first in that situation.</li>
<li>Various improvements have been done on the build script. It tries to avoid building glib, prefers building stable releases instead of checkouts of &#8220;master&#8221; everywhere, and is generally more resilient to failures. If you still experience issues with it, patches welcome!</li>
</ul>
]]></content:encoded>
			<wfw:commentRss>http://jeff.ecchi.ca/blog/2012/11/15/persistent-tab-states-render-ux-polish-and-other-things/feed/</wfw:commentRss>
		<slash:comments>12</slash:comments>
		<atom:link rel="payment" title="Flattr this!" href="https://flattr.com/submit/auto?user_id=nekohayo&amp;popout=1&amp;url=http%3A%2F%2Fjeff.ecchi.ca%2Fblog%2F2012%2F11%2F15%2Fpersistent-tab-states-render-ux-polish-and-other-things%2F&amp;language=en_GB&amp;category=software&amp;title=Persistent+tab+states%2C+render+UX+polish+and+other+things&amp;description=With+some+help+from+luisbg%2C+I+finally+reworked+and+merged+a+2-years-old+patch+of+mine.+It+turned+out+to+be+less+trivial+than+expected%2C+because+we+had+to+change+the...&amp;tags=blog" type="text/html" />
	</item>
		<item>
		<title>Lightworks is not anywhere close to open-source</title>
		<link>http://jeff.ecchi.ca/blog/2012/11/10/lightworks-is-not-anywhere-close-to-open-source/</link>
		<comments>http://jeff.ecchi.ca/blog/2012/11/10/lightworks-is-not-anywhere-close-to-open-source/#comments</comments>
		<pubDate>Sat, 10 Nov 2012 17:20:10 +0000</pubDate>
		<dc:creator>nekohayo</dc:creator>
				<category><![CDATA[Linux]]></category>
		<category><![CDATA[PiTiVi]]></category>
		<category><![CDATA[Planet GNOME]]></category>

		<guid isPermaLink="false">http://jeff.ecchi.ca/blog/?p=2275</guid>
		<description><![CDATA[I&#8217;ve seen everybody hail Lightworks as the messiah that will make all other open source video editors irrelevant. So far, I didn&#8217;t blog about this (because frankly, life&#8217;s too short to be pessimistic, and I was also quite curious as &#8230; <a href="http://jeff.ecchi.ca/blog/2012/11/10/lightworks-is-not-anywhere-close-to-open-source/">Continue reading <span class="meta-nav">&#8594;</span></a>]]></description>
				<content:encoded><![CDATA[<p>I&#8217;ve seen everybody hail <a href="http://lwks.com">Lightworks</a> as the messiah that will make all <a title="The glorious history of FLOSS video editors" href="http://jeff.ecchi.ca/blog/2011/07/15/the-glorious-history-of-floss-video-editors/">other open source video editors</a> irrelevant. So far, I didn&#8217;t blog about this (because frankly, life&#8217;s too short to be pessimistic, and I was also quite curious as to how it would play out and wanted to give EditShare the benefit of the doubt—after all, I&#8217;m a fan of video editing software in general).</p>
<p><span id="more-2275"></span></p>
<p>However, after all these years, most of the blogs or news sites (including the most popular ones) <em>still</em> don&#8217;t bother checking for factual accuracy and just blindly accept what corporate press releases would have them believe. I would have thought they would have grown more careful with time, but the situation has generally not improved, to the point where I am now compelled to say this now, officially, in public:<strong> Lightworks is currently not open-source and never has been.</strong> Furthermore, if it ever <em>is</em> open-sourced, it most likely won&#8217;t be anywhere close to a truly open project.</p>
<p>From what I&#8217;ve seen by reading the comments on these articles, the Lightworks forums or elsewhere, it seems that those who point out the very issue that I&#8217;m about to explain are routinely labelled as ungrateful, arrogant freetards or considered trolls to be banned. It is my hope that you will read this blog post with an open mind, and that you might see where I&#8217;m getting at with the last section.</p>
<p><img class="alignnone size-full wp-image-2278" title="sorry-were-closed" src="http://jeff.ecchi.ca/blog/wp-content/uploads/sorry-were-closed.gif" alt="" width="455" height="245" /></p>
<h1>The source code that never saw the light</h1>
<p>EditShare <a href="http://www.editshare.com/index.php?option=com_content&amp;view=article&amp;id=138:editshare-announces-lightworks-open-source&amp;catid=43:press-releases&amp;Itemid=184">announced</a> <em>two years</em> ago their <strong><em>intention</em></strong> to make Lightworks &#8220;open-source&#8221; someday, and that&#8217;s it. They have <strong>never released any source code</strong> since then. A code drop was planned for 2011 and it was postponed indefinitely. Calling Lightworks an &#8220;award-winning <em>open-source</em> video editor&#8221; currently is a lie. Even if they <em>do</em> open-source it someday, until the very day they do so, that statement remains a lie. Such a statement can only be a &#8220;truth&#8221; when you start saying it <em><strong>after</strong> </em>the source code has actually been released under an open-source license.</p>
<p>Until then, you can&#8217;t simply trust a corporation on that promise without some cautious skepticism. They have a ton of business imperatives and constraints: the bottomline, strategic direction, competition, logistical and legal challenges, investors to answer to&#8230; and virtually no compelling reason to open-source their product (we&#8217;ll come back to that further below).</p>
<p>Although I do have some faith that they might release it eventually, personally, after two years of waiting, I&#8217;m even beginning to doubt that. I&#8217;m not saying that EditShare wishes to do evil or just throw a marketing ploy together; I heard the numerous justifications/excuses along the lines of &#8220;we&#8217;ve got bigger priorities&#8221;, &#8220;we have a reputation to uphold&#8221; and &#8220;we&#8217;re stuck in legal review&#8221;, I just don&#8217;t buy those arguments.</p>
<p>Anyway. Whether or not not you believe they will release the source code someday is irrelevant, that&#8217;s not the point I want to make here in the first part. The point is: until then, it should not be considered open-source and should be treated with the default assumption that it may never be. <strong>If you see articles spreading inaccurate statements</strong> along the lines of &#8220;Lightworks is an open-source video editor&#8221; or &#8220;<a href="http://www.phoronix.com/scan.php?page=news_item&amp;px=MTE3OTg">Lightworks, the professional non-linear video editor that was <em>open-sourced in mid-2010</em></a>&#8221; (instead of &#8220;Lightworks is supposed to be open-sourced sometime in the next decade, according to press releases&#8221;), please comment and <strong>request the authors to correct or back their statements with references to publicly available source code repositories</strong>. We cannot stand by while untrue statements are being repeated all over the place, it is a disservice to the public.</p>
<h1>What if they do release the source code then?</h1>
<p>Most likely scenario: it won&#8217;t change a thing.</p>
<ul>
<li><strong>It&#8217;s a million lines of code</strong> (<a href="http://www.ohloh.net/p/compare?project_0=PiTiVi&amp;project_1=OpenShot+Video+Editor&amp;project_2=Kdenlive">compare and contrast</a>)! Good luck attracting people to work on such a monster codebase with 20 years of history. Most of which has been on the Windows platform (some of which on DOS&#8230; before that, I don&#8217;t know). Those of you who have done software maintenance know <a href="http://ask.slashdot.org/story/12/10/23/2220217/ask-slashdot-how-to-avoid-working-with-awful-legacy-code">what this means</a>. If projects with clean, modern and simple codebases like <a href="http://pitivi.org">Pitivi</a> struggle to attract any developers at all, don&#8217;t expect a &#8220;community&#8221; of benevolent hackers to form around your project anytime soon.</li>
<li><strong>The open source version will be crippled</strong>. As far as one can understand from their communications and <a href="http://www.lwks.com/index.php?option=com_content&amp;view=article&amp;id=45&amp;Itemid=184">their pricing page</a>(see the image further below), there would be three editions: the open-source edition, the &#8220;free&#8221; (freeware) edition, and the &#8220;pro&#8221; edition. Currently, only the &#8220;free&#8221; and &#8220;pro&#8221; editions are available. The open-source version probably won&#8217;t support anything but, say, <a href="http://xiph.org/theora/">Theora</a> and <a href="http://xiph.org/vorbis/">Vorbis</a>. It wouldn&#8217;t make sense to have the &#8220;open-source&#8221; version have support for the codecs that their &#8220;free&#8221; edition currently offers:
<div class="wp-caption alignright" style="width: 170px;  border: 1px solid #dddddd; background-color: #f3f3f3; padding-top: 4px; margin: 10px; text-align:center; float: right;"><a href="http://jeff.ecchi.ca/blog/wp-content/uploads/lightworks-free-vs-pro.png"><img class=" " title="lightworks free vs pro" src="http://jeff.ecchi.ca/blog/wp-content/uploads/lightworks-free-vs-pro-445x500.png" alt="" width="160" height="180" /></a><p style=' padding: 0 4px 5px; margin: 0;'  class="wp-caption-text">The upper portion of the comparison table between the free and pro version</p></div>
<ul>
<li>They can&#8217;t just bundle patented codecs for Free. Licensing those (<em>if</em> you can license those) is typically done on a &#8220;number of installations&#8221; basis and with limits on redistribution. You can&#8217;t do that with fully free and open-source software on which you have no control over.</li>
<li>They won&#8217;t switch their plumbing to use GStreamer or ffmpeg/libAV, for various obvious reasons (technical, manpower, QA, control, legal, etc.).</li>
<li>A significant part of their business model will be to differentiate the &#8220;freeware/premiumware&#8221; version from the fully &#8220;open source&#8221; (crippled) version. You want proprietary codecs? Pony up. This is how it works pretty much everywhere, and arguably, this is what their clients expect and accept. And that&#8217;s <em>fine.</em> As I said, it makes sense. For them and their intended clients.</li>
<li>Ignoring the whole codec issue for a minute, it is possible that the &#8220;open-source edition&#8221; will be only a portion of the application (ie: &#8220;crippled&#8221;). Anything that touches DRM, trade secrets, whatever, might be stripped out<em></em>—it&#8217;s hard to tell currently, as no source code has ever been released. If the current differences in featureset between the &#8220;Free&#8221; and &#8220;Pro&#8221; versions are any indication, then this might be a real scenario.</li>
</ul>
</li>
<li>It won&#8217;t cater to those who want a simple, native application that is well-integrated with their desktop environment. Or those who want a workflow for on-set redundant assets management as their top priority (Novacut). It will only solve the problems of a particular niche.</li>
<li>Community-wise: there are many ways Editshare can screw their community management (see further below).</li>
<li>With all that in mind, it would be very surprising to see the open-source edition start appearing in your official Linux distribution repositories.</li>
</ul>
<p>I might add some amusing observations from trying the beta:</p>
<ul>
<li>You&#8217;re forced to accept a EULA with a restrictive (non-free, non-open-source) license, which just confirms my points above about the various &#8220;editions&#8221;. However, do take note that the Lightworks beta was explicitely <em>not</em> the &#8220;open source release&#8221;. Again, that&#8217;s not the license the open-source edition is meant to be released under. Nobody knows what the chosen license will be at this point in time.</li>
<li>Lightworks is riddled with <a href="http://en.wikipedia.org/wiki/Digital_rights_management">DRM</a> and copy protections. It refuses to run in a virtual machine (such as VirtualBox) and cannot be run in a debugger (because <a href="http://www.lwks.com/index.php?option=com_kunena&amp;func=view&amp;catid=20&amp;id=28399&amp;Itemid=81">it would be a threat to its copy-protection</a> mechanisms).</li>
</ul>
<h1>Why would they even still care?</h1>
<p>The typical Lightworks demographic usually doesn&#8217;t give a damn about the code being open-source. That&#8217;s secondary. They just want software that is reliable, efficient, supports their crazy formats, and is reasonably priced (bonus points if it&#8217;s free or very cheap, given the competition from other pro-level packages). &#8220;Open source&#8221;? Nice to have in theory, cool for bragging with friends at the pub, but not much else. Kinda like saying that you&#8217;re using a &#8220;green&#8221; product. <strong>The typical Lightworks user is never going to study or modify Lightworks source code</strong>.</p>
<p>With that in mind, what does EditShare hope to achieve? They&#8217;ll be lucky if they get more than two crazy geeks to hack benevolently on the code outside of their official paid developers. I know because I&#8217;ve dealt with open source projects for years, and even those that are incredibly well-managed and welcoming to contributors struggle to attract and retain them. EditShare is aware of this, and they <a href="http://www.lwks.com/index.php?option=com_kunena&amp;func=view&amp;catid=20&amp;id=28904&amp;limit=6&amp;limitstart=12&amp;Itemid=81#28932">express it</a> with some snobbism (warranted, to some extent):</p>
<blockquote><p>Of course users want software that&#8217;s written by us <em>at this stage.</em> Is there anyone other than the original developers of Lightworks, and the best of developers that have moved across to us from other products, who are better placed to move Lightworks forward? Of course there are great Open Source developers out there, but they would be working from a standing start.</p>
<p>This is a specialist and complex product. We are not going to release it to Open Source until it is ready. Do to otherwise would cause untold issues.</p></blockquote>
<p>It is quite clear that they are expecting to shoulder the whole burden of development and maintenance. If someone else bothers to investigate a bug and send them a patch for it, they&#8217;ll certainly consider it, but I&#8217;d be surprised to see them giving &#8220;commit access&#8221; to anyone else than themselves (but hey, who knows). If my guess is correct, we&#8217;ll just be inheriting another Cinelerra (except that the base application is arguably of much higher quality this time).</p>
<h1>Open-source &#8220;product&#8221; vs open-source &#8220;project&#8221;</h1>
<p>This subtle distinction is probably only obvious to those who are familiar with the open-source ecosystem (don&#8217;t flame me for my <a href="http://en.wikipedia.org/wiki/Alternative_terms_for_free_software">choice of words</a> here, I&#8217;m trying to be comprehensible to the average person!), but there are countless ways in which EditShare LLC can screw up their &#8220;community&#8221; before even considering technical details like the ginormous codebase. They can screw up their licensing, they can try to exert too much control over the direction of the project, they can do like HeroineVirtual with Cinelerra and just release a monolithic code drop every six-to-twelve months, they can do like Sun/Oracle did with OpenOffice.org, like Canonical with their copyright assignment clauses, like Google does with its &#8220;read-only&#8221; open-source development model for Android, etc. That&#8217;s just from the top of my head.</p>
<p>It&#8217;s not the first time we see a company try to &#8220;open-source&#8221; a product and mess things up. And so far, EditShare has had a terrible track record when it comes to communication, multiple delays and broken promises, and just being clueless about how to properly interact with the &#8220;open&#8221; world generally speaking: the fact that they hyped their upcoming Linux alpha launch for months and then suddenly revealed, at the time of the release, that they were <a href="http://www.omgubuntu.co.uk/2012/10/video-editor-lightworks-linux-release-limited-to-select-few">releasing it only to a select few insiders</a>&#8230; All that without foreseeing the harm it would do to their already strained relationship with the public? That&#8217;s just pitiful—and terribly far from Kdenlive, OpenShot, PiTiVi, and all the others whose development has occurred fully in the open from the start.</p>
<h1>The greater ecosystem: being a good open-source citizen</h1>
<p>An open-source project is not about throwing together a pile of code and slapping a copyleft license on top of it. It&#8217;s about a superior software development model (given equal manpower) where you foster reuse and collaboration with <em>other</em> open-source projects. It is about <strong>being a living cell of an organism, an active part of an ecosystem</strong>.</p>
<p>Lightworks might be released under an open-source license someday, but unless they rewrite the whole application (which would make no sense), it&#8217;s still going to be one monolithic &#8220;bundle everything, do everything in-house&#8221; piece of technology.</p>
<p>This has all sorts of technical implications I won&#8217;t be getting into. More importantly however, there are some absolutely crucial implications on the greater scale of the &#8220;Free Software ecosystem&#8221; that I must mention.</p>
<p>When you contribute to open-source projects that have been doing things &#8220;the open-source way&#8221; (that is: depending on shared libraries and contributing to them—be it testing or providing fixes upstream), such as Pitivi/Kdenlive/OpenShot/etc., you end up <strong>fostering the use and improvement of the technologies that are the heart and soul of your open-source desktop/operating system</strong>.</p>
<ul>
<li>In the long run, you end up improving <a href="http://www.gtk.org/">GTK+</a>, <a href="http://en.wikipedia.org/wiki/Qt_%28framework%29">Qt</a>, <a href="http://en.wikipedia.org/wiki/Gstreamer">GStreamer</a>, <a href="http://en.wikipedia.org/wiki/Webkit">Webkit</a>, <a href="http://en.wikipedia.org/wiki/Pango">Pango</a>, <a href="http://en.wikipedia.org/wiki/Ffmpeg">FFmpeg</a>/<a href="http://en.wikipedia.org/wiki/Libav">Libav</a>, <a title="Why you should be using GES" href="http://jeff.ecchi.ca/blog/2012/09/17/why-you-should-be-using-ges/">GES</a>, <a href="http://en.wikipedia.org/wiki/Media_Lovin%27_Toolkit">MLT</a>, <a href="http://en.wikipedia.org/wiki/Cairo_%28graphics%29">Cairo</a>, X/Wayland, <a href="https://live.gnome.org/GooCanvas">goocanvas</a>, <a href="http://en.wikipedia.org/wiki/Clutter_%28toolkit%29">Clutter</a>, <a href="http://en.wikipedia.org/wiki/Glib">GLib</a>, the icon themes and artwork&#8230; the list goes on.</li>
<li>Recently, over the course of two months, Pitivi contributors have reported (and often fixed) more problems in GTK+, GLib and PyGObject than EditShare could ever hope to achieve in a <em>lifetime</em>—and that&#8217;s not even taking GStreamer into account.</li>
</ul>
<p>Lightworks, as far as I know, doesn&#8217;t use any of these. Improvements you make there will not find their way to your desktop or mobile device. Whatever you do with Lightworks stays within Lightworks—and that&#8217;s it.</p>
<ul>
<li>Update: it is claimed in the comments below that Lightworks does use Cairo and Pango.</li>
</ul>
<p>If you take &#8220;collaboration with the greater cause&#8221; out of the equation, one might argue that you could just as well have bought a package on the shelves for 80$ way back in 2003, instead of spending years hoping for an open-source &#8220;project&#8221; to solve your problem. Unsurprisingly, that&#8217;s what many people do.</p>
]]></content:encoded>
			<wfw:commentRss>http://jeff.ecchi.ca/blog/2012/11/10/lightworks-is-not-anywhere-close-to-open-source/feed/</wfw:commentRss>
		<slash:comments>47</slash:comments>
		</item>
		<item>
		<title>How do you visualize grouping?</title>
		<link>http://jeff.ecchi.ca/blog/2012/11/04/how-do-you-visualize-grouping/</link>
		<comments>http://jeff.ecchi.ca/blog/2012/11/04/how-do-you-visualize-grouping/#comments</comments>
		<pubDate>Sun, 04 Nov 2012 19:49:01 +0000</pubDate>
		<dc:creator>nekohayo</dc:creator>
				<category><![CDATA[GNOME]]></category>
		<category><![CDATA[PiTiVi]]></category>
		<category><![CDATA[Planet GNOME]]></category>
		<category><![CDATA[Usability]]></category>

		<guid isPermaLink="false">http://jeff.ecchi.ca/blog/?p=2269</guid>
		<description><![CDATA[Here&#8217;s a tricky usability question: how would you represent the actions of grouping and ungrouping clips on a timeline? (Un)grouping is used for changing the way selections affect a set of clips. It allows you, among other things, to separate &#8230; <a href="http://jeff.ecchi.ca/blog/2012/11/04/how-do-you-visualize-grouping/">Continue reading <span class="meta-nav">&#8594;</span></a>]]></description>
				<content:encoded><![CDATA[<p>Here&#8217;s a tricky usability question: how would you represent the actions of <strong>grouping</strong> and <strong>ungrouping</strong> clips on a timeline? (Un)grouping is used for changing the way selections affect a set of clips. It allows you, among other things, to separate and remove the audio from the video of a clip.</p>
<p><span id="more-2269"></span></p>
<p>It is very hard to find any relevant prior art that could guide me for this metaphor (most applications don&#8217;t have icons for these, they are only available through menu items). Inkscape can get away with icons that show &#8220;drag handles&#8221;, but we don&#8217;t have those in Pitivi. (un)grouping is quite an abstract concept, given that it does not visually change the clips in any way, it just changes the way they react to selections.</p>
<p>The last two items in the image below are the current group/ungroup icons:</p>
<p><img class="alignnone size-full wp-image-2270" title="2012 11 04 1" src="http://jeff.ecchi.ca/blog/wp-content/uploads/2012-11-04-1.png" alt="" width="42" height="148" /></p>
<p>Here is my attempt at making new ones with clearer meaning:</p>
<p><img class="alignnone size-full wp-image-2271" title="2012 11 04 2" src="http://jeff.ecchi.ca/blog/wp-content/uploads/2012-11-04-2.png" alt="" width="42" height="148" /></p>
<p>What do you think? Do you have better ideas on how to represent this?</p>
<p>Note: the icons I made are pixel-perfect, the 1px black lines above the icons are not my fault (I think). GTK seems to add some sort of shadow, probably because it expects symbolic icons in that toolbar (but I can&#8217;t imagine a way to represent clip interactions without color).</p>
]]></content:encoded>
			<wfw:commentRss>http://jeff.ecchi.ca/blog/2012/11/04/how-do-you-visualize-grouping/feed/</wfw:commentRss>
		<slash:comments>14</slash:comments>
		<atom:link rel="payment" title="Flattr this!" href="https://flattr.com/submit/auto?user_id=nekohayo&amp;popout=1&amp;url=http%3A%2F%2Fjeff.ecchi.ca%2Fblog%2F2012%2F11%2F04%2Fhow-do-you-visualize-grouping%2F&amp;language=en_GB&amp;category=software&amp;title=How+do+you+visualize+grouping%3F&amp;description=Here%26%238217%3Bs+a+tricky+usability+question%3A+how+would+you+represent+the+actions+of+grouping+and+ungrouping+clips+on+a+timeline%3F+%28Un%29grouping+is+used+for+changing+the+way+selections+affect+a+set...&amp;tags=blog" type="text/html" />
	</item>
		<item>
		<title>Autohiding fullscreen toolbar, error dialogs and file format filtering</title>
		<link>http://jeff.ecchi.ca/blog/2012/10/15/autohiding-fullscreen-toolbar-error-dialogs-and-file-format-filtering/</link>
		<comments>http://jeff.ecchi.ca/blog/2012/10/15/autohiding-fullscreen-toolbar-error-dialogs-and-file-format-filtering/#comments</comments>
		<pubDate>Mon, 15 Oct 2012 16:52:14 +0000</pubDate>
		<dc:creator>nekohayo</dc:creator>
				<category><![CDATA[PiTiVi]]></category>
		<category><![CDATA[Planet GNOME]]></category>
		<category><![CDATA[Usability]]></category>

		<guid isPermaLink="false">http://jeff.ecchi.ca/blog/?p=2249</guid>
		<description><![CDATA[Here&#8217;s one of the reasons why I&#8217;m not exactly in a hurry to learn C. When you ask me to read through C code, this is what happens: No jokes. Even after simplifying and compacting the code, it&#8217;s still such &#8230; <a href="http://jeff.ecchi.ca/blog/2012/10/15/autohiding-fullscreen-toolbar-error-dialogs-and-file-format-filtering/">Continue reading <span class="meta-nav">&#8594;</span></a>]]></description>
				<content:encoded><![CDATA[<p>Here&#8217;s one of the reasons why I&#8217;m not exactly in a hurry to learn <a href="http://en.wikipedia.org/wiki/C_(programming_language)">C</a>. When you ask me to read through C code, this is what happens:</p>
<p><span id="more-2249"></span></p>
<p><a href="http://jeff.ecchi.ca/blog/wp-content/uploads/2012-10-09-21.54.11.jpg"><img class="alignnone size-medium wp-image-2250" title="2012-10-09--21.54.11" src="http://jeff.ecchi.ca/blog/wp-content/uploads/2012-10-09-21.54.11-500x281.jpg" alt="" width="500" height="281" /></a></p>
<p>No jokes. Even after simplifying and compacting the code, it&#8217;s still such a pain for me to navigate through C that I actually felt the need to <em>output the code onto thin slices of dead plants and stick them to a wall</em>. This piece of code that I wanted to understand for a long time suddenly became clear after a few hours of analysis with a blue &#8220;thinkpad&#8221; and ballpoint pen:</p>
<div id="attachment_2251" class="wp-caption alignnone" style="width: 510px;  border: 1px solid #dddddd; background-color: #f3f3f3; padding-top: 4px; margin: 10px; text-align:center;"><a href="http://jeff.ecchi.ca/blog/wp-content/uploads/2012-10-09-23.15.02.jpg"><img class="size-medium wp-image-2251" title="2012-10-09--23.15.02" src="http://jeff.ecchi.ca/blog/wp-content/uploads/2012-10-09-23.15.02-500x281.jpg" alt="" width="500" height="281" /></a><p style=' padding: 0 4px 5px; margin: 0;'  class="wp-caption-text">And that was just reading and annotating&#8230; imagine if I actually had to write that code.</p></div>
<p>What was this code for, you ask? <a href="https://bugzilla.gnome.org/show_bug.cgi?id=603738">Making the toolbar hide nicely</a> in fullscreen mode. Thus <strong>400 lines of compacted C</strong> code to analyze from Gedit (nearly 700 if you don&#8217;t compact and just search code related to the fullscreen toolbar) became <strong>50 lines of Python</strong> code in Pitivi.</p>
<p>Okay, the fullscreen toolbar is not the <em>only</em> thing I&#8217;ve been up to lately. While cleaning up code or looking at old bug reports, I fixed some little details, such as filtering out unknown/irrelevant file types from the file chooser dialog when importing clips:</p>
<p><a href="http://jeff.ecchi.ca/blog/wp-content/uploads/pitivi-import-filtering.png"><img class="alignnone size-medium wp-image-2256" title="pitivi import filtering" src="http://jeff.ecchi.ca/blog/wp-content/uploads/pitivi-import-filtering-500x268.png" alt="" width="500" height="268" /></a></p>
<p>A combobox (defaults to &#8220;Supported file formats&#8221;) allows you to change the strictness of the filtering. The same is true of the &#8220;missing clips&#8221; file chooser. By default, we now show only files with the same extension as the one you&#8217;re looking for:</p>
<p><a href="http://jeff.ecchi.ca/blog/wp-content/uploads/pitivi-missing-files-filtering.png"><img class="alignnone size-medium wp-image-2255" title="pitivi missing files filtering" src="http://jeff.ecchi.ca/blog/wp-content/uploads/pitivi-missing-files-filtering-500x361.png" alt="" width="500" height="361" /></a></p>
<p>I also made it error out if you don&#8217;t provide the requested replacement clips, with a new error dialog to explain accordingly:</p>
<p><img class="alignnone size-full wp-image-2254" title="pitivi missing files partial project error dialog" src="http://jeff.ecchi.ca/blog/wp-content/uploads/pitivi-missing-files-partial-project-error-dialog.png" alt="" width="495" height="182" /></p>
<p>This is better than being stuck inside an infinite asynchronous loop, trust me. There are also some new error dialogs (everyone loves those) to catch some silly corner cases, such as trying to save in a read-only directory (because GTK <a href="https://bugzilla.gnome.org/show_bug.cgi?id=601451">doesn&#8217;t do it for us</a>):</p>
<p><img class="alignnone size-full wp-image-2252" title="pitivi saving to a read-only folder error dialog" src="http://jeff.ecchi.ca/blog/wp-content/uploads/pitivi-saving-to-a-read-only-folder-error-dialog.png" alt="" width="466" height="146" /></p>
<p>&#8230;And even crazier scenarios, including someone explicitely bypassing the file extension filters to try to load a movie file as if it was a project file:</p>
<p><img class="alignnone size-full wp-image-2253" title="pitivi project load error dialog" src="http://jeff.ecchi.ca/blog/wp-content/uploads/pitivi-project-load-error-dialog.png" alt="" width="642" height="164" /></p>
<p>It&#8217;s the little details that count. You can&#8217;t make something <em>too</em> bullet-proof.</p>
<p>I also progressively <strong>reworked the pitivi git environment/build script</strong> to make it smarter and friendlier. Not only does it allow you to continue where you interrupted the checkouts/builds, but it has a built-in debugging duck:</p>
<p><img class="alignnone size-full wp-image-2257" title="pitivi-git-env" src="http://jeff.ecchi.ca/blog/wp-content/uploads/pitivi-git-env.png" alt="" width="831" height="507" /></p>
<p><em>&#8220;What, that&#8217;s it? Don&#8217;t you have more exciting stuff to show?&#8221;</em></p>
<p>Well, it turns out that Pitivi itself is pretty much ready*, it&#8217;s in very good shape. What&#8217;s preventing a release is the need for GNonLin (and after that, GES) to be fixed, and there&#8217;s nothing I can personally do about that (except testing and mentoring interested contributors). So if reading and writing C does not require you to stick pieces of dead plants onto walls, come talk to us!</p>
<p>*: except if we embark on the project of refactoring and porting the whole timeline UI to Clutter&#8230; Oh, and we need someone to fix undo &amp; redo after that&#8230; And expand <a href="http://wiki.pitivi.org/wiki/Test_suite">our test suite</a>&#8230; And improve our title editor UI&#8230; And update the user manual/documentation&#8230;</p>
]]></content:encoded>
			<wfw:commentRss>http://jeff.ecchi.ca/blog/2012/10/15/autohiding-fullscreen-toolbar-error-dialogs-and-file-format-filtering/feed/</wfw:commentRss>
		<slash:comments>13</slash:comments>
		<atom:link rel="payment" title="Flattr this!" href="https://flattr.com/submit/auto?user_id=nekohayo&amp;popout=1&amp;url=http%3A%2F%2Fjeff.ecchi.ca%2Fblog%2F2012%2F10%2F15%2Fautohiding-fullscreen-toolbar-error-dialogs-and-file-format-filtering%2F&amp;language=en_GB&amp;category=software&amp;title=Autohiding+fullscreen+toolbar%2C+error+dialogs+and+file+format+filtering&amp;description=Here%26%238217%3Bs+one+of+the+reasons+why+I%26%238217%3Bm+not+exactly+in+a+hurry+to+learn+C.+When+you+ask+me+to+read+through+C+code%2C+this+is+what+happens%3A+No+jokes....&amp;tags=blog" type="text/html" />
	</item>
	</channel>
</rss>
