Sayonara Player
src
Utils
MetaData
MetaDataSorting.h
1
/* MetaDataSorting.h */
2
3
/* Copyright (C) 2011-2020 Michael Lugmair (Lucio Carreras)
4
*
5
* This file is part of sayonara player
6
*
7
* This program is free software: you can redistribute it and/or modify
8
* it under the terms of the GNU General Public License as published by
9
* the Free Software Foundation, either version 3 of the License, or
10
* (at your option) any later version.
11
12
* This program is distributed in the hope that it will be useful,
13
* but WITHOUT ANY WARRANTY; without even the implied warranty of
14
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
15
* GNU General Public License for more details.
16
17
* You should have received a copy of the GNU General Public License
18
* along with this program. If not, see <http://www.gnu.org/licenses/>.
19
*/
20
21
22
23
#ifndef METADATASORTING_H
24
#define METADATASORTING_H
25
26
#include "Utils/Library/Sortorder.h"
27
28
class
MetaData
;
29
class
Album
;
30
class
Artist
;
31
32
class
MetaDataList
;
33
class
AlbumList
;
34
class
ArtistList
;
35
36
namespace
MetaDataSorting
37
{
38
bool
TracksByTrackNumAsc(
const
MetaData
& md1,
const
MetaData
& md2);
39
bool
TracksByTrackNumDesc(
const
MetaData
& md1,
const
MetaData
& md2);
40
41
bool
TracksByDiscnumberAsc(
const
MetaData
& md1,
const
MetaData
& md2);
42
bool
TracksByDiscnumberDesc(
const
MetaData
& md1,
const
MetaData
& md2);
43
44
bool
TracksByTitleAsc(
const
MetaData
& md1,
const
MetaData
& md2);
45
bool
TracksByTitleDesc(
const
MetaData
& md1,
const
MetaData
& md2);
46
47
bool
TracksByAlbumAsc(
const
MetaData
& md1,
const
MetaData
& md2);
48
bool
TracksByAlbumDesc(
const
MetaData
& md1,
const
MetaData
& md2);
49
50
bool
TracksByArtistAsc(
const
MetaData
& md1,
const
MetaData
& md2);
51
bool
TracksByArtistDesc(
const
MetaData
& md1,
const
MetaData
& md2);
52
53
bool
TracksByAlbumArtistAsc(
const
MetaData
& md1,
const
MetaData
& md2);
54
bool
TracksByAlbumArtistDesc(
const
MetaData
& md1,
const
MetaData
& md2);
55
56
bool
TracksByYearAsc(
const
MetaData
& md1,
const
MetaData
& md2);
57
bool
TracksByYearDesc(
const
MetaData
& md1,
const
MetaData
& md2);
58
59
bool
TracksByLengthAsc(
const
MetaData
& md1,
const
MetaData
& md2);
60
bool
TracksByLengthDesc(
const
MetaData
& md1,
const
MetaData
& md2);
61
62
bool
TracksByBitrateAsc(
const
MetaData
& md1,
const
MetaData
& md2);
63
bool
TracksByBitrateDesc(
const
MetaData
& md1,
const
MetaData
& md2);
64
65
bool
TracksByFilesizeAsc(
const
MetaData
& md1,
const
MetaData
& md2);
66
bool
TracksByFilesizeDesc(
const
MetaData
& md1,
const
MetaData
& md2);
67
68
bool
TracksByFiletypeAsc(
const
MetaData
& md1,
const
MetaData
& md2);
69
bool
TracksByFiletypeDesc(
const
MetaData
& md1,
const
MetaData
& md2);
70
71
bool
TracksByRatingAsc(
const
MetaData
& md1,
const
MetaData
& md2);
72
bool
TracksByRatingDesc(
const
MetaData
& md1,
const
MetaData
& md2);
73
74
bool
TracksByAddedDateAsc(
const
MetaData
& md1,
const
MetaData
& md2);
75
bool
TracksByAddedDateDesc(
const
MetaData
& md1,
const
MetaData
& md2);
76
bool
TracksByModifiedDateAsc(
const
MetaData
& md1,
const
MetaData
& md2);
77
bool
TracksByModifiedDateDesc(
const
MetaData
& md1,
const
MetaData
& md2);
78
79
bool
ArtistByNameAsc(
const
Artist
& artist1,
const
Artist
& artist2);
80
bool
ArtistByNameDesc(
const
Artist
& artist1,
const
Artist
& artist2);
81
bool
ArtistByTrackCountAsc(
const
Artist
& artist1,
const
Artist
& artist2);
82
bool
ArtistByTrackCountDesc(
const
Artist
& artist1,
const
Artist
& artist2);
83
84
bool
AlbumByArtistNameAsc(
const
Album
& album1,
const
Album
& album2);
85
bool
AlbumByArtistNameDesc(
const
Album
& album1,
const
Album
& album2);
86
bool
AlbumByNameAsc(
const
Album
& album1,
const
Album
& album2);
87
bool
AlbumByNameDesc(
const
Album
& album1,
const
Album
& album2);
88
bool
AlbumByYearAsc(
const
Album
& album1,
const
Album
& album2);
89
bool
AlbumByYearDesc(
const
Album
& album1,
const
Album
& album2);
90
bool
AlbumByDurationAsc(
const
Album
& album1,
const
Album
& album2);
91
bool
AlbumByDurationDesc(
const
Album
& album1,
const
Album
& album2);
92
bool
AlbumByTracksAsc(
const
Album
& album1,
const
Album
& album2);
93
bool
AlbumByTracksDesc(
const
Album
& album1,
const
Album
& album2);
94
bool
AlbumByRatingAsc(
const
Album
& album1,
const
Album
& album2);
95
bool
AlbumByRatingDesc(
const
Album
& album1,
const
Album
& album2);
96
97
void
sortMetadata(
MetaDataList
& v_md,
Library::SortOrder
);
98
void
sortAlbums(
AlbumList
& v_md,
Library::SortOrder
);
99
void
sortArtists(
ArtistList
& v_md,
Library::SortOrder
);
100
101
void
setIgnoreArticle(
bool
b);
102
}
103
104
105
#endif // METADATASORTING_H
ArtistList
ArtistList.
Definition:
Artist.h:77
MetaDataList
The MetaDataList class.
Definition:
MetaDataList.h:37
Album
The Album class.
Definition:
Album.h:41
Artist
The Artist class.
Definition:
Artist.h:38
AlbumList
The AlbumList class.
Definition:
Album.h:100
MetaData
The MetaData class.
Definition:
MetaData.h:47
Library::SortOrder
SortOrder
The SortOrder enum.
Definition:
Sortorder.h:32
Generated on Wed Jan 6 2021 00:00:00 for Sayonara Player by
1.8.20