From 20486ee0ddea9956f1abd613fdb3fe44003c77c8 Mon Sep 17 00:00:00 2001 From: Kai Elwert Date: Tue, 3 Aug 2010 23:29:16 +0200 Subject: [PATCH] Implement sorting for smart playlists queries This will be used by the Title view in Remote. --- src/db.c | 18 +++++++++++++++++- 1 file changed, 17 insertions(+), 1 deletion(-) mode change 100644 => 100755 src/db.c diff --git a/src/db.c b/src/db.c old mode 100644 new mode 100755 index 2b302380..acb0cc28 --- a/src/db.c +++ b/src/db.c @@ -817,6 +817,7 @@ db_build_query_plitems_smart(struct query_params *qp, char *smartpl_query, char char *count; char *filter; char *idx; + char *sort; int ret; if (qp->filter) @@ -846,7 +847,22 @@ db_build_query_plitems_smart(struct query_params *qp, char *smartpl_query, char if (!idx) idx = ""; - query = sqlite3_mprintf("SELECT * FROM files WHERE disabled = 0 AND %s AND %s %s;", smartpl_query, filter, idx); + switch (qp->sort) + { + case S_NONE: + sort = ""; + break; + + case S_NAME: + sort = "ORDER BY title ASC"; + break; + + case S_ALBUM: + sort = "ORDER BY track ASC, album ASC"; + break; + } + + query = sqlite3_mprintf("SELECT * FROM files WHERE disabled = 0 AND %s AND %s %s %s;", smartpl_query, filter, sort, idx); if (!query) { DPRINTF(E_LOG, L_DB, "Out of memory for query string\n");