public Playlist [] GetPlaylists (uint index, uint max_count, string order, bool reverse_order)
{
var playlist_sources = ServiceManager.SourceManager.FindSources<AbstractPlaylistSource> ();
switch (order) {
case "Alphabetical":
playlist_sources = playlist_sources.OrderBy (p => p.Name);
break;
case "UserDefined":
playlist_sources = playlist_sources.OrderBy (p => p.Order);
break;
}
if (reverse_order) {
playlist_sources = playlist_sources.Reverse ();
}
var playlists = new List<Playlist> ();
foreach (var pl in playlist_sources.Skip ((int)index).Take ((int)max_count)) {
playlists.Add (BuildPlaylistFromSource (pl));
}
return playlists.ToArray ();
}
#endregion