KingSparta...
Yes, that is true, and maybe in that particular case I would go to the "E" section to buy said product since the name is fanciful, but I wouldn't go to the "T" section to buy The Residents, and I wouldn't go to the "R" section to buy Rosemary Clooney and I wouldn't go anywhere to buy Madonna
...
At the same time, I wouldn't expect a piece of software to determine whether Captain Beefheart should go under "C" or "B". (Though in this particular case, probably under "B" since he is refered to as Beefheart more than Captain, then again...where to put the "Stones"?)
I certainly see the issues, however, "The" is pretty easy, you can either ignore it, in other words, "The Beatles" would still be called "The Beatles" but would be alphabetized under "B". Or you could automatically put ",The" at the end...
As for the rest, it is tough. Here is an off-the-cuff possibility. A sort field is created and automatically updated as part of the database (I know the DB has been frozen, too late...).
Seems to me like you are going to have three possiblities:
1. keep
2. switch value 1 before space with value(s) after space
3. custom.
"Keep" would be the default and the Artist would automatically be filled in the sort field (better if you could decide what the default behavior would be...).
You could check a "swap" check box to swap out all charactors before a space with all charactors after the space (or charactor of your choice, "_" for instance...).
Or you could just edit the value directly for cases such as "Blind Lemon Jefferson" which you would probably want to sort by Jefferson. So I would enter "Jefferson, Blind Lemon" in the sort field.
So let's say that the breakdown is 20% group names that don't require special sorting, 70% Artists that need to be sorted by last name and 10% custom.
Here is what I would do...
Set the default sort to swap. This gets me 70% there. For 20%, I just have to deselect a checkbox. For the other 10% I still need to manually change things, but I currently need to do this with 80% of my music.
Since the defaults are determining how data is entered into a field, not how a collection is sorted, you could switch default behavior back and forth depending on what you rip.