What is the opposite of iTunes Genius?

I didn’t realise until today that there was a part of iTunes Genius that makes suggestions when browsing the iTunes store.

I went to click on one item, and got:

Now, why would you go and recommend something you can’t give me? That is just plain mean!

iTunes Genius and Stuff

I’ve downloaded iTunes 8, mainly because I was a bit interested in Genius. More from a technical perspective than anything else right now, although it may end up replacing Party Shuffle (especially since lately I’ve been skipping tracks lots…)

So, I’ve heard mixed reports about it so far – that it doesn’t work with Classical music, for instance. I can verify that it does, for instance Canon in D major brings up a selection of other classical music. I can’t vouch for how good a job it does, since I’m still somewhat of a naïve listener of classical music.

I do think it’s funny that the Beatles cannot be used for Genius, but for Badly Drawn Boy, it seems to do a pretty good job of choosing similar music. I’m not sure how much is Genre-based, since I have fairly well genre-d tracks.

As for the new UI – I don’t mind it too much. I do miss the view that had the album art and tracks grouped by album, since that was the main view I used, except for when in Party Shuffle.

The Genius Sidebar annoys me a little that it is trying to get me to buy stuff – I think it’s just a rebadging of the Mini store, which I didn’t use anyway. Thankfully, you can turn this off. At least Apple got it right with the explicit asking of permission this time before sending your iTunes library data back to the mothership.

Daring Fireball Linked List: May 2008

John Gruber is well worth keeping in your feed list. Not only is the stuff he writes generally entertaining, on the ball and well written, but he finds other good stuff too.

Take, for example, his recent comment on How Apple is Changing DRM. Which, let’s face it, I wouldn’t have come across otherwise.

The flip side, though, is that DRM rules the day for paid video content.

From Daring Fireball Linked List: May 2008

I think that (tech-savvy) people are more accepting to have DRM applied to video content for a couple of reasons. First, you are less likely to keep watching the same movie over and over again. You are likely to listen to a piece of music over and over again. People will rent movies, either on DVD or from an online source, for this exact reason. By definition, rented movies must have DRM, else you have effectively bought them.

The second, and I think more important reason is to do with viewing modes of video. Most video is watched on a single device – at this stage still the device it was bought with. If you purchase a video on your computer, it’s probably to watch it there. Or, you have purchased/rented something as part of a system and plan to watch it on, say, an Apple TV, which uses the same DRM system as iTunes on your computer.

Perhaps in the future, as people have more video devices that can view the data they buy or rent, we will find less of an acceptance of DRM.

A third reason that just struck me is that traditionally, music was sold without DRM, even whilst in a digital format. Digital video has never really been sold without DRM. Even if it’s trivial to disable the DRM in DVDs and make copies, say to use on a device that doesn’t have a DVD drive.

Transfer ratings from one iTunes Mac to another

I’ve consolidated all of my media onto my new Mac Mini, but didn’t really think some things through when I first did it. For instance, I put all of my video data in before transferring my music across. I’ve still kept a copy of my music on the laptop, for what it’s worth, but because I just copied files, then I lost all of my rating data.

I looked at a couple of solutions for transferring the ratings, the most promising was a semi-manual method of creating smart playlists, one for each rating.

That was too old-tech for me, so I came up with a solution that uses Remote Apple Events. Now, to make the code easier, I’m using python and appscript, so make sure you have both of those installed.

 1     #! /usr/bin/python  
 2     
 3     import appscript  
 4     
 5     # Set up the two iTunes libraries.  
 6     local = appscript.app('itunes')  
 7     
 8     # You'll need to replace jens.local with your remote machine's name  
 9     remote = appscript.app(url='eppc://jens.local/itunes')  
10     
11     local.lib = local.playlists()[0].tracks()  
12     remote.lib = remote.playlists()[0].tracks()  
13     
14     # Create a dictionary with all local track names/artists/albums  
15     library = {}  
16     
17     for each in local.lib:  
18         key = each.name()+":"+each.artist()+":"+each.album()  
19         library[key] = each  
20     
21     # Iterate over every remote track.  
22     # If it is in the local library, take the local rating and  
23     #    apply that to the remote track.  
24     for each in remote.lib:  
25         key = each.name()+":"+each.artist()+":"+each.album()  
26         print key,  
27         if library.has_key(key):  
28             each.rating.set(library[key].rating())  
29             print "rated."  
30         else:  
31             print "doesn't exist in local library"  

