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 "$@"|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 format. 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 <bobbypow...@gmail.com> wrote: > On Tue, Oct 15, 2013 at 11:10 AM, Martti Kühne <mysat...@gmail.com> 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 >
tagmp3s
Description: Binary data
slurpmusic
Description: Binary data