Swinsian: Fantastic iTunes replacement for music collectors

Posted by Pierre Igot in: iTunes, Music
May 7th, 2013 • 1:28 pm

As a music lover, I collect, among other things, lots of bootleg recordings of live Prince concerts. Back in the pre-Internet era, I actually spent some of my hard-earned cash on bootleg LPs, CDs, and VHS tapes. But thankfully, with the advent of the Internet, it has become possible to build a very decent collection of bootleg recordings without spending a cent. These recordings might not have the blessing of the artist himself, but at least there is no money involved and collecting them does not deprive the artist of any revenue. (My knowledge and appreciation of these bootleg recordings might affect my perception of the artist’s œuvre, but it certainly does not have an impact on my decisions when it comes to purchasing the artist’s official releases: I still buy everything he puts out.)

I also follow a number of other artists fairly closely, and also have a wide range of other musical interests.

This means, among other things, that I have amassed a rather vast collection of recordings, which needs to be maintained and managed. Most of it is now in digital form. (I still buy lots of music on CD, but I convert everything into digital files on my hard drive as well. The CDs are effectively my hard drive backup, and the medium for listening to the music on my main sound system, whereas I listen to the digital files with the sound system in my office.)

What are the options for managing these digital files? Well, on the Mac side, there seems to be pretty much only one option, which is iTunes. For years now, I have been praying for the introduction of some kind of version of iTunes optimized for music collectors — a kind of iTunes Pro, if you will. But of course, hoping that Apple itself would release such a product is nothing more than a pipe dream.

Instead, as time goes by, iTunes is becoming more and more bloated with things that are at best marginally useful to the music collector, and it’s becoming slower and slower, and buggier and buggier. Meanwhile, of course, my music collection is not getting any smaller.

A couple of months ago, I decided that I had finally had enough. While the iTunes 11.0.1 update released in late 2012 did address some of the worst issues introduced with iTunes 11, I still found myself constantly looking at the Spinning Beach Ball of Death, even for the most mundane of tasks (like starting or stopping playback!). In addition, knowing that this was at least partly due to iTunes constantly writing and rewriting the bloated files called “iTunes Library.itl” and “iTunes Library.xml” in the ~/Music/iTunes/ folder was not reassuring at all.

I had also started experiencing new bugs that were beyond irritating. For example, each time I imported music from an audio CD into my iTunes library, when I tried to eject the CD from within iTunes, the application would simply freeze altogether. (The only workaround was to quit iTunes after each import, eject the CD in the Finder, and then relaunch iTunes. Given that the very process of quitting and launching the iTunes application itself is slow as molasses, that was not really acceptable either.)

I was unable to reproduce the issue in a different user environment on my machine, so clearly it was a problem linked to my existing user environment and my existing iTunes music library. But I was not interested in exploring any of the more drastic troubleshooting options (like rebuilding my library from scratch, etc.) that would be required to try and identify the cause of the bug.

I then started exploring alternatives. First, I tried a couple of applications that were essentially alternate music players, like Ecoute or Fidelia, which would let me play the music from my iTunes library without having to launch iTunes itself. But I was not really satisfied and, besides, these solutions did not address my main concern, which was that even managing my music collection had become way too painful with iTunes. I needed a new music collection manager.

Then I stumbled upon Swinsian. I tried the demo and really liked what I saw. Unlike the other alternatives, it was an actual replacement for iTunes, not just as a music player, but as a music library manager. It could handle all the music file formats that iTunes supported (and then some). It offered tag editing, playlists, various view modes, etc.

But could it really replace iTunes? The first test was to see how it would handle my large collection of nearly 100,000 tracks. It passed that test with flying colours. Even the importing process was far shorter and smoother than I expected it to be. I made sure to configure it to only import the track info and not actually create duplicates of all my existing music files, and it was just fine with that.

Then I started playing around with the software, and began to feel increasingly confident about its ability to actually replace iTunes as my music library manager. It had some shortcomings, but it was very promising. I started sending reports about apparent bugs and issues to the developer, and was delighted to find that he was very responsive, even though I had not even purchased the software yet!

