Re: [dev] music db editor

From: Evan Buswell <>
Date: Wed, 16 Oct 2013 16:13:09 -0700

Since people seem interested in the filesystem-is-metadata approach,
here's a pretty ancient perl script that I used for about 5 years to
do that (wrote this before Python was even a thing). Files are assumed
to be organized as artist - album/track.title.mp3. In order to better
replicate the filesystem structure on portable media players, this
tags album as "artist - album" so you can get rid of all the lists on
the interface except album view. I used this with a 1-line script,
"mvmp3s" for quickly moving files to the right place, which was just
something like:

for file in *.mp3; do mv "$file" "$(echo $file|sed "$_AT_"|titlecase)"; done

Not hard to just type that yourself, but slightly faster and easier this way.

Like I said, I've finally decided for various reasons to take the
opposite approach. So I built a script to organize files based on
tags. Attached that, too, just in case. It basically uses the iTunes

Honestly, I feel like the filesystem solution *should* be better for
me, but isn't, just because of the inability of too many
filesystems/shells/tools to handle the full unicode charset in
filenames (including very common characters like '/', ':', '?'), which
consequently makes it impractical to implement tag2fn and fn2tag as
proper complements. Basically the choice came down to putting awkward
if readable substitutions into my mp3 files ('[/:]' -> ' - '; '?' ->
'_'), and breaking compatibility with the rest of the world, hence
never integrating mp3s into the library without a lot of overly
unmechanical careful renaming, or to stop being such an iconoclast. Of
course, I still want to do things at least right-ish (that suck less),
so here I am.

On Wed, Oct 16, 2013 at 3:01 PM, Bobby Powers <> wrote:
> On Tue, Oct 15, 2013 at 11:10 AM, Martti K├╝hne <> wrote:
>> 3.: I don't have any need to collect metadata about my music I run off mpd, and
>> if I had the need, I could build symlink trees from my already sane directory
>> structure:
>> music/A/Artist/Album/trackname.flac
>> That way I could add whatever metadata I could think of on any point in the
>> tree - and in actual filesystem metadata, since, that's where metadata goes,
>> right? As an example, I could list albums by different artists in a "weird"
>> directory and link all the weird music there, residents, die antwoord, etc.
> yes, yes, this seems like the way to do it. I like this much better
> than the sqlite I had been using, thanks for the encouragement.
>> I myself have a lot of unknown artist id3v2 tags and broken encodings in that
>> data, but I don't much need to give one, since I know where to find my stuff...
>> Also, where's the code? I'd be interested to try stuff out, especially 3 figure
>> SLOC projects as it's tradition in this part of the net...
> I'm going to work on this later this week, I'll post something with
> hopefully minimal suck then.
> yours,
> Bobby

Received on Thu Oct 17 2013 - 01:13:09 CEST

This archive was generated by hypermail 2.3.0 : Thu Oct 17 2013 - 01:24:07 CEST