Last.fm Cocoa Tagger v1.2
I added some new features including:
- Ability to refresh the list of playlists
- Reload playlist data functionality
- Status area indicating the current track being updated and overall progress.
Download now
This is a tumblelog, kinda like a blog but with short-form, mixed-media posts with stuff I like. Scroll down a bit to start reading, or a bit more to read more about me.
I added some new features including:
Download now
That is, until I get column sorting going. That’s my next task. In this release, I have integrated sparkle updates! I’m so happy about that. Thanks to Fool’s Ruby and Cocoa Workshop, adding sparkle updates was a breeze. Thank you K.M. Lawson!
As always, I will provide a screenshot and updated download link. Get it now!

Please download the latest version. There was a problem with using smart playlists. I had to remove them from the playlists dropdown temporarily (or maybe even permanently).
Due to problems with the Universal build, I had to build strictly for 10.5. So, here’s a new version with some cool new features. Let me know if you have any problems with it.
Download now (10.5.x build)

XCode is giving all kinds of problems. After a while it just stops letting me build. It likes vague error messages too:
The Debugger has exited due to signal 5 (SIGTRAP).The Debugger has exited due to signal 5 (SIGTRAP).Oh well, just an excuse for me to rewrite the thing again. I’m now making snapshots with XCode so that I can just revert if anything goes awry. New features and much increased performance as I’m actually using an NSArrayController. I’m looking at my old code and laughing…
After asking a few friends to beta test the app, I found out that it wouldn’t run on any machine but mine. Luckily, I have another mac around and was able to test. I ended up having to rewrite the whole thing! My problem was when I was trying to match the sender of the ‘tableView_objectValueForTableColumn_row’ delegate method to an NSTableView object. This wasn’t working on any other machine for some reason. So, I ended up rewriting it all and refactoring things into separate controllers which is really nice.
The app will close out properly if no playlist with the name of ‘lastfmtagger’ exists. I am working on integrating a way to create the playlist on demand so that the app will continue running.

I would also like to be able to refresh the list of artists on demand, or on a timed observe of some sort so that when you add artists to the playlist, the app is updated accordingly. Tons of ideas, tons of time!
Here’s an updated screenshot:

And the download link of course.
So, I’m trying my hand at Cocoa, namely RubyCocoa. Objective-C is a bit out of my grasp right now. If I start needing big performance boosts, I’ll go that route. In the meantime, writing RubyCocoa apps is insanely fun. I wrote this basic tagger in 2 days (roughly 6 hours) and it works pretty well! If you plan on trying out this app, create a small playlist with the name ‘lastfmtagger’ and put a few albums in there. Problems I am aware of:
I just implemented a feature to sort artists by name. I got a comment on my build.last.fm project page that commented about how the tagger works when artists in iTunes are sorted by name. Instead of relying on iTunes, I am now sorting by artist name in the actual code.
Not a huge change, but slightly significant. I am working on win32 compatibility also. If anyone can help, that would be great!
Ideally, I want to check the ENV constant for a string of /windows/i and then load win32ole gem and then abstract the iTunes interface to handle it properly.
Download last.fm tagger 1.1