The Music Library Management blog has moved!

Please visit:
and update your bookmarks.

Saturday, 19 June 2010

New release - 20100613

This week's release improves memory usage further. When bliss runs it builds an 'index' over your music files. This is so it can easily and efficiently work out where, for instance, all music files for a particular album are stored, all the tracks by a particular artist and similar information. Before, this information was all stored in computer memory. Now I have moved it onto your hard disk. For large collections of, say, 100,000 files, this yields a saving of about 70MB. Meanwhile, more memory work has been ongoing to make libraries of theoretically unlimited size to be supported. This work will hopefully be released next week.

In addition I tweaked how the size rule worked. Before, size was 'approximate'. Not only would bliss look for art +/- 10% of the rule size, but also it would resize down art to 10% over your stated maximum size. For the latter, it made little sense to resize to a size larger than you decreed, so instead for matters of compliancy all sizing is now 'strict'. The sizing is still approximate, however, for online searches, just so you can capture good art that is a few pixels too large/small.

The new build can be picked up at

Tuesday, 15 June 2010

The benefits of Linux home servers

I've discussed home servers before. Home servers are useful because they centralise, making data and services easier to manage. There are a number of different home server platforms available, but I choose Linux chiefly because of the power and flexibility it affords... not to mention it tends to work out cheaper.

Home servers centralise data (such as music files and documents) and services (such as home music servers and jukeboxes). This makes the data and services easier to manage, because they are all in one place. You don't need to remember where a particular album, or where your photos from Aunt Ethel's last visit, are stored. Backups run from just one place. If you ever want to access all of your music externally, just open your firewall to your music server.

There are a number of different ways that you can build home servers. You can go the generic route, or the specific one. Generic home servers are basically computers on which you install your own applications and invent your own file sharing structures. Examples of generic home servers are:
  • Linux (subdivided into the various Linux distributions)
  • Microsoft Windows Home Server
  • Mac Mini
Specific home servers are targeted at a particular problem. For instance, VortexBox is a music jukebox for distributing music through your home. You can pick these up in 'appliance' form, where the operating system, applications and all are already installed on a new piece of hardware, which you simply plug into your network. They often have Web interfaces to help with their administration.

I chose Linux. Here's why:


It's true that Linux is generally free at the point of installation. There are no licences to purchase (unless you happen to use a beefy enterprise level distribution, but that's unlikely for a home server). It runs on less powerful computers, meaning that you can recycle your existing, older computers.

In general, because Linux can be operated without a graphical user interface, you save on the extra resources required to support said interfaces. You can strip a Linux box down to the bare essentials.

My current Linux server consumes about 50 watts. This supports 1.75TB of storage capacity, a video capture card, and a music server (VortexBox) in a virtual machine and a MythTV server. It could be more efficient because I could purchase more modern energy efficient hardware, but that would mean scrapping the existing hardware. My current calculations are that it would be cheaper to go with the existing hardware.


'Power' is an overloaded word, but in this context I mean the ability to easily adminster the home server using a small set of common tools.

Everything in Linux can be administered from the command line and configured in the file system. This consistency of approach means that you can use the functionality of the command line for different applications and data types. Linux comes with a set of de facto standard GNU software packages. These are generic tools and can be applied to different uses. For instance, I can use the 'find' command to list all recently added music onto my home server.


Linux was built for server deployments. The fact that it can be run and administered purely through a command line interface means that it is easy to administer a Linux home server wherever you are. I've lost count of the times I've realised I forgot to bring some photos to share with family on a weekend away; with a Linux server it's very simple to log in and transfer these files.

A number of the software tools that are available for Linux also speak of this pedigree. Using tools like cron and rsync for backups, generic tools as they are, make for a very flexible approach. If you fancy compressing those backups, just bolt gzip on the end. Because all the software talks to each other in a standard way, it allows different ways of solving problems.

Thanks to DeclanTM for his highly realistic home server portrayal!

Sunday, 13 June 2010

New release - 20100606 - Store backups of art before overwriting

This week's release allows a backup of existing art to be taken when new art is chosen by bliss. This is useful where bliss has judged your art to be uncompliant (e.g. it's too large) and has decided to fix this (e.g. shrink it). If you have the backup option activated, the original art will be saved in the same directory as the music, and then the resizing will proceed.

This is the "Add option to save preexisting cover before overwriting" feature suggested on our UserVoice forums. Thanks to everyone that voted.

The new build can be picked up at

Tuesday, 8 June 2010

Fix missing iTunes album art with bliss

If you're an iTunes user, you may find that iTunes does not show album art for all of your music. A reason for this is that iTunes sources album art exclusively from the iTunes store. If your music isn't featured in the iTunes store, iTunes won't find the art. This is common for rarer releases, older releases, cover mounted CDs or bootlegs. It also affects music publishers who have not signed a deal with Apple, whether small (independent musicicans) or not so small (The Beatles!).

If art is missing, you need to either insert it manually (here's how) or use software like bliss to find the art and insert it for you. Here's a walkthrough of the latter.
First, here's our music in iTunes. We have missing art for "The Complete Collection" by Louis Armstrong and "Classical Tabla (Indian Drum) Interpretation" by Yusuf Mahmoud. Both albums were procured outside of the iTunes store and are not available within the store, and so iTunes does not have album art for them.
So we install and start bliss, and here's the settings we need. bliss chooses the default Windows music directory as a default, so we don't need to choose a different location. It's also important to embed the art so iTunes can find it later. Again, this is a default.
After applying the album art rule, bliss has located all the art and embedded it inside our music files.
Back in iTunes, we select all of our music... Either choose Edit > Select all or press [Ctrl] and [a] together.

Right click on all the selected albums and choose 'Get Info'.

Don't click any of the check boxes - just click 'OK'.

And finally we have our album art!

In the future, I'd like to streamline some of this in bliss. For instance, the latter stages where all of the albums are selected and you choose 'Get Info' could be avoided if bliss instructed iTunes it has updated the music files and to re-fetch the album art from the music files. If you want to see this kind of functionality, make a suggestion on the UserVoice pages.

That is how to use bliss to fix missing album art in iTunes.

Sunday, 6 June 2010

New release - 20100529

This week's release adds the current art into the change art screen. I implemented this because our users had said they wanted to compare the current art to the alternatives bliss has found.

I also squashed a few bugs. There was an issue where, after changing art from one picture to another, bliss would show the old art, even though it had successfully changed the art as requested. That's fixed.

I also improved the page navigation links that were introduced last week. I now show graphical buttons, show the progress through the list (e.g. 0-12 of 394 albums) and disable buttons when they make no sense, e.g. disable the previous button when you are at the start of the list.

The release is available at

Wednesday, 2 June 2010

Organising 'Various Artists' album files

Everyone has compilation albums featuring multiple artists in their digital music collections. How they are tagged and how the music files are organised is much more variable. This goes for both the differences between collections but also differences within collections.

It's the differences within collections that need fixing. If compilation track files are named with inconsistent artist names, for instance, they become harder to browse on your hard disk and so more difficult to administer and, potentially, listen to.

How should the files in 'Various Artists' compilation albums be arranged, then? The first step is that the file and directory names should be based on the tags located within the music files themselves, and when the tag changes, so should the file name or file structure.

The next step is to work out how you want the 'album artist' to appear for compilation albums. You could choose 'Various', 'Various Artists' or whatever (depending on your language of course!) but the important thing is that this applies consistently across your entire music library. The text you choose should be applied to the 'ALBUM_ARTIST' tag within your music files.

Once all your compilation albums have the same ALBUM_ARTIST tag, it's time to work out how this is applied to your file structures. Somewhere in your file structure you will probably have the artist name. A 'pattern' for the file organisation may be:
/[album artist name]/[album name]/[track name].mp3
/[album artist name]-[album name]/[album artist name]-[track name].mp3
Wherever '[album artist name]' appears, your chosen artist name tag should appear.

The final decision to make is how to treat capitalisation and whitespace. The latter only matters if you choose an artist name with whitespace, for instance 'Various Artists'. Assuming you did choose 'Various Artists', how capitalisation and whitespace is treated would give you the following differing example file structures:

Title case, allow spaces
/Various Artists/My Compilation/Intro.mp3
Lower case, replace whitespace with underscores
Personally, I use lower case, replacing whitespace with underscores. This is because I use Linux whose files are case-sensitive. It makes writing scripts easier if files and directories do not have spaces in them.

The keyword for managing music files is consistency. Consistency of how the artist for each compilation album is named, and consistency in how you treat capitalisation and whitespace when applied to file structures.

I wish you luck!
Thanks to Mulad for the image at the top of this article