| VLC
    3.0.18
    | 

| Macros | |
| #define | VLC_INTERNAL_PLAYLIST_SORT_FUNCTIONS | 
| #define | SORTFN(SORT, first, second) | 
| #define | DEF(s) | 
| #define | DEF(a) { cmp_a_##a, cmp_d_##a }, | 
| Typedefs | |
| typedef int(* | sortfn_t) (const void *, const void *) | 
| Return the comparison function appropriate for the SORT_* and ORDER_* arguments given, or NULL for SORT_RANDOM.  More... | |
| Functions | |
| static int | meta_strcasecmp_title (const playlist_item_t *first, const playlist_item_t *second) | 
| Compare two items using their title or name.  More... | |
| static int | meta_sort (const playlist_item_t *first, const playlist_item_t *second, vlc_meta_type_t meta, bool b_integer) | 
| Compare two intems according to the given meta type.  More... | |
| static sortfn_t | find_sorting_fn (unsigned i_mode, unsigned i_type) | 
| static void | playlist_ItemArraySort (unsigned i_items, playlist_item_t **pp_items, sortfn_t p_sortfn) | 
| Sort an array of items recursively.  More... | |
| static int | recursiveNodeSort (playlist_t *p_playlist, playlist_item_t *p_node, sortfn_t p_sortfn) | 
| Sort a node recursively.  More... | |
| int | playlist_RecursiveNodeSort (playlist_t *p_playlist, playlist_item_t *p_node, int i_mode, int i_type) | 
| Sort a node recursively.  More... | |
| static int | proto_SORT_TRACK_NUMBER (const playlist_item_t *first, const playlist_item_t *second) | 
| static int | proto_SORT_DISC_NUMBER (const playlist_item_t *first, const playlist_item_t *second) | 
| static int | proto_SORT_ALBUM (const playlist_item_t *first, const playlist_item_t *second) | 
| static int | proto_SORT_DATE (const playlist_item_t *first, const playlist_item_t *second) | 
| static int | proto_SORT_ARTIST (const playlist_item_t *first, const playlist_item_t *second) | 
| static int | proto_SORT_DESCRIPTION (const playlist_item_t *first, const playlist_item_t *second) | 
| static int | proto_SORT_DURATION (const playlist_item_t *first, const playlist_item_t *second) | 
| static int | proto_SORT_GENRE (const playlist_item_t *first, const playlist_item_t *second) | 
| static int | proto_SORT_ID (const playlist_item_t *first, const playlist_item_t *second) | 
| static int | proto_SORT_RATING (const playlist_item_t *first, const playlist_item_t *second) | 
| static int | proto_SORT_TITLE (const playlist_item_t *first, const playlist_item_t *second) | 
| static int | proto_SORT_TITLE_NODES_FIRST (const playlist_item_t *first, const playlist_item_t *second) | 
| static int | proto_SORT_TITLE_NUMERIC (const playlist_item_t *first, const playlist_item_t *second) | 
| static int | proto_SORT_URI (const playlist_item_t *first, const playlist_item_t *second) | 
| Variables | |
| static const sortfn_t | sorting_fns [NUM_SORT_FNS][2] | 
| #define DEF | ( | a | ) | { cmp_a_##a, cmp_d_##a }, | 
| #define DEF | ( | s | ) | 
| #define SORTFN | ( | SORT, | |
| first, | |||
| second | |||
| ) | 
| #define VLC_INTERNAL_PLAYLIST_SORT_FUNCTIONS | 
| typedef int(* sortfn_t) (const void *, const void *) | 
Return the comparison function appropriate for the SORT_* and ORDER_* arguments given, or NULL for SORT_RANDOM.
| i_mode | a SORT_* enum indicating the field to sort on | 
| i_type | ORDER_NORMAL or ORDER_REVERSE | 
| 
 | inlinestatic | 
References i_type, NUM_SORT_FNS, and sorting_fns.
Referenced by playlist_RecursiveNodeSort().
| 
 | inlinestatic | 
Compare two intems according to the given meta type.
| first | the first item | 
| second | the second item | 
| meta | the meta type to use to sort the items | 
| b_integer | true if the meta are integers | 
References playlist_item_t::i_children, input_item_GetMeta(), meta_strcasecmp_title(), playlist_item_t::p_input, and strcasecmp().
Referenced by proto_SORT_ALBUM(), proto_SORT_ARTIST(), proto_SORT_DATE(), proto_SORT_DESCRIPTION(), proto_SORT_DISC_NUMBER(), proto_SORT_GENRE(), proto_SORT_RATING(), and proto_SORT_TRACK_NUMBER().
| 
 | inlinestatic | 
Compare two items using their title or name.
| first | the first item | 
| second | the second item | 
References input_item_GetTitleFbName(), playlist_item_t::p_input, and strcasecmp().
Referenced by meta_sort(), proto_SORT_TITLE(), and proto_SORT_TITLE_NODES_FIRST().
| 
 | inlinestatic | 
Sort an array of items recursively.
| i_items | number of items | 
| pp_items | the array of items | 
| p_sortfn | the sorting function | 
References vlc_mrand48().
Referenced by recursiveNodeSort().
| 
 | inlinestatic | 
References meta_sort(), proto_SORT_DISC_NUMBER(), and vlc_meta_Album.
Referenced by proto_SORT_DATE().
| 
 | inlinestatic | 
References meta_sort(), proto_SORT_DATE(), and vlc_meta_Artist.
| 
 | inlinestatic | 
References meta_sort(), proto_SORT_ALBUM(), and vlc_meta_Date.
Referenced by proto_SORT_ARTIST().
| 
 | inlinestatic | 
References meta_sort(), and vlc_meta_Description.
| 
 | inlinestatic | 
References meta_sort(), proto_SORT_TRACK_NUMBER(), and vlc_meta_DiscNumber.
Referenced by proto_SORT_ALBUM().
| 
 | inlinestatic | 
References input_item_GetDuration().
| 
 | inlinestatic | 
References meta_sort(), and vlc_meta_Genre.
| 
 | inlinestatic | 
| 
 | inlinestatic | 
References meta_sort(), and vlc_meta_Rating.
| 
 | inlinestatic | 
References meta_strcasecmp_title().
| 
 | inlinestatic | 
References meta_strcasecmp_title().
| 
 | inlinestatic | 
References input_item_GetTitleFbName().
| 
 | inlinestatic | 
References meta_sort(), and vlc_meta_TrackNumber.
Referenced by proto_SORT_DISC_NUMBER().
| 
 | inlinestatic | 
References input_item_GetURI(), and strcasecmp().
| 
 | static | 
Sort a node recursively.
This function must be entered with the playlist lock !
| p_playlist | the playlist | 
| p_node | the node to sort | 
| p_sortfn | the sorting function | 
< No error
References playlist_item_t::i_children, playlist_ItemArraySort(), playlist_item_t::pp_children, and VLC_SUCCESS.
Referenced by playlist_RecursiveNodeSort().
| 
 | static | 
Referenced by find_sorting_fn().
 1.8.16
 1.8.16