Index: mythplugins/mythmusic/mythmusic/globalsettings.cpp
===================================================================
RCS file: /var/lib/mythcvs/mythplugins/mythmusic/mythmusic/globalsettings.cpp,v
retrieving revision 1.22
diff -u -r1.22 globalsettings.cpp
--- mythplugins/mythmusic/mythmusic/globalsettings.cpp	30 Jan 2005 16:13:13 -0000	1.22
+++ mythplugins/mythmusic/mythmusic/globalsettings.cpp	20 Apr 2005 06:27:03 -0000
@@ -68,8 +68,8 @@
     gc->setValue("splitartist artist album title");
     gc->setHelpText(QObject::tr("Order in which to sort the Music "
                     "Tree. Possible values are a space-separated list of "
-                    "genre, splitartist, artist, album, and title OR the "
-                    "keyword \"directory\" to indicate that "
+                    "genre, splitartist, splitartist1, artist, album, and "
+                    "title OR the keyword \"directory\" to indicate that "
                     "the onscreen tree mirrors the filesystem."));
     return gc;
 };
Index: mythplugins/mythmusic/mythmusic/metadata.cpp
===================================================================
RCS file: /var/lib/mythcvs/mythplugins/mythmusic/mythmusic/metadata.cpp,v
retrieving revision 1.34
diff -u -r1.34 metadata.cpp
--- mythplugins/mythmusic/mythmusic/metadata.cpp	10 Apr 2005 05:17:15 -0000	1.34
+++ mythplugins/mythmusic/mythmusic/metadata.cpp	20 Apr 2005 06:27:03 -0000
@@ -16,7 +16,7 @@
    QString dispStr;
 };
 
-static FieldSplitInfo splitArray[] =
+static FieldSplitInfo splitArray4[] =
 { 
   {"ABCDE", " (A B C D E)"},
   {"FGHIJ", " (F G H I J)"},
@@ -24,10 +24,40 @@
   {"PQRST", " (P Q R S T)"},
   {"UVWXYZ", " (U V W X Y Z)"}
 };
+const int kSplitArray4_Max = sizeof splitArray4 / sizeof splitArray4[0];
 
-static QString thePrefix = "the ";
+static FieldSplitInfo splitArray1[] =
+{ 
+  {"A", " (A)"},
+  {"B", " (B)"},
+  {"C", " (C)"},
+  {"D", " (D)"},
+  {"E", " (E)"},
+  {"F", " (F)"},
+  {"G", " (G)"},
+  {"H", " (H)"},
+  {"I", " (I)"},
+  {"J", " (J)"},
+  {"K", " (K)"},
+  {"L", " (L)"},
+  {"M", " (M)"},
+  {"N", " (N)"},
+  {"O", " (O)"},
+  {"P", " (P)"},
+  {"Q", " (Q)"},
+  {"R", " (R)"},
+  {"S", " (S)"},
+  {"T", " (T)"},
+  {"U", " (U)"},
+  {"V", " (V)"},
+  {"W", " (W)"},
+  {"X", " (X)"},
+  {"Y", " (Y)"},
+  {"Z", " (Z)"},
+};
+const int kSplitArray1_Max = sizeof splitArray1 / sizeof splitArray1[0];
 
-const int kSplitArray_Max = sizeof splitArray / sizeof splitArray[0];
+static QString thePrefix = "the ";
 
 bool operator==(const Metadata& a, const Metadata& b)
 {
@@ -449,12 +479,33 @@
         else
             firstchar = FormatArtist().left(1).upper();
 
-        for (int i = 0; i < kSplitArray_Max; i++)
+        for (int i = 0; i < kSplitArray4_Max; i++)
+        {
+            if (splitArray4[i].testStr.contains(firstchar))
+            {
+                set = true;
+                *data = QObject::tr("Artists") + splitArray4[i].dispStr;
+            }
+        }
+
+        if (!set)
+            *data = QObject::tr("Artists") + " (" + firstchar + ")";
+    }
+    else if (field == "splitartist1")
+    {
+        bool set = false;
+        QString firstchar;
+        if (FormatArtist().left(4).lower() == thePrefix)
+            firstchar = FormatArtist().mid(4, 1).upper();
+        else
+            firstchar = FormatArtist().left(1).upper();
+
+        for (int i = 0; i < kSplitArray1_Max; i++)
         {
-            if (splitArray[i].testStr.contains(firstchar))
+            if (splitArray1[i].testStr.contains(firstchar))
             {
                 set = true;
-                *data = QObject::tr("Artists") + splitArray[i].dispStr;
+                *data = QObject::tr("Artists") + splitArray1[i].dispStr;
             }
         }
 
