Clean up “Artist - Song Name"-Style Titles

Split song names of the form “The Beatles - Can’t Buy Me Love” into separate artist and song names.

Sometimes, you’ll encounter a Song Name in iTunes that incorporates the Artist as well as the Song Name of the track, typically like this: “The Beatles - Can’t Buy Me Love.” I don’t care too much for this arrangement, but I ran into it so often that I wrote a script that removes the Artist portion to the track’s artisttag and fixes what’s left in the nametag.

The Code

This script acts on the selected tracks. If their Song Names contain a hyphen flanked by a space on either side ( - ), the script splits the text on either side of the those three characters, placing the first part in the artisttag and the second part in the nametag:

	property separator : " - "
	
	tell application "iTunes"
	  if selection is not {} then

	   repeat with aTrack in selection
	    
	    tell aTrack 
		  if name contains separator then 
		    set {artist, name} to my text_to_list(name, separator) 
		  end if 
		end tell

		end repeat
	   end if
	  end tell

	  on text_to_list(txt, delim)
	    set saveD to AppleScript's text item delimiters
		try
		set AppleScript's text item delimiters to {delim}
		set theList to every text item of txt
	  on error errStr number errNum
		set AppleScript's text item delimiters to saveD
		error errStr number errNum
	  end try
	  set AppleScript's text item delimiters to saveD
	  return (theList)
	end text_to_list

This script ...

Get iPod and iTunes Hacks now with the O’Reilly learning platform.

O’Reilly members experience books, live events, courses curated by job role, and more from O’Reilly and nearly 200 top publishers.