protected override List <OnlineMediaItem> ExpandOnlinePlaylist(OnlinePlaylist op, ManualResetEvent abortEvent) { List <OnlineMediaItem> results = new List <OnlineMediaItem>(); if (abortEvent.WaitOne(5)) { return(results); } if (HasValidConfig) { string userAccessToken = ProTONEConfig.DeezerUserAccessToken; string applicationId = ProTONEConfig.DeezerApplicationId; string deezerApiEndpoint = ProTONEConfig.DeezerApiEndpoint; DeezerRuntime dzr = new DeezerRuntime(deezerApiEndpoint, userAccessToken, applicationId); if (_dzr != dzr) { _dzr = dzr; } Playlist p = _dzr.GetPlaylist(op.Id); if (p != null && p.Tracks != null) { foreach (var t in p.Tracks) { try { DeezerTrackItem dti = new DeezerTrackItem { Album = (t.Album != null) ? t.Album.Title : String.Empty, Artist = (t.Artist != null) ? t.Artist.Name : string.Empty, Title = t.Title ?? string.Empty, Url = string.Format("dzmedia:///track/{0}", t.Id), Duration = t.Duration }; results.Add(dti); } catch (Exception ex) { Logger.LogException(ex); } } } } if (abortEvent.WaitOne(5)) { return(results); } SortResults(ref results); return(results); }
protected override List <OnlinePlaylist> GetMyPlaylists(ManualResetEvent abortEvent) { List <OnlinePlaylist> results = new List <OnlinePlaylist>(); if (abortEvent.WaitOne(5)) { return(results); } if (HasValidConfig) { string userAccessToken = ProTONEConfig.DeezerUserAccessToken; string applicationId = ProTONEConfig.DeezerApplicationId; string deezerApiEndpoint = ProTONEConfig.DeezerApiEndpoint; DeezerRuntime dzr = new DeezerRuntime(deezerApiEndpoint, userAccessToken, applicationId); if (_dzr != dzr) { _dzr = dzr; } List <Playlist> playlists = _dzr.GetMyPlaylists(userAccessToken, abortEvent); if (playlists != null) { foreach (var p in playlists) { OnlinePlaylist op = new OnlinePlaylist { Id = p.Id, Description = p.Description, Title = p.Title }; results.Add(op); } } } return(results); }
protected override List <OnlineMediaItem> ExpandOnlinePlaylist(OnlinePlaylist p, ManualResetEvent abortEvent) { return(null); }
protected abstract List <OnlineMediaItem> ExpandOnlinePlaylist(OnlinePlaylist p, ManualResetEvent abortEvent);
public static List <OnlineMediaItem> ExpandOnlinePlaylist(OnlineMediaSource source, OnlinePlaylist p, ManualResetEvent abortEvent) { try { OnlineContentSearcher searcher = GetSearcher(source); if (searcher != null) { return(searcher.ExpandOnlinePlaylist(p, abortEvent)); } } catch (Exception ex) { Logger.LogException(ex); } return(null); }