by Allison Barlow on July 1, 2010 2:12 PM | 13 Comments
Yorba has released Shotwell 0.6.1, an update to our digital photo
manager. We would like to thank all of our bug testers and translators for their excellent work.
It is highly recommended that all users upgrade.
Major improvements since 0.5 include:
* Basic support for RAW images, including import support for all common formats like CR2 and DNG
* Full support for working with PNG images
* Users can now zoom into photos
* A new preferences dialog
* The ability to open photos in an external editor, such as the GIMP, from within Shotwell
* Photo tags and titles are imported automatically from XMP and IPTC
metadata
* A photo trash can
* Numerous bug fixes and improved language support
Download a source tarball from the Shotwell home page at:
http://www.yorba.org/shotwell/
Binaries for Ubuntu Lucid or Maverick are available at Yorba's PPA:
https://launchpad.net/~yorba/+
by Rob Powell on June 28, 2010 8:16 AM | 6 Comments
We are pleased to announce the first release of yorba's multi-media creation tools, Lombard and Fillmore.
Fillmore is an open-source multi-track audio editor for Gnome, based upon GStreamer and written in Vala. You can record one mono track at a time. You can create multiple tracks and sequence your audio to create songs, podcasts, stories. You can export your project to an Ogg-Vorbis file.
Lombard is an open-source video editor for Gnome, based upon GStreamer and written in Vala. You can import and arrange your video clips using Lombard. If you would like to add extra audio tracks for music or voice overs, open up your Lombard project in Fillmore.
We are currently working on version 0.2 of both products and would love to hear what features you would like next.
You can read more about fillmore and lombard here.
by Lucas Beeler on June 22, 2010 7:16 PM | No Comments
With the release of Shotwell 0.6 coming up, we've started the process of updating documentation. In addition to Shotwell's familiar user documentation, which Allison has been diligently cranking away on to great effect, there's also the Architecture Overview, a technical document that describes Shotwell's underlying design. Of more interest to programmers than users, the Architecture Overview is the go-to document for understanding how all of Shotwell's pieces fit together. Because I wrote a lot of the publishing subsystem, it fell to me to document it for the Architecture Overview. And as I was writing up my description of the publishing subsystem's design earlier today, I realized something: publishing is ready for prime time.
What I mean by this is that if you're a software developer and there's a web service you'd like to publish photos to that's not supported in Shotwell right now (SmugMug and Zooomr come to mind), then building support for it into Shotwell shouldn't be too hard. There is one major caveat: the service you're interested in supporting must provide a REST interface. But if that key requirement is met, you should be able to adapt the Shotwell publishing system to your needs in no time.
Adding new publishing services will get easier once we have a dynamically-loadable plug-in system in Shotwell (see ticket #182), but even today it's straightforward. If you're interested, start by scrolling through the "Photo Publishing" section of the Architecture Overview. Once you get a feeling for the classes the make up a typical web connector and how they interact, you're not far from subclassing them for use with your own web service.
If you do end up building your own web connector in Shotwell, by all means send us a patch. Pending a code review, we'd love to include it in the next version of Shotwell!
by Jim Nelson on April 22, 2010 2:12 PM | 10 Comments
Last week at the Linux Collaboration Summit in San Francisco's Fillmore District, Yorba hosted a dinner with a gaggle of GNOME folks. We met at Sheba Piano Lounge for drinks and some mighty tasty Ethiopian food. A jazz trio played just a few feet away and a neighboring birthday party treated us to slices of their cake. I thought it was a wonderful evening -- thanks to everyone for attending!![]()
by Jim Nelson on March 22, 2010 11:27 AM | 6 Comments
Our first video review, from LinuxFileSystem.com:
by Jim Nelson on March 16, 2010 11:04 AM | 26 Comments
Yorba has released Shotwell 0.5.0, a major update to our digital photo manager. This release includes a host of new features, including:
* Photos can be tagged and organized by tag, creating a new tool for managing your photo collection
* Printing
* Photos can be published to Google's Picasa Web Albums service
* Photo exposure date and time can be set and shifted
* Photos can be set as your desktop background directly from Shotwell
* Photo import runs in the background, making imports smoother and more fluid
* Publishing photos to web services is more responsive
* New or updated language support for French, Italian, German, Simplified Chinese, Bulgarian, Danish, Dutch, Estonian, Polish, and Portuguese.
* Other stability and performance improvements
We highly recommend that all Shotwell users upgrade.
Yorba would like to thank all of our bug testers and translators, without whom this release would not have been possible. We'd like to specially thank Martin Olsson, for his rigorous testing of Shotwell 0.5, and Kaj-Ivar van der Wijst, for his stylish redesign of the Yorba website.
We'd also like to think our friends at Red Hat for making Shotwell the default photo manager in Fedora 13 alpha!
You can download a source tarball from the Shotwell home page at: http://www.yorba.org/shotwell/
or grab a binary for Ubuntu Karmic or Lucid via Yorba's Launchpad PPA at: https://launchpad.net/~yorba/+
by Jim Nelson on February 22, 2010 7:21 PM | 1 Comment
One of the features I'm proud of in Shotwell 0.4 is our undo/redo system. (Kudos to Rob Powell for turning me on to the Command pattern.) Thanks to abstractions in our primary data structures, it was easy to build a set of base Command classes that deal with these generic objects in generic ways. That's why our undoable crop command is only 13 lines of Vala code -- and that includes the class boilerplate.
When Adam first spec'd Shotwell (wa-aaa-y back in February/March of last year), he generated a slew of tickets for features he knew we wanted eventually, but in no particular order of priority. We knew we wanted undo but didn't know when we'd add it (or even what would be undoable).
When I first attacked the problem in November, I pointed out that coding undo does not give you redo for free. So, Adam created a separate redo ticket in case it had to go in later.
As it turned out, I implemented Redo alongside Undo. I was elbow-deep in the code and I could see how to get redo implemented on all the various commands, and sometimes in generic ways. (This is why crop's so small.)
That was pretty satisfying, closing ticket #65 and #1001 in the same commit. Now, some of those tickets in between aren't for Shotwell, but certainly a lot of them are. It felt like nailing the 7-10 split in bowling. I'm a horrible bowler, and I only remember making that shot once. Closing two tickets separated by 936 others is likewise satisfying.
by Jim Nelson on February 6, 2010 1:26 AM | 2 Comments
An article I wrote for The GNOME Journal about writing Linux multimedia applications with Vala is now posted.
Also, Adam and I are at FOSDEM 2010 this weekend. We'll be floating around, probably spending most of our time in the GNOME room. If you see us, come on up and say hi.
by Adam Dingle on January 12, 2010 3:36 PM | No Comments
We're looking for an experienced coder to join our 5-person team in San Francisco's sunny Mission District and help us develop our open source audio editor (Fillmore) and video editor (Lombard) for GNOME. If this sounds like your cup of tea, read more here:
http://yorba.org/jobs/
by Jim Nelson on January 5, 2010 6:29 PM | 2 Comments
You know that any post about deactivating HAL will, at some point, link to a bucket of bolts singing "Daisy Bell", so I'll do it now and get it over with.
The past couple of days I've been removing from Shotwell the deprecated (and despised!) HAL. Shotwell's reliance on HAL is minimal. Most hardware interaction is through gPhoto. What Shotwell needs is notification of devices being attached or detached (to run a gPhoto auto-detect) and a way of mapping USB ports to gPhoto camera objects (due to some legacy libusb port-naming stuff -- see this and this). udev is the preferred replacement (although there's still some information out there saying to use DeviceKit; don't). Unfortunately, there's no Vala bindings for gudev (a GObject-wrapper), so I had to build my own.
It turns out the Vala documentation for making bindings for GObject-based libraries has improved considerably, and I had a workable VAPI in just a couple of hours. (It's here for those interested in its state.)
gudev has a signal for when devices are added, removed, changed, etc. That's good. However, it doesn't provide a way to get subsystem-specific device information (i.e. whether a USB device is a PTP camera). The solution was to walk the USB bus (via libusb) and match bus/device IDs with gPhoto's auto-discovered port strings. And that's all there was to it.
HAL offered everything we needed (signalling and USB-specific device type information), so I can't say I'm on the good-riddance bandwagon. I'm not cheerleading for it either, though Like a casual acquaintance with whom you don't have much in common, it's easy to say sayonara to HAL.