That’s it. I’ve used this to transfer all of my ratings from local to remote iTunes. Granted, there is no check to see if I’ve got all of the local tracks on the remote machine – but that is mainly because I don’t have my Podcast library on the remote machine, and I hope (know?) I have all of the music, and that’s the stuff I care about.

Here’s a screenshot from my remote library.

IMDb Data and iTunes

Using python, it’s easy to get data from IMDb into your iTunes database.

You’ll need a few tools to get this working. appscript, py-IMDb and CocoaDialog. Install each of these, and for the latter, note where you store it. I’m not going to go through the code, as it is fairly well commented. If you can’t get it to work, leave a comment and I’ll see if I can help.

IMDB2iTunes.py

Note that you will need to save the file above, and rename it so it has a .py extension.

iTunes Album Rating

This seems to be pretty new in iTunes (i.e., I haven’t noticed it before): if you are viewing an album in the grouped view, and you have ratings on some or all of the tracks, it displays an average rating for the album:

iTunes Album Rating Hollow Stars

This is in a different set of stars to the normal rating of tracks. However, you can explicitly rate an album too, which changes it to the other type of stars:

iTunes Album Rating Filled Stars

Interestingly, if you do this to an album with tracks already rated, it will choose ratings for the tracks that haven’t been rated, so that it creates the right total rating:

iTunes Album Rating affects tracks in album

This rating isn’t stored with the track, if you open the Info window for one of the hollow star rated tracks, it hasn’t actually been rated.

This is quite interesting.

Apache Logfile Analysis

With a proper host, I have finally achieved the ability to do proper analysis of my logfiles. Since my traffic amount has been fairly high, I thought I would try to find out where all of my megabytes went! I’m using Analog, since that was free and did sort of what I want. I started writing my own tool, but got bored with that pretty quickly. 27% of my usage was in the XMLRPC.php file. Which had me stumped, until I remembered I’d used ecto to backup all of my posts, a couple of times as it turned out. This was 14 Mb, which I shouldn’t have to do all of the time. There’s still more stuff for me to find out – like how much of my bandwidth is being used up by Blogsome users who haven’t changed stuff within their template and I had pointing to mine.

Prélude No. 3 For ClavierDominic MillerShapes

iTunes 7.3 update: Weird package problem

I tend to keep the packages I install from Apple, just incase I need to reinstall stuff, so when I went to reinstall iTunes on the iMac G4, I remembered reading about the error I got when I tried to run the package: Betalogue » Blog Archive » iTunes 7.3 update: Weird package problem:
It still holds for 7.3.1, and it applied to downloading the package only, or installing and keeping it and then trying to reinstall it again.

iTunes/iPod Podcast handling

I can’t remember exactly when, but at some stage in the not too distant future, iTunes/iPod Podcast handling got a whole lot better. It used to be that if you started to listen to a Podcast, it was marked as “Not New”, and was no longer synced to the iPod. This is no longer true – it now syncs all Podcasts that have a play count of 0. It kinda caught me a bit by surprise, when I came across some Podcasts I was sure I’d listened to, and when I played them, I only got the last few seconds. I must have started a new track playing before the end.

Mounting a share before running an application

I have all of my Music, Movies and TV shows stored digitally on a server, located just below my feet at the moment, but soon to be shifted to another location. This server just runs SMB file sharing, and provides access to the same files, as well as a heap of other data, to all of the machines in my network. It also provides easy access to media and installers for guest users, too. The one thing I like about Windows1 over OS X is that you can have shares set to auto-mount on bootup. I used to use an AppleScript to do this, which was okay, except OS X still disconnects when you sleep. Not that I sleep my machine much, anyway. Then today, I read a great hint on MacOSXHints: Make sure iTunes mounts a networked music library. Basically, instead of running iTunes from the location it is installed in, you create an alias on the music server volume, and run it (via another alias back into the dock) from there. Then, before loading iTunes, it mounts the volume, if it can find it. Otherwise, iTunes will not run. Which is fine by me, since all of my music is on that server!

  1. Mind you, Windows does have some other crappiness in conjunction with this. Lately, I’ve been finding that it won’t always mount all of the shares, even though I chose automatically mount after rebooting, and it sometimes forgets my passwords. Similarly, you cannot connect more than once to a server with different credentials. I mean, seriously?