Lightroom and contact sheets

I saw this post on the Inside Lightroom blog and replied to it about using Lightroom to generate PDF contact sheets and thought I’d mention a bit more about it.

(more…)

Comments (0)
RapidAlbum 1.0B5

I just put RapidAlbum 1.0B5 up for download

http://www.smackie.org/Software/downloads/files/RapidAlbum.dmg

This is primarily a bug-fix release, with two really stupid bugs fixed (and quite a few less stupid ones too).

  • RapidAlbum now generates unstyled photo pages correctly. The documentation for the RapidWeaver API was, um, non-existant for this stuff and I goofed in my interpretation of it. The end result was that if a photo page was a couple of levels deep in the page hierarchy, the css includes and breadcrumbs were AFU. It now does the right thing.

  • My brain took a holiday and I managed to remove a very important line of code in the image scaler setup which meant that photo pages that relied on the scaler would get thumbnail sized images. Doh! Fixed.

There’s also a bunch of small bugfixes as I start to tackle the mountain of small, but annoying, bugs I know about in RapidAlbum…

Comments (1)
Workflow 3.0

Update

At the start of 2006, I posted about the workflow I was using for processing images. As you can imagine, it’s changed significantly over the last 18 months as tools like Lightroom, Aperture, Bridge and Photoshop CS3 have appeared. As folks still seem to look at the Workflow 2.0 post I wrote, I thought it was time to update with what I was currently doing.

(more…)

Comments (0)
RapidAlbum 1.0B4

I just pushed RapidAlbum 1.0B4 up for download.

RapidAlbum 1.0B4

The big addition for this beta release is the ability to generate an RSS2.0 feed from an album. This is the first step to building an integrated photo album/blog tool, which would be really very nice. Next step? Smart albums that know how to aggregate other albums on the site based on some selection criteria…

Comments (0)
Subclassing NSMutableDictionary

Although I haven’t posted much, if anything, on Cocoa programming I thought I’d post a bit more over the next few months. I’ve been coding in Cocoa for quite a few years now and it is, by far, the most productive application coding environment I’ve ever worked in. Unfortunately, the scope of Cocoa is huge and, if it wasn’t for other Cocoa programmers posting hints, notes and tips, I’d still be scratching my head about topics like drag-and-drop weirdness with NSTokenField bindings (more on this in a later post).

So this is to try to repay the favor to other coders who’ve struggled with the same things I have. And where better to start than one of the uglier problems that many programmers run in to; subclassing class clusters. The Cocoa designers, in their infinite wisdom, decided to make a few of the core Cocoa classes based on a class cluster and not concrete. This makes them awkward to try to subclass as you have to work out all of the primitive methods and provide support for them in the subclass.

Most folks end up giving up in disgust and wrapping things like NSMutableDictionary. However, once in a while, you really, really, really need to subclass it. In my case, I wanted a basic class that I could use in RapidAlbum that would call a delegate when an object in the dictionary was added or changed (so that I could flag a page export). However, I really wanted a dictionary interface as I wanted to be able to leverage all the existing NSDictionary methods (like dictionaryFromDictionary:) as the whole point is to avoid writing more code.

The trick here is to catch setObject:forKey: and removeObject:forKey: and add a delegate call. Note that if you could easily register a wildcard key-value observer for a container class that tracked all key/object changes in the class, then this would be unnecessary. That’s an expletive-laden rant for another day.

There’s a few pointers out there as to how to subclass NSMutableDictionary but nothing that really covers all of it. So, without further ado, here’s the approach I took.

(more…)

Comments (0)
RapidAlbum 1.0B3

I just pushed RapidAlbum 1.0B3 up for download. I did push up the 1.0B2 release yesterday but I spotted a few stupid bugs in it last night whilst I was updating my own website and decided it’d make more sense to cut a new release.

As it’s often hard to get a feel for what’s possible with a plugin, especially one that’s as essentially customizable as RapidAlbum, I’ve also put a page of examples up to illustrate the sort of layout you can achieve.

Comments (1)
Been a long time…

…since I wrote anything here.

I’ve neglected the Notes section of the website over the past year as I’ve found myself tied up in other projects (primarily photography for the Footprint Project in Windermere. However, a lot has changed in the last year. I’ve got a lot more Cocoa code to share and write about - primarily RapidAlbum, a RapidWeaver plugin that I wrote to allow web galleries to be generated quickly. I’ve also got the finished version of Epoch, a timelapse camera manager and editor to release soon too.

I’ve also been working a lot with Bridge 2.1, Lightroom and Aperture and I really need to write down my new image workflow as the version documented on the website is seriously out of date.

So, there’ll be a lot more life here in the next few months. :)

Cheers!

Comments (0)
MetaSync 1.5.3

It turns out that I messed up the code in MetaSync that checks whether you’re running MediaPro 2.X or MediaPro 3.x (as the Applescript dictionary is different in 3.X). If you’re running a newer 3.1.X version of MediaPro, it’s likely that you’ll find that the Ratings field over the MetaSync panel is greyed out (as MetaSync thinks you’re really running MediaPro 2.X).

I’ve just tweaked the code that does the version check and released MetaSync 1.5.3 to fix this problem. You can download it from the usual Software page.

And, yes, I’m still planning to release MetaSync 2.X at some point. Unfortunately, I’ve got a few other coding projects ahead of it on the list that need to be completed first. :-)

Cheers

Comments (0)
Footprint Project

Postings and personal software development has been a little thin on the ground recently as I’ve been working a lot on The Footprint Project on the St Catherine’s Estate in Cumbria. This is a sustainable building project for the National Trust and will be used as an education base for school groups when it’s completed. The goal is to construct the building using environmentally conscious materials and techniques (e.g. a car tyre foundation, straw bales and cob for walls and oak shingles for roofing).

This will be the first straw bale building in Cumbria and should be completed in late Summer of 2006!

I’ve been working on documenting each phase of the project with either still photos or the long-term time-lapse. We just recently created a new website to show some of the archive photography that we already have of the project. If you’re interested, you can check it out at www.strawfootprint.org. There are also some pages about the project on the National Trust website.

Cheers!

Comments (0)
Features for next revision of MetaSync

I’ve started work on the 2.0 release of MetaSync. It’s a ground-up rewrite of the existing code to make it a bit more flexible and allow a few more features down the road. The basic list of new features for 2.0 are -

  • Document-based application. You’ll be able to load and save common configurations, which should help keep things sane as the feature set expands.
  • Broader filename matches. I’m beefing up the filename matching to allow matches other than simple stem matches to happen.
  • Match pre-flighting. I’ve rejigged the matching to allow you to see what files are matched up before starting the sync. This should mean it’s easier to check that you’ve got the right parameters before pressing the “OK” button.
  • Interface tweaks. I’m trying to clean the basic interface up and make it all a bit easier; especially the extension matching.
  • Synchronization of sets. This could take a bit of work to make it really feasible but I’m going to have a crack at copying set info across.
  • Metadata comparisons. This is something I’ve wanted for a while - the ability to compare the metadata for a match and show what’s different. Hopefully, in this’ll allow folks to catch situations where they might lose some metadata changes that they’ve forgotten about.
  • Uh. That’s it.

So, just a few changes then. :-)

For the real geeks out there, I’m also rejigging the code to use more Cocoa objects. This should give me a bit more flexibility when it comes to driving the fancier bits of the UI as I’ll be able to use Cocoa bindings to really drive things along.

Hopefully, I’ll have a beta available in a week or two’s time.

Cheers!

Scott…

Comments (0)
« Previous PageNext Page »
© 2005 - 2007 Scott Mackie All Rights Reserved