That's a great idea! I'll rearrange my music collection (all 140 GB of it), - including splitting artists that cover a few different genres - in seperate folders all so so that I can use a command driver music player
*Sigh* You have to be awkward... Fine, takes a little bit of time to set up, but that is your fault for having 0 organisationlan skills. Use this shell script:
Code:
#!/bin/bash
find *$1* -name "*.mp3" -print > playlist.m3u
mplayer -loop 0 -shuffle -playlist playlist.m3u
This works like this:
Code:
$ ls
artist1_metal_pop artist2_pop_genre1 mplayer_script.sh playlist.m3u
$ chmod +x mplayer_script.sh
We got artist1 who is metal + pop, and artist 2 who is pop and genre1, what we do now, is run the following if we want to play metal:
Code:
$ ./mplayer_script.sh metal
The playlist file is now:
Code:
$ cat playlist.m3u
artist1_metal_pop/1.mp3
artist1_metal_pop/2.mp3
artist1_metal_pop/3.mp3
artist1_metal_pop/4.mp3
If we want pop
Code:
$ ./mplayer_script.sh pop
$ !cat
cat playlist.m3u
artist1_metal_pop/1.mp3
artist1_metal_pop/2.mp3
artist1_metal_pop/3.mp3
artist1_metal_pop/4.mp3
artist2_pop_genre1/1.mp3
artist2_pop_genre1/2.mp3
artist2_pop_genre1/3.mp3
artist2_pop_genre1/4.mp3
Ok, this obviously not ideal if your artist has 50 million genres, but as a quick hack, this works at top level, so you don't need to rename any of your sub artist directories.
And ye, this is a quick hack, took what, 5 minutes? And a proper way to do is parse the input command line, and run find multiple number of times, appending to the playlist. This is useful if your "collection" changes a lot. Always will be up to date.
Anyway, I am not forcing anyone to use it, just people complaining that their gui players, have issues with large collections sometimes, this works fine, and has a smaller footprint, thought I am not sure how good find is through 140gb collection, but hmm. If I don't feel lazy, il "update" this script when il get home to handle multiple genres, even artists, though most collections have stupid names, il stick to just genres.
Edit:
Ok forgot to include how directories look, and moved command line stuff info code blocks
Code:
$ ls artist*
artist1_metal_pop:
1.mp3 2.mp3 3.mp3 4.mp3
artist2_pop_genre1:
1.mp3 2.mp3 3.mp3 4.mp3