Beispiel #1
0
        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);
        }
Beispiel #2
0
        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);
        }
Beispiel #3
0
 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);
        }