EyeTunes.framework is a Cocoa Framework that abstracts away all the ugly Carbon Apple Events magic and allows you to directly control iTunes from any Cocoa Application.


  • Get all references to iTunes playlists, tracks and album art.
  • Set any writable fields that iTunes exposes such as Track name, artwork and much more.
  • Control iTunes and select playlists and tracks by using either track filenames or database ids.
  • Search the iTunes library just like the search box does.
  • Extract persistent ID and fetch tracks using such ids.


To grab an NSImage from the current playing track (say you're implementing some new album art viewier), you can use this simple snippet:

#import <EyeTunes/EyeTunes.h>

- (NSImage *) getArtworkOfPlayingSong {
    EyeTunes *eyetunes = [EyeTunes sharedInstance];
    ETTrack *currentTrack = [eyetunes currentTrack];
    if (!currentTrack)
       return nil;

    return [[currentTrack artwork] objectAtIndex:0];

Project Page

For instructions on how to use it, please go to the EyeTunes project page


For bug reports, please file them at the EyeTunes project page. Contact alastair@liquidx.net for anything else.

You can reply to me about this on Twitter: