In this article I’ll be showing you how to easily clear your library of unwanted tracks using a custom Applescript and Quicksilver trigger.
Like many of you, I’m a keyboard junkie. I listen to music all day and I’m constantly switching between shuffled and non-shuffled play, skipping tracks and repeating them all without lifting my hands from the keyboard. There are a lot of apps that do this but I am partial to Quicksilver’s iTunes plugin when used with key-combo triggers. I’m not going to explain how to set this up (see MacApper for a nice run down similar to the basics of what I’ll describe here).
The heart of my system: the cursor keys which I have set to trigger core iTunes functions:
- Control-Option Right Arrow : Next track
- Control-Option Left Arrow: Previous Track
- Control Option Up: Toggle Shuffle On/Off
- Control Option Down: Play-Pause toggle
My tips in this brief series will focus on some additional scripts that aren’t included with the QS iTunes plugin. These, along with my preferred key-combos, are:
- Control Option Delete: Vaporize Track
- Control Option Enter: Add to Monthly Playlist
Let’s start with the dangerous one: vaporize.
Part 1: Vaporize the Unwanted
I don’t know about you, but I have about 30% pure crap in my iTunes library. Why? My taste has changed. Many were tracks from discs I inherited during otherwise amicable breakups (mostly amicable, other than the time I had a bottle of Campari thrown at me, a story I save for another time). A lot seem to have SXSW in the album name (a majority of SXSW tracks seem to be “dude, awesome song”, many are “nice effort” but more than one are “please stop now”).
I know, I know. Hard disk space is cheap. Why delete these songs? This, to me, is indicative of the “I might someday, sometime have use for a broken stapler/ipod/toothbrush” mentality that leads to accumulating CRAP in one’s business or domicile. In short: get rid of stuff you don’t need.
For a long time, mind you, my thought process was something like “well, so-and-so *really likes* that song so I’ll leave it on here in case I, like, need to make them a mix” or “that client likes that track and always wants me to play it during a shoot”. Now my attitude is: if I don’t like it, if I don’t listen to it, I get rid of it. I have 60GB of tracks (which is much smaller than many of you, I suspect) and I want to get rid of everything I don’t at least like (heck, I’d even settle for “tolerate”).
The problem? The effort required to stop what I’m working on, switch over to iTunes, delete the track, confirm the delete, and then play the next song is significantly higher than the effort to skip to the next track. Guess what I ended up doing most of the time? RIght. Next, please.
So I whipped up my Vaporize Current Track script.
WARNING: This track is the equivalent of a couple of bar bouncers that identify an unruly patron and forcibly and immediately escort him from the premises. It doesn’t ask. It just does. It will tell you what it’s done, of course. If you do have a change of heart, you can find the unwanted track laying face down in the gutter that is the Mac OSX trash.
To install
- Install Growl if you don’t have it. If you don’t have Growl installed you may get some errors. I haven’t tested on a non-Growled system. I’m a one machine man now. Technology monogamy has benefits.
- Download the Vaporize Current Track script. Easiest to save it to the ~/LIbrary/Application Support/Quicksilver/Actions directory (I actually save it in a centralized Scripts directory in my ~/Archive folder. You can save it anywhere if you feel comfortable setting up QS to find custom scripts for triggers.)
- You may want to quit and relaunch QS so that it looks at the Actions folder again and sees the new script.
- Set up a trigger for the new script in Quicksilver. I like “Control-Option-Delete”. I’ve found that current builds of QS sometimes have problems with newly created triggers. Again, a relaunch of QS seems to fix this.
To use:
- Listen to music.
- Find song you really really really don’t like
- Trigger.
- Sigh with relief.
Improve it:
If you’re game, I’d love to hear how you improve on this script. Best improvements can be rolled back into it for a revised release later.
Up next: Kinkless Tunes & Monthly Moods


Comments
Re: Vaporize The Unwanted (Kinkless iTunes 1)
I usally use SizzlingKeys to do a one star-rating for disliked songs, those songs get aggregated in a smart playlist and after a second thought they get vaporized :) Works on an ipod on the road as well. Ok, you get a lot of “hatespeech” from the album collectors but..hey :)
Re: Vaporize The Unwanted (Kinkless iTunes 1)
Yeah, breaking albums is actually a weird thing for me. I still try not to do it. E.g. I’ll never delete a White Album track. But there are some albums where I’m not wedded to the album and only really went for a couple tracks. They get picked apart, I’m afraid.
I like the one-star rating idea. I wish iTunes had a “mark rejected” option like Aperture, however that’s basically your 1-star hack. Clever idea. I suppose I could make the script set the track to one star and skip over it for the time being as well. But I guess I just like the immediate gratification. Would be a good way to ensure that I really, really don’t like the track later on during a “one-star review”, though.
Re: Vaporize The Unwanted (Kinkless iTunes 1)
I do the exact same thing. For me this is way better than instant deletion because I have a lot of stuff I need to be in the right mood for. I often listened to a good track with the wrong mood, deleted the track and later regretted it. With a 1-star ‘marked for deletion’ smartlist this adds a nice ‘mood-buffer’ :-)
Using stars as meaningful flags
I also use the one-star rating to mean “quarantine”, or “potentially to be deleted or at least reviewed”. I also use Tangerine! for BPM counting and having playlists with the right speed. However, sometimes Tangerine gets the BPMs wrong. Those songs with a wrong BPm count get a two-star rate; later, I just get all the tracks with 2-star rating and fix their BPM manually.
Re: Vaporize The Unwanted (Kinkless iTunes 1)
Seems like the script download link might be broken?
Re: Vaporize The Unwanted (Kinkless iTunes 1)
Sadly yes, it was. Fixed now. I was dumb with PHP for a moment.
Re: Vaporize The Unwanted (Kinkless iTunes 1)
I get “A voice from the shadows says “404” instead of vapour script ;)
Re: Vaporize The Unwanted (Kinkless iTunes 1)
Yea, the download link isn’t working.
Thanks for this I’ll give it a go when the download link is fixed.
What Growl thingy are you using for iTunes? I’m using GrowlTunes & it displays the tracks when they start, but it doesn’t display fast forward when you go to the next song like it your screencast.
Re: Vaporize The Unwanted (Kinkless iTunes 1)
I’m using GrowlTunes as well. However, you might want to check your growl settings for it. There are two type of Growl events for GrowlTunes, track start and track change, and you’ll probably want to check both of them.
Re: Vaporize The Unwanted (Kinkless iTunes 1)
I use GrowlTunes and it shows when fwd/rev tracks… But didn’t when Play/Pause. Or start =) We have to join our GrowlTunes Jono!
Re: Vaporize The Unwanted (Kinkless iTunes 1)
I use something similar to what you are proposing called Whack Current Track which I bind to a key on my Logitech keyboard. The script can be found on the excellent Doug’s Applescripts for iTunes ( http://dougscripts.com ). It really is the mother lode of iTunes Applescripts.
Re: Vaporize The Unwanted (Kinkless iTunes 1)
I love that site. Doug is an Applescript machine. I should have guessed he’d have something there. Here’s the link for that script. I’m about to check it out now.
Re: Vaporize The Unwanted (Kinkless iTunes 1)
Thanks, got the script now.
I have the same settings for GrowlTunes. I’ve tried trashing the preferences but still doesn’t work. Strange.
Re: Vaporize The Unwanted (Kinkless iTunes 1)
Hi!
I still get the dialogue box asking me whether I want to move the track to the trash. I’m using the German version of iTunes. Any ideas?
Best regards, Helmut
Re: Vaporize The Unwanted (Kinkless iTunes 1)
One thought there: when it asks you, is there a check box for “don’t ask me again”? It’s possible that this came up the first time for me as well and I just checked it off and it hasn’t come up since.
Butler
I’ve tried to be a QuickSilver person. I really have. On countless occations. But I always keep coming back to Butler. Here’s how to get the vaporizer to work with it:
Download the script, unpack it, open it in your favorite editor, and copy the contents to the clipboard.
Now bring up Butlers configuration window. From there hit the plus button to add a new item. Select Smart Item > AppleScript > AppleScript. Name your new item and paste the script into the “source code” pane. Then select the “Triggers” pane and add a hotkey.
That’s it.
Re: Vaporize The Unwanted (Kinkless iTunes 1)
I don’t vaporize, but I understand the idea. I one-star-ize songs I don’t like.
Which means I mark songs with one star rating if I don’t like them. That means the day I need to delete and make some space, all one-star songs can go.
Other songs I want to keep just in case, have 2 stars, and then I have three levels of rating for fine tuning what I like. Songs with no stars… mean they need a rating quick!
Good idea to use QS to implement on the fly the rating / clean-up. I only used to skip to next song, when stumbling on a boring song…
Re: Vaporize The Unwanted (Kinkless iTunes 1)
Does this work with iTunes Library on an external hard drive?
Re: Vaporize The Unwanted (Kinkless iTunes 1)
I would imagine yes, it would, as long as you have the appropriate permissions to delete off that drive… would like to hear how it goes if you try.
Re: Vaporize The Unwanted (Kinkless iTunes 1)
Another way to do a quick clean-up of songs you already know you don’t like is to enable the oft-overlooked “Skip Count” column in iTunes. Every time you skip forward a track without listening to it all the way through (and after listening to at least two seconds of it), its skip count is incremented. You build up a lot of data on your library’s detritus this way, particularly if you’ve been using a Next Track trigger as above.
If you sort by this column in iTunes you’ll see all the most irritating songs in your library spring to the top for easy batch deletion.
Also, I find binding the play-pause trigger to Control-Option-Space is a good choice, since it’s a bigger target area for such a heavily-used shortcut, and can be performed without lifting your right hand from your mouse (for the crazy mouse-users among us).
screencasting question
what did you use to make that screencast AND capture your keystrokes AND highlight certain things?
i’ve been trying to do some tech documentation for my office before i leave this job and i think that type of screencast will be handsdown more helpful than a set of written directions.
Re: Vaporize The Unwanted (Kinkless iTunes 1)
My vote is for 1 star on songs I don’t like - but possibly suit me in a different mood. And vaporize the songs I know fer sure are crap!
My problem is that I’ve tried to work with QS and iTunes, but there’s often about a 4 second delay before anything happens. Then other times it works instantly…
Anybody else have this? It’s too unpredictable to feel like I’m being efficient or saving time… i.e. it’s kinkful.
delete a hotkey?
Hey, I’m having issues using the delete key as part of the hotkey. i use a MBP. if i hold Fn, then delete shows up. But then it doesn’t work in practice, Fn or no Fn. If I don’t hold it down, QS just listens to control+opt. Cheers daniel
screencasting question a 2nd time
As Sunny askes, I’d also like to know this::
“what did you use to make that screencast AND capture your keystrokes AND highlight certain things?”
Cheers, Thomas
Re: Vaporize The Unwanted (Kinkless iTunes 1)
Love your desktop icons in the demo. Where did you get them? Jim
Vaporize
first of all, great script, love it. just a small issue, when i delete the current playing track, itunes starts playing from the beggining of playilist/library. Is there a way to, when i delete the current track it jumps to the next one ?
thanks in advance. SergioLopes
Re: Vaporize The Unwanted (Kinkless iTunes 1)
this script works great, the only problem is that i cant get growl to send notification about the track being deleted…where do you set that up?
ive got only “itunes scripts” in growl application, and the only option there is “notify when track is deleted”, but im not sure its part of the vaporize script, cos it doesnt send any notifications
its not even showing quicksilver in growl applications page, altho ive set quicksilver through its preference page to use growl for notifications
did someone manage to get growl to work with this script?
thanks
Re: Vaporize The Unwanted (Kinkless iTunes 1)
I am trying out this script with Quicksilver B54 (3815) and iTunes 7.6.2 but nothing happens when I trigger it. No error nothing.
Is this script not compatible with those versions of iTunes and Quicksilver?
Thanks
Post new comment