[vlc-commits] core: added sort by date (prepare for playlist fix)

Marcel Schnirring git at videolan.org
Sat Dec 31 14:52:33 CET 2016


vlc | branch: master | Marcel Schnirring <ms at marcel-schnirring.de> | Sat Dec 31 14:27:58 2016 +0100| [a5aee64cc830fabba54b845af13bfa5d78029cc0] | committer: Rémi Denis-Courmont

core: added sort by date (prepare for playlist fix)

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.

Signed-off-by: Rémi Denis-Courmont <remi at remlab.net>

> http://git.videolan.org/gitweb.cgi/vlc.git/?a=commit;h=a5aee64cc830fabba54b845af13bfa5d78029cc0
---

 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 7abb184..6d33d4f 100644
--- a/include/vlc_playlist.h
+++ b/include/vlc_playlist.h
@@ -180,7 +180,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;
 }



More information about the vlc-commits mailing list