So I took the plunge, and decided to give it a real try. It wasn’t like I was taking a huge risk: If it didn’t work out, I could always go back to iTunes after a few weeks and simply update my library in iTunes to match the changes made in Swinsian. I would inevitably lose or have to redo some of my work in the process, but it would not be anything too catastrophic.

I purchased the software and set about using Swinsian in earnest for the various music library management tasks that my music collection usually requires. I started encountering other issues, of course, but was, once again, delighted to find that the developer would not only respond to my questions in a very positive and constructive manner, but would also actually implement bug fixes and enhancements in direct response to my comments, sometimes within a manner of days or even less! (I quickly opted to become a beta tester for new builds of the application, of course.)

This pattern continued for several weeks and it didn’t take me very long to decide that I had definitely made the right choice in switching from iTunes to Swinsian to manage my digital music collection. And now, as a long-time Mac user and iTunes user, I feel that it is almost my duty to report on what I have been able to experience and accomplish in Swinsian, with the help of its developer.

There is lots of material to cover and I won’t have time to mention everything that needs to be mentioned, but I’ll do my best to try and describe some of Swinsian’s key benefits and how it can be used as a replacement for iTunes for the purpose of managing and using one’s collection of digital music files. Everyone has different needs, of course, but I hope that sharing my experience will help others see that a switch from iTunes to Swinsian might be the best thing that they could do to regain control of their music library management experience.

Speed

This is definitely the main thing for me, and Swinsian really delivers. It is specifically designed for handling large libraries, and succeeds where iTunes fails miserably. It launches fast, it has a very responsive user interface, it lets you browse your large library quickly and smoothly, it lets you import tracks and edit tags efficiently, and it even has a Find/Replace feature that supports regular expressions, which is a crucial time-saver when you need to edit large numbers of tags in specific ways.

In fact, I am shocked to see how fast Swinsian is. Because of iTunes’s long-standing shortcomings and sluggishness, I had somehow managed to convince myself that the slowness was due to the large size of my library and to the intrinsic performance limitations associated with accessing and writing large numbers of files on a conventional hard drive. (My music collection is far too large to fit on an SSD drive.)

What Swinsian proves to me is that this was a false impression and that iTunes’s performance problems are not due to intrinsic limitations, but instead to the bad quality of iTunes itself as a piece of software. (Given Swinsian’s speed, the bottleneck is obviously not OS X itself or the file system.) I am more than surprised to see how fast Swinsian can, for example, modify the “Album” tag for dozens of tracks in a fraction of a second. I select the tracks, I edit the “Album” tag, I press Return to validate the changes — and my hard drive churns for about half a second, and that’s it! The same task in iTunes, at least for me with my large library, would be interrupted by multiple occurrences of the Spinning Beach Ball of Death and would easily, depending on the circumstances, take 10 or even 20 seconds sometimes.

It is really ridiculous how much faster Swinsian is, and it’s an eye-opener regarding the poor quality of iTunes itself as a piece of software, especially with large libraries.

Tags

With Swinsian, you can finally say goodbye to the semi-modal dialog box for editing track information. The information is displayed in a pane on the right-hand side that can stay visible at all times and is immediately updated based on the current selection in the main pane of the window. It takes a bit of time to adjust to this change (and the absence of visible field edges when the focus is not on the tag field is a bit disconcerting at first), but you quickly realize how pleasant it can be to have a non-modal interface for editing tags:

Swinsian-TrackInfo

Of course, the tags are not in the same order as in iTunes, so there is a period of adjustment there too. And Swinsian does not support as many tags as iTunes does. Notable absentees include iTunes’s sort fields. Swinsian only supports the standard “Artist” and “Album Artist” tags, so if you are used to sorting your artists by last name in iTunes, you will not have that option here. At first, I was a bit disappointed by this, especially given all the effort that I had put into tagging my tracks properly in iTunes in order to get, for example, all my Miles Davis music to show up under “D” rather than “M”.

