public PlayableItem Create(Folder folder) { PlayableItem playable = null; var playableChildren = folder.RecursiveChildren.Select(i => i as Media).Where(v => v != null && v.IsPlaylistCapable() && v.ParentalAllowed).OrderBy(v => v.Path); playable = new PlayableMediaCollection<Media>(folder.Name, playableChildren, folder.HasVideoChildren); playable.PlayableItems = playableChildren.Select(i => i.Path); foreach (var controller in Kernel.Instance.PlaybackControllers) { if (controller.CanPlay(playable.PlayableItems)) { playable.PlaybackController = controller; return playable; } } return playable; }
public PlayableItem Create(Folder folder) { PlayableItem playable = null; var playableChildren = folder.RecursiveChildren.Select(i => i as Media).Where(v => v != null && v.IsPlaylistCapable() && v.ParentalAllowed).OrderBy(v => v.Path); playable = new PlayableMediaCollection <Media>(folder.Name, playableChildren, folder.HasVideoChildren); playable.PlayableItems = playableChildren.Select(i => i.Path); foreach (var controller in Kernel.Instance.PlaybackControllers) { if (controller.CanPlay(playable.PlayableItems)) { playable.PlaybackController = controller; return(playable); } } return(playable); }
public void ShuffleSecure(Item item) { Folder folder = item.BaseItem as Folder; if (folder != null) { Random rnd = new Random(); PlayableItem playable; var playableChildren = folder.RecursiveChildren.Select(i => i as Media).Where(v => v != null && v.IsPlaylistCapable() && v.ParentalAllowed).OrderBy(i => rnd.Next()); //if (playableChildren.Count() > 0) //be sure we found something to play { playable = new PlayableMediaCollection<Media>(item.Name, playableChildren, folder.HasVideoChildren); playable.QueueItem = false; playable.PlayableItems = playableChildren.Select(i => i.Path); foreach (var controller in Kernel.Instance.PlaybackControllers) { if (controller.CanPlay(playable.PlayableItems)) { playable.PlaybackController = controller; break; } } playable.Play(null, false); } } }
public void PlayUnwatchedSecure(Item item) { Folder folder = item.BaseItem as Folder; if (folder != null) { PlayableItem playable; var playableChildren = folder.RecursiveChildren.Select(i => i as Media).Where(v => v != null && v.ParentalAllowed && !v.PlaybackStatus.WasPlayed).OrderBy(v => v.Path); if (playableChildren.Count() > 0) //be sure we have something to play { playable = new PlayableMediaCollection<Media>(item.Name, playableChildren); playable.Play(null, false); } } }