[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