commit 0d8045f5fc03d7dc116514312d6992ed7155dfab
Author: Kris Maglione <maglion...@gmail.com>
Date:   Thu Jan 7 18:13:33 2010 -0500

    [sqlite] Fix cover flow order.

 src/itdb_sqlite.c |   17 ++++++++---------
 1 files changed, 8 insertions(+), 9 deletions(-)
---
diff --git a/src/itdb_sqlite.c b/src/itdb_sqlite.c
index ff6f50c..ca38902 100644
--- a/src/itdb_sqlite.c
+++ b/src/itdb_sqlite.c
@@ -65,14 +65,16 @@ enum sort_order {
        ORDER_END
 };
 
-static glong sort_offsets[][2] = {
+static glong sort_offsets[][4] = {
     { G_STRUCT_OFFSET(Itdb_Track, sort_title),       
G_STRUCT_OFFSET(Itdb_Track, title) },
     { G_STRUCT_OFFSET(Itdb_Track, sort_artist),      
G_STRUCT_OFFSET(Itdb_Track, artist) },
     { G_STRUCT_OFFSET(Itdb_Track, sort_album),       
G_STRUCT_OFFSET(Itdb_Track, album) },
     { G_STRUCT_OFFSET(Itdb_Track, genre),            0 },
     { G_STRUCT_OFFSET(Itdb_Track, sort_composer),    
G_STRUCT_OFFSET(Itdb_Track, composer) },
     { G_STRUCT_OFFSET(Itdb_Track, sort_artist),      
G_STRUCT_OFFSET(Itdb_Track, artist) },
-    { G_STRUCT_OFFSET(Itdb_Track, sort_albumartist), 
G_STRUCT_OFFSET(Itdb_Track, albumartist) },
+    /* TODO: iTunes sorts first by album_artist, then by artist. */
+    { G_STRUCT_OFFSET(Itdb_Track, sort_albumartist), 
G_STRUCT_OFFSET(Itdb_Track, albumartist),
+      G_STRUCT_OFFSET(Itdb_Track, sort_artist),      
G_STRUCT_OFFSET(Itdb_Track, artist) },
     { 0, 0 } /* TODO: Series Name: ignored for now. */
 };
 
@@ -82,7 +84,7 @@ static gchar *sort_field(Itdb_Track *track, guint member)
     int offset;
     int i;
 
-    for (i = 0; i < 2; i++) {
+    for (i = 0; i < 4; i++) {
        offset = sort_offsets[member][i];
        field = G_STRUCT_MEMBER(gchar *, track, offset);
         if (offset != 0 && field != NULL && *field) {
@@ -1134,8 +1136,7 @@ static int mk_Library(Itdb_iTunesDB *itdb,
            /* name */
            sqlite3_bind_text(stmt_album, ++idx, track->album, -1, 
SQLITE_STATIC);
            /* name_order */
-           /* TODO */
-           sqlite3_bind_int(stmt_album, ++idx, 100);
+           sqlite3_bind_int(stmt_album, ++idx, lookup_order(orders, 
ORDER_ALBUM_ARTIST, track));
            /* all_compilations */
            /* TODO */
            sqlite3_bind_int(stmt_album, ++idx, 0);
@@ -1177,8 +1178,7 @@ static int mk_Library(Itdb_iTunesDB *itdb,
            /* name */
            sqlite3_bind_text(stmt_artist, ++idx, track->artist, -1, 
SQLITE_STATIC);
            /* name_order */
-           /* TODO */
-           sqlite3_bind_int(stmt_artist, ++idx, 100);
+           sqlite3_bind_int(stmt_artist, ++idx, lookup_order(orders, 
ORDER_ARTIST, track));
            /* sort_name */
            /* TODO always same as 'name'? */
            sqlite3_bind_text(stmt_artist, ++idx, track->artist, -1, 
SQLITE_STATIC);
@@ -1203,8 +1203,7 @@ static int mk_Library(Itdb_iTunesDB *itdb,
            /* name */
            sqlite3_bind_text(stmt_composer, ++idx, track->composer, -1, 
SQLITE_STATIC);
            /* name_order */
-           /* TODO */
-           sqlite3_bind_int(stmt_composer, ++idx, 100);
+           sqlite3_bind_int(stmt_composer, ++idx, lookup_order(orders, 
ORDER_COMPOSER, track));
            /* sort_name */
            /* TODO always same as 'name'? */
            sqlite3_bind_text(stmt_composer, ++idx, track->composer, -1, 
SQLITE_STATIC);

------------------------------------------------------------------------------
Throughout its 18-year history, RSA Conference consistently attracts the
world's best and brightest in the field, creating opportunities for Conference
attendees to learn about information security's most important issues through
interactions with peers, luminaries and emerging and established companies.
http://p.sf.net/sfu/rsaconf-dev2dev
_______________________________________________
gtkpod-cvs2 mailing list
gtkpod-cvs2@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/gtkpod-cvs2

Reply via email to