98 |
98 |
return tuple_compare_int (a, b, FIELD_TRACK_NUMBER);
|
99 |
99 |
}
|
100 |
100 |
|
|
101 |
static int tuple_compare_length (const Tuple * a, const Tuple * b)
|
|
102 |
{
|
|
103 |
return tuple_compare_int (a, b, FIELD_LENGTH);
|
|
104 |
}
|
|
105 |
|
101 |
106 |
static const PlaylistStringCompareFunc filename_comparisons[] = {
|
102 |
107 |
[PLAYLIST_SORT_PATH] = string_compare_encoded,
|
103 |
108 |
[PLAYLIST_SORT_FILENAME] = filename_compare_basename,
|
... | ... | |
106 |
111 |
[PLAYLIST_SORT_ARTIST] = NULL,
|
107 |
112 |
[PLAYLIST_SORT_DATE] = NULL,
|
108 |
113 |
[PLAYLIST_SORT_TRACK] = NULL,
|
109 |
|
[PLAYLIST_SORT_FORMATTED_TITLE] = NULL};
|
|
114 |
[PLAYLIST_SORT_FORMATTED_TITLE] = NULL,
|
|
115 |
[PLAYLIST_SORT_LENGTH] = NULL};
|
110 |
116 |
|
111 |
117 |
static const PlaylistTupleCompareFunc tuple_comparisons[] = {
|
112 |
118 |
[PLAYLIST_SORT_PATH] = NULL,
|
... | ... | |
116 |
122 |
[PLAYLIST_SORT_ARTIST] = tuple_compare_artist,
|
117 |
123 |
[PLAYLIST_SORT_DATE] = tuple_compare_date,
|
118 |
124 |
[PLAYLIST_SORT_TRACK] = tuple_compare_track,
|
119 |
|
[PLAYLIST_SORT_FORMATTED_TITLE] = NULL};
|
|
125 |
[PLAYLIST_SORT_FORMATTED_TITLE] = NULL,
|
|
126 |
[PLAYLIST_SORT_LENGTH] = tuple_compare_length};
|
120 |
127 |
|
121 |
128 |
static const PlaylistStringCompareFunc title_comparisons[] = {
|
122 |
129 |
[PLAYLIST_SORT_PATH] = NULL,
|
... | ... | |
126 |
133 |
[PLAYLIST_SORT_ARTIST] = NULL,
|
127 |
134 |
[PLAYLIST_SORT_DATE] = NULL,
|
128 |
135 |
[PLAYLIST_SORT_TRACK] = NULL,
|
129 |
|
[PLAYLIST_SORT_FORMATTED_TITLE] = string_compare};
|
|
136 |
[PLAYLIST_SORT_FORMATTED_TITLE] = string_compare,
|
|
137 |
[PLAYLIST_SORT_LENGTH] = NULL};
|
130 |
138 |
|
131 |
139 |
void playlist_sort_by_scheme (int playlist, int scheme)
|
132 |
140 |
{
|