I had a mini-epiphany last night as I was finalizing the ripping process on my CD collection. I re-rip my entire collection periodically, primarily to standardize the filename structure which gets sloppy over time, but also to reassure myself that my music metadata is up to date and accurate. For example, a few of my blink-182 albums were initially ripped with the artist name "Blink 182" which is not the proper form for the band name. Similarly, .moneen. is a band with a peculiar name which I often normalize as "Moneen" when I really shouldn't. Ultimately, band synonyms in will be handled in Blare either manually or through a continually updated online database similar to CDDB.
(In fact, as I've thought about it, the depth of information I want to provide about each individual song is much more than most people would be willing to invest into their media library, so an online database seeded - through an opt-in process - by the most devout information-obsessed audiophiles might be the way to go.)
But my epiphany has little to do with the filesystem structure of my music, and more to do with competing media players. When my music has been ripped as FLAC and then converted to mp3 for typical usage I'm left with a quandary which no media player has yet to handle: changing sources of media. Winamp and iTunes, the two media libraries I use most often, both offer a fair amount of metadata including things such as "Last Played Time" and "Play Count" and even "Skip Count" but that metadata is tied to that specific filename not that specific song.
This causes a problem for me because my music is particularly structured to aid in frequent updates on the filesystem. This is why my Music directory is subdivided into four main directories: Downloaded, Old, Torrented, and Ripped. Downloaded includes various individual tracks I download from sites which have no associated album such as demo tracks or the "Still Alive" song from Portal. Old is the repository for my album-less collection of music I maintained before I started ripping and downloading albums as a whole. And finally Torrented contains all the albums I've torrented over the years which over time get replaced by CD-ripped versions in the Ripped directory.
I like this directory structure because it maintains a coherent basis for the source of my music. Though this has gotten extremely muddy as FLAC torrents become more readily available, it's still manageable. Where it causes problems is when media libraries come in. All the nice metadata they have about my music gets obliterated if I re-rip the album with changed values for track names, album names, or artist names (My directory structure below my four main directories is "[artist]/[album]/[artist] - [tracknumber] - [title]") or if I buy the album and replace the torrented version with a ripped one. I could go through the effort of manually rewriting the libraries to point to these new files or, in the case of iTunes anyways, modify the library file through some string processing script custom designed for my purposes, but updating music shouldn't be that hard.
By and large, people only have one copy of a song. If there are numerous copies of the same song they are usually different (live versions, pre-album unfinished versions, etc.) and if they aren't then the library should be able to understand that and use the same song data for both while maintaining unique track information for each version, something which Blare hopes to accomplish. (Of course, while they should appear as two unique songs in a playlist, their internal metadata (Play Count, et. al.) should propagate across identical copies).
I know that people are loyal to their media players, so rather than purely fix what wrong with everything else, I think helping everything else should be a part of Blare as well. I already plan to have a library capable of handling new forms of data via plugins, so I think the next logical step is to allow linking Blare's more robust library to any other player willing to expose the capability to do so. With Blare at the core of your music. You would be able to open a track in winamp, and the play count would be updated in Winamp's internal library which would also update Blare's internal library which would then propagate out to any other linked libraries.
I also have some ideas about a good technique for having the same media file being accessed from multiple locations while retaining independent track information per instance (something which isn't possible with symlinks and the like) but this post is long enough as it is. I admit that I'm setting my sights high, almost absurdly so, but all of the things I'm talking about in these brainstorming blog posts are possible but no-one seems to have that much interest in making this sort of deep and rich media player, so I guess I've got to take the ball and run with it.
Comments
Post new comment