[vlc-devel] [PATCH 1/2] core: added sort by date (prepare for playlist fix)

Marcel Schnirring ms at marcel-schnirring.de
Sat Dec 31 14:27:58 CET 2016


Prepares the core to allow sorting playlists by date.
Further, sorting by artist now decides the order of equal entries via publish date and album.
---
 include/vlc_playlist.h |  3 ++-
 src/playlist/sort.c    | 14 ++++++++++++--
 2 files changed, 14 insertions(+), 3 deletions(-)

diff --git a/include/vlc_playlist.h b/include/vlc_playlist.h
index 6e42cb5..6a65c80 100644
--- a/include/vlc_playlist.h
+++ b/include/vlc_playlist.h
@@ -186,7 +186,8 @@ struct playlist_t
     DEF( SORT_DESCRIPTION )\
     DEF( SORT_RATING )\
     DEF( SORT_URI )\
-    DEF( SORT_DISC_NUMBER )
+    DEF( SORT_DISC_NUMBER )\
+    DEF( SORT_DATE )
 
 #define DEF( s ) s,
 enum
diff --git a/src/playlist/sort.c b/src/playlist/sort.c
index 588bd35..f241167 100644
--- a/src/playlist/sort.c
+++ b/src/playlist/sort.c
@@ -226,12 +226,22 @@ SORTFN( SORT_ALBUM, first, second )
     return i_ret;
 }
 
+SORTFN( SORT_DATE, first, second )
+{
+    int i_ret = meta_sort( first, second, vlc_meta_Date, true );
+    /* Items came from the same date: compare the albums */
+    if( i_ret == 0 )
+        i_ret = proto_SORT_ALBUM( first, second );
+
+    return i_ret;
+}
+
 SORTFN( SORT_ARTIST, first, second )
 {
     int i_ret = meta_sort( first, second, vlc_meta_Artist, false );
-    /* Items came from the same artist: compare the albums */
+    /* Items came from the same artist: compare the dates */
     if( i_ret == 0 )
-        i_ret = proto_SORT_ALBUM( first, second );
+        i_ret = proto_SORT_DATE( first, second );
 
     return i_ret;
 }
-- 
2.10.2.windows.1



More information about the vlc-devel mailing list