But the truth is that, even after all these years, I was still very far from having properly tagged everything in my music library anyway, and of course, because of the limitations of the sort field feature in iTunes itself, it was a never-ending task, because there was nothing smart about this feature, and every time I imported a new Miles Davis album in iTunes, for instance, I still had to manually tag it properly in order to avoid having it show up under “M” rather than “D”. (A really smart sort field feature would have rules that would automatically add the right tags, at least for known artists with known sort fields, but also for obvious names. I mean, how hard can it be for a computer program to figure out automatically that, in “Neil Young”, “Young” is the last name and “Neil” is the first name?)

So basically I had to abandon the idea of having a music library with alphabetically-correct sorting. It’s not the end of the world for me, because I do a large part of my library browsing either via playlists or with the search feature anyway. When you access your Miles Davis tracks mostly by selecting a playlist or by typing “Miles Davis” in the search field (with instantaneous results in Swinsian, thank you very much), it does not much matter whether Miles Davis shows up under “D” or under “M” in alphabetical lists of artists.

One thing that the Swinsian developer has implemented is ignoring “The” when sorting things alphabetically. Initially, this only worked for artists, but he has recently added support for this same feature in track titles, so that “The End” shows up under “E” and not under “T” in alphabetical order. (And you can also browse lists by typing, which also correctly ignore the “The”. Ignoring “A/An” is not supported at this time.)

When editing tags, it is also now possible to use the familiar command-P and command-N shortcuts (as in “Previous” and “Next”) to jump from track to track in the Track Info pane without having to change the selection in the main pane. Even though the Track Info pane is not modal, it would still be a pain to constantly have to grab the mouse to select the track(s) whose info you want to modify.

In addition, Swinsian is a well-behaved OS X application, with support for the built-in spell checker, substitutions, etc. And it also provides text transformation commands for changing text to lowercase, title case or all caps.

Last but not least, Swinsian has a very powerful Find/Replace feature (separate from the regular search field) that supports regular expressions. This to me is pretty close to the Holy Grail of tag editing. Regular expressions have a bit of a learning curve, but they are such a powerful tool for editing large numbers of tags that I don’t think any owner of a large music collection can really do without them. (I know I did until now, but really I was just waiting for such a feature to finally become available.)

You can use the Find/Replace dialog without learning about regular expressions, of course, and it already enables you to execute batch operations that are impossible in iTunes, but regular expressions are where this feature truly shines.

In the process of collecting bootleg Prince recordings, for example, I often get, among other problems, tracks where the “Title” (song title) field contains the song title prefixed by a track number (as in “04 – Purple Rain”). Since there is already a separate track number tag, this is highly undesirable and the track number prefix needs to be removed. But how do you remove it? Well, without regular expressions, you have no choice but to do it manually, one track at a time. (Experienced iTunes users know that there are AppleScript scripts for iTunes for this type of thing, but they too are affected by the major performance issues in iTunes.) In Swinsian, you can just use a regular expression like:

[0-9]+ - 

(which means “any sequence of one or more digits followed by a space, a dash, and another space”) in the “Find:” field and replace all occurrences with nothing. While you cannot restrict the Find/Replace operation to the current selection of tracks, you can restrict the operation to tracks added recently only (in the last X days). And you can also preview the changes to make sure that the operation won’t affect any tracks that you don’t want it to affect.

With regular expressions, the possibilities are endless. You can clean up hundreds, thousands or tens of thousands of tracks with lightning-fast batch operations. It is an essential tool for managing a large collection of digital music files.

Controls

If you are used to using your keyboard’s media keys to control playback in iTunes, the same media keys will work Swinsian. On my aluminium Apple keyboard, for example, I can use fn-F8 from anywhere in OS X to play/pause playback in Swinsian, and fn-F7 and fn-F9 to jump to the previous and next tracks. (You don’t need the fn modifier key if you use OS X’s default keyboard settings for the aluminium keyboard.)

Controlling Swinsian playback volume specifically (without changing the overall volume level for the system) from anywhere in OS X is a bit more complicated, but one other key aspect of Swinsian is that it’s scriptable.

For increasing the playback volume, I ended up using Keyboard Maestro to define a macro that runs this AppleScript script:

tell application "Swinsian"
	set myVolume to volume
	set the volume to (myVolume + 0.05)
end tell

and displays a quick notification in Mountain Lion’s Notification Center, and I assigned the global cmd-shift-F12 shortcut to it. I have a similar macro for decreasing the playback volume in Swinsian.

I am still in the process of experimenting with other AppleScript scripts. For example, for my Prince bootleg recordings, I also need a script to “albumize” a selection of tracks, i.e. to automatically number these tracks in the right order in the “Track Number” field. (Typically, tracks that come with a track number prefix in the “Title” field also fail to include a track number in the “Track Number” field.) Even though my scripting skills are quite limited, I already have a script that appears to be working fine:

tell application "Swinsian"
	set p to selection of window 1
	if p is not {} then
		set c to count of p's items
		repeat with i from 1 to c
			set t to item i of p
			set the track number of t to i
		end repeat
	end if
end tell

I initially had some performance issues with this script. But again, the developer has been very prompt to resolve them.

Interface

If you are one of the many iTunes users who were dismayed by the fact that Apple removed the small pane displaying the album art in the main window in iTunes 11 in list view, I am pleased to report that the track information pane in Swinsian includes such a section.

Sometimes, Apple’s design decisions are maddeningly stupid, and at some point you find yourself wanting to throw your arms in the air and give up on the whole thing. Well, with Swinsian, you can give up on iTunes and get a proper list view mode with album art again:

Swinsian-AlbumArt

Swinsian also brings back the option to have a browser view with columns on the left — another key feature that was removed by Apple in iTunes 11. And it’s quite flexible:

Swinsian-BrowserOptions

In many respects, Swinsian offers a user interface that is what the iTunes interface for music collectors should be, and no longer is.

The playlist management features are similar to the ones in iTunes. Due to restrictions imposed by Apple itself, Swinsian is unable to import smart playlists from iTunes, and imports them as regular (static) playlists instead. But you can easily recreate your favourite smart playlists in Swinsian itself.

The one big thing that is still missing in Swinsian, in my view, is the ability to open playlists in separate windows. It’s another thing that Apple removed in iTunes 11, and I was hoping to get it back with Swinsian. But the developer tells me that he’s thinking about it, so I am quite optimistic.

iTunes and Swinsian Cohabitation

Even if, like me, you decide to embrace Swinsian as your primary music library manager, it’s unlikely that you’ll be able to get rid of iTunes altogether. For one thing, you might be a regular iTunes Store customer and want to continue to be able to purchase music from the store.

The good news is that you can have both. All you need to do, after importing your existing iTunes music library into Swinsian, is to use Swinsian’s “Watched Folders” feature to keep an eye on your iTunes Music folder automatically:

Swinsian-WatchedFolders

On my machine, iTunes is configured to save new music files to a folder called “Music 2009” (where I consolidated my entire music library back in 2009, hence the name). Now that I’ve moved to Swinsian as my main music library manager, I have changed the iTunes setting so that music files are no longer copied to this folder when I add them to the iTunes library (so that I don’t end up with all kinds of duplicates when I add stuff from my Swinsian library to my iTunes library). But when I buy some music from the iTunes Store in iTunes, it still gets added to my “Music 2009” folder. And now, with Swinsian’s “Watched Folders” feature, these newly-purchased tracks are also automatically added to my Swinsian library as well. (Again, to avoid multiple copies, I have configured the “Watched Folders” settings for my “Music 2009” folder in Swinsian to “Just Add Tracks”, as opposed to copying them.

This way, when I import new music (from a ripped CD, for example), it gets copied to my Swinsian library folder. But when I purchase something from the iTunes Store in iTunes (which gets copied to my iTunes music folder), it simply gets added to my Swinsian library, without getting copied to my Swinsian library folder. This means that I have music files in two different places, yes, but both those locations are on the same hard drive, and I back up everything on that hard drive nightly.

The other important issue regarding iTunes and Swinsian cohabitation is managing the music that’s stored on iOS devices. Initially, I thought I’d have to try and keep my Swinsian library and my iTunes library in complete sync. But I’ve since discovered how, once you’ve plugged in your iOS device and it shows up in iTunes, you can switch to the device’s “Music” pane and then drag and drop music files from Swinsian directly onto that pane in iTunes so that it gets added to the device, bypassing the iTunes library itself altogether.

(You can also easily select a bunch of tracks in Swinsian and simply drag-and-drop them into iTunes to add them to the iTunes library. As long as you have the right settings in iTunes, iTunes will simply add references to the tracks to its library and not copy the tracks. And it’s actually reasonably fast — as fast as iTunes can be these days, anyway.)

Of course, this will never be as good as complete iOS device integration or direct access to the iTunes Store, which only iTunes can offer. But it’s good enough for me and I suspect it might be good enough for many other music collectors.

I should also note that Swinsian includes support for AirTunes, which means that you don’t necessarily have to rely on iTunes to play the contents of your music library on your living room’s sound system, for example.

Importing CDs

Swinsian does not include its own feature for importing CDs. Instead, you can use a third-party application, such as XLD. In order to make the process smoother, you can use Swinsian’s “Watched Folders” feature to keep an eye on the folder where XLD saves the imported tracks, so that they will be automatically moved from that folder to Swinsian’s library folder and added to the library. (See the “Watched Folders” screen shot above.)

XLD is donationware and is a pretty powerful tool, which lets you use alternate sources for track information and album artwork. And it does not freeze when you try to eject a CD after importing it!

Conclusion

There are several other aspects that I have not mentioned about Swinsian (podcasts, shuffle, last.fm support, etc.), simply because I don’t really use them myself, or because I am running out of time and space. But I hope I have given you a good idea of what Swinsian can do as a replacement for iTunes.

Of course, by switching to such a tool for managing my music collection, I am also taking a bit of a long-term risk in that I am now dependent on a single developer continuing to develop, update, upgrade, and otherwise improve his software. With the passing of Evan Gross, developer of Spell Catcher, less than a year ago, I am more than sufficiently aware of the risks associated with excessive reliance on independent developers.

But at this point in time, there is simply no reason to believe that Apple will ever make iTunes a user-friendly tool for music collectors again, especially those with large music collections. So it is, once again, a risk that I am willing to take. One thing to keep in mind is that the work you might do on tagging your music collection properly, for example, is not application-dependent, since the tags are stored with the music files themselves, which remain fully accessible and transferable.

I certainly hope that Swinsian’s developer will continue to develop his application for many years to come, while preserving its essential qualities of speed, responsiveness, and power — qualities that are sorely lacking in iTunes today and show no sign of being part of Apple’s priorities these days. Also, if I can convince other people to switch to Swinsian, this will of course also increase the likelihood that it will continue to be developed and improved, so I am not being completely selfless here!

If you are the owner of a large music collection and are endlessly frustrated by iTunes’s numerous flaws and major performance issues, I strongly urge you to give Swinsian a try. It’s not a flashy piece of software that tries to reinvent the wheel with custom UI controls or crumbles under its own feature bloat. It’s an extremely solid, super-fast, standards-compliant application that really gets the job done.


2 Responses to “Swinsian: Fantastic iTunes replacement for music collectors”

  1. Betalogue » Streaming with iPad and Apple TV: Is it worth it? says:

    […] iTunes, which reached such a level earlier this year that I finally gave up on the software and switched to Swinsian as my main tool for managing my large music collection. I still have to use iTunes for a variety of […]

  2. Why Apple? - Page 6 says:

    […] […]