/// <summary> /// Convert VlcPlaylistSortKey enum to a string. /// </summary> private string GetSortKeyString(VlcPlaylistSortKey key) { switch (key) { case VlcPlaylistSortKey.Id: return("id"); case VlcPlaylistSortKey.Title: return("title"); case VlcPlaylistSortKey.TitleNodesFirst: return(Uri.EscapeDataString("title nodes first")); case VlcPlaylistSortKey.Artist: return("artist"); case VlcPlaylistSortKey.Genre: return("genre"); case VlcPlaylistSortKey.Random: return("random"); case VlcPlaylistSortKey.Duration: return("duration"); case VlcPlaylistSortKey.TitleNumeric: return(Uri.EscapeDataString("title numeric")); case VlcPlaylistSortKey.Album: return("album"); } throw new NotImplementedException("Sort key not implemented: " + key); }
/// <summary> /// Sorts the playlist by the specified key in a descending order. /// </summary> /// <param name="key">Key to sort by.</param> public async Task SortPlaylistDescending(VlcPlaylistSortKey key) { await SendCommand("command=pl_sort&val=" + GetSortKeyString(key) + "&id=1"); }
/// <summary> /// Sorts the playlist by the specified key and in the specified order (ascending by default). /// </summary> /// <param name="key">Key to sort by.</param> /// <param name="order">Sort order, ascending by default.</param> public async Task SortPlaylist(VlcPlaylistSortKey key, VlcPlaylistSortOrder order = VlcPlaylistSortOrder.Ascending) { await SendCommand("command=pl_sort&val=" + GetSortKeyString(key) + "&id=" + (int)order); }