public Playlist(IPlaylistProvider <Playlist <TMedia>, TMedia> playlistProvider) { _playlistProvider = playlistProvider; _provider = _playlistProvider as IQueryProvider; _expression = Expression.Constant(this); // _medias = _playlistProvider.Pull().ToList(); }
public Playlist(IQueryProvider playlistProvider, Expression expression) { _playlistProvider = playlistProvider as IPlaylistProvider <Playlist <TMedia>, TMedia>; _provider = playlistProvider; _expression = expression; // _medias = _playlistProvider.Pull().ToList(); }
public ChannelHandler(IPlaylistProvider playlistProvider, IChatProviderFactory chatProviderFactory, string name) { _chatProviderFactory = chatProviderFactory; Playlist = playlistProvider; SongsByID = new Dictionary <string, Song>(); Name = name; }
private void LoadPlaylists() { if (CurrentActivity == null) { return; } else if (CurrentActivity.State != ActivityState.Connected) { Hyena.Log.Debug(String.Format("activity state {0} is invalid.", CurrentActivity.State)); return; } else if (CurrentState != State.LoadedMetadata) { Hyena.Log.Debug(String.Format("state {0} is invalid.", CurrentState)); return; } try { IMetadataProviderService service = CurrentActivity.GetDBusObject <IMetadataProviderService> (MetadataProviderService.BusName, MetadataProviderService.ObjectPath); int [] playlist_ids = service.GetPlaylistIds(LibraryType.Music); download_monitor.Reset(); if (playlist_ids.Length == 0) { CurrentState = State.Loaded; } else { foreach (int id in playlist_ids) { string playlist_path = service.CreatePlaylistProvider(id).ToString(); IPlaylistProvider playlist_provider = CurrentActivity.GetDBusObject <IPlaylistProvider> (PlaylistProvider.BusName, playlist_path); LibraryDownload download = new LibraryDownload(); download_monitor.Add(playlist_path, download); //download_monitor.AssociateObject (playlist_path, new ContactPlaylistSource (playlist_provider.GetName (), this)); download.ProcessIncomingPayloads(delegate(object sender, object [] o) { OnPlaylistTracksDownloaded(new DownloadedTracksEventArgs(sender as LibraryDownload, o, playlist_provider.GetName())); }); playlist_provider.ChunkReady += OnPlaylistChunkReady; playlist_provider.GetChunks(chunk_length); } download_monitor.Start(); } } catch (Exception e) { Hyena.Log.Warning(e); ResetState(); OnError(new TubeManagerErrorEventArgs(ErrorReason.ErrorDuringPlaylistLoad)); } }