In designing this program, I stick to a few personal rules for file naming. You
may notice that some other mp3 renaming programs out there tend not to follow 
these at all. ugh. (I'm not gonna name names, but those are hideous programs,
IMHO ;)

1. MANY CHARACTERS DO NOT BELONG IN FILENAMES.
  
   I'm a console user. I like to move my mp3's around in console. i play them
   with mpg123. For this reason, filenames like this are horrendous:
    - My Mother The Monkey - Holy Monkey! (Chickens Isn't Monkeys?) (LIVE!!!!) .MP3
   I hope I don't have to explain why. For this reason, this program will 
   rename the above file to this:
    - my_mother_the_monkey-holy_monkey-chickens_isnt_monkeys-live.mp3
   That filename is much more friendly to mp3's.

2. decapitalization does more help than harm.

   Again, I'm a console user. And i like strictly named filenames. That said, 
   not many things require captitalization, and it's especially horrible when
   you have many different mp3's in a directory with different capitalization
   schemes... consider the following list: 
    - The_Cure-BloodFlowers.mp3 
    - The_cure-lovesong.mp3 
    - The_cure-Lovecats.mp3
    - the_cure-just_like_heaven.mp3
   I take into consideration tab completion here. As they appear above, tab
   completion is almost useless. were these all named in lower case, i could 
   hit tab, and then it would fill in 'the_cure-'. i could then type 'l' and 
   hit tab, and have it fill in 'the_cure-love' and I'd only have to type 's'
   or 'c' from there.

3. spacing and separation:
   
   Again, this makes things easier on a console user.
   I believe that there should NOT be spaces in filenames. Therefore, mp3's
   should be in this format:
    - artist_name-song_name-extra_info.mp3
   Simple, Elegant, and still conveys all information you need. the extra_info
   part refers to things like (live) and et cetera.

4. who cares what the track number is?

   This one has nothing to do with the console- It's here because I don't think
   that the track number or album name really matter in mp3 naming- the track 
   number's just a waste of space and the album name, if anywhere, should be in
   the ID3 tag. 

5. Id3 tags
   
   Note that in this strict format, filenames can easily be parsed into ID3 
   tags. In fact, you can even make it so that this filename:
    - my_mother_the_monkey-holy_monkey-chickens_isnt_monkeys-live.mp3
   can create an id3 tag saying:
    - Artist: My Mother The Monkey
    - Title: Holy Monkey (Chickens Isn't Monkeys) (live)
   and best of all, my program can do that. Aw. :)
   nothing wrong with weird characters in Id3 tags, I say.

6. piping to sh
   
   The last note: I don't like it when things do this all automatically. For 
   that reason, when you call my program on a file "Artisto - Title Moo .mp3"
   it will output this:
   mv "Artisto - Title Moo .mp3" artisto-title_moo.mp3
   but not actually rename the file. I do this so that you can (and are 
   suggested to) check the output. if the outputs all happy and doesn't murder
   filenames or mess something up, then you run it and pipe it to sh... like
   this:  mp3butler | sh .. That way, it sends all the stuff to sh to go from 
   there. aw.
      
7. Disagreeing with me

   There are plenty of programs out there that will do things OTHER than what
   I say here. If you like that kind of thing, Go with one of them. One of them,
   which particularly disgusts me, calls spelling "don't" as "dont" in a 
   filename a 'Spelling Error'. News, people. Filename spelling and English 
   spelling are completely different Entities. If you disagree with THAT, Buy
   a Mac. MacOS (I'm not sure about MacOSX, but at least the older MacOS's) 
   lets you name files with sentences. Hooray! Functionality! This is SO MUCH 
   more efficient. I wish all things did that. (Sarcasm mode off)
   
