Back around Easter, Brooke’s brother Dallas asked if there was an application I knew of that would clean up duplicate songs from an iPod. I had never heard of such a thing. I told him to give me a little while and I’d see what I could put together. Off I went to download the iTunes SDK and dig through the documentation to figure out if I could do what it was Dallas was looking for.
After some digging through the SDK and after playing around with .NET 3.5, I was finally able to put together a little something that did what I was looking for. Then I was able to add to it, and add a little more until I came up with this:
iCleanUp has 2 modes: Working with iTunes and with an iPod, and they vary slightly. iTunes can contain missing files, where the songs show up in the list, but when you click to play them iTunes says it can’t find the file and asks if you would like to try to locate it. This situation cannot occur in an iPod, since the files have to exist on the device for it to even know about the music.
When you select the option to clean up “dead” tracks, the interface changes to something like this:
The status bar will fill as it walks the entire iTunes database to find any missing files. As files are found missing it will add the information to the list. Once the application is done searching through all the files, you will then be able to select individual tracks, groups at a time ( click on one track, then shift click on a track somewhere else to select a contigious group ) or even use the shortcut CTRL+A to select all the items. Once items are selected a right click brings up a menu allowing you to remove the missing track information from iTunes. This action is NOT undoable, but since all these are actually missing files anyway, it shouldn’t be that big of a deal.
Finding duplicate tracks is a common functionality between both the iTunes and iPod ( iPhone not currently supported ) mode. With the push of a button iCleanUp will search through all the iTunes database. The level of matching is dependent upon the settings in the top right corner: Title, Artist, Album, Bit Rate, Track Number and Run Time. Title is always checked as that’s the lowest level of matching supported, but you can add any other filters to it. If Bit Rate is NOT selected but matches ARE found ( using Title and Artist for example ) then the HIGHEST Bit Rate track will be kept and the lower Bit Rate track will be displayed in the list as a suggestion for removal.
I am not quite ready to release this app to the masses, but this is a quick idea of what the app is about and what it will be able to do for you. If you are interested in this application, feel free to contact me: jeremy AT ugfl DOT net
Update: Version 1.0.1 is now available for the private beta group:
– Support iPhone 3GS ( other versions not tested, but should work )
– Fix typo on Deletion menu
– Fix interface not being reset when no iPod is attached and error is given