public MediaViewer(ISettingsViewModel viewmodel, IVideoPlayerController controller) { InitializeComponent(); ShouldClose = false; this.Closing += MediaViewer_Closing; this.Loaded += MediaViewer_Loaded; this.View.Video.MediaEnded += (sender, ee) => controller.PlayQueue(); _viewmodel = viewmodel; _viewmodel.PropertyChanged += SettingsChanged; }
public void Play(IEnumerable<FileNode> content, IVideoPlayerController videoPlayer) { this._content = new List<FileNode>(content); var file = PeekNext(videoPlayer); _counter++; videoPlayer.Queue.SetQueue(new List<FileNode>() { file }); videoPlayer.PlayQueue(); }
public void Play(IEnumerable<FileNode> content, IVideoPlayerController videoPlayer) { var folder = _processor.Process(new GetFolderFromStringSettingQuery() { SettingName = Constants.PlayerPictureFolderSettingName }); var picture = content.AsParallel().SingleOrDefault(x => folder.Contains(x)); if (picture == null) return; videoPlayer.Queue.SetQueue(new List<FileNode> { picture }); videoPlayer.PlayQueue(); }
public void Play(IEnumerable<FileNode> content, IVideoPlayerController videoPlayer) { var list = new List<FileNode>(content); if (list.Count == 0) return; var file = list[0]; if (file.Type == FileType.Audio) { videoPlayer.Play(list[0]); } else { videoPlayer.Queue.SetQueue(new List<FileNode>() { file }); videoPlayer.PlayQueue(); } // TODO : Remove this print Console.WriteLine("Single File Play Strategy"); }
public void Play(IEnumerable<FileNode> content, IVideoPlayerController videoPlayer) { videoPlayer.Queue.SetQueue(content); videoPlayer.PlayQueue(); }
public void Play(IEnumerable<FileNode> content, IVideoPlayerController videoPlayer) { var statMusicFolder = _processor.Process(new GetFolderFromStringSettingQuery() { SettingName = Constants.PlayerStatMusicFolderSettingName }); var statVideoFolder = _processor.Process(new GetFolderFromStringSettingQuery() { SettingName = Constants.PlayerStatVideoFolderSettingName }); var statPictureFolder = _processor.Process(new GetFolderFromStringSettingQuery() { SettingName = Constants.PlayerStatPictureFolderSettingName }); // TODO : If folder is null then notify user var music = content.AsParallel().SingleOrDefault(x => statMusicFolder.Contains(x)); var video = content.AsParallel().SingleOrDefault(x => statVideoFolder.Contains(x)); // TODO : Fix if no Video exists var picture = content.AsParallel().SingleOrDefault(x => statPictureFolder.Contains(x)); if (video == null) { var pictureFolder = _processor.Process(new GetFolderFromStringSettingQuery() { SettingName = Constants.PlayerPictureFolderSettingName }); video = content.AsParallel().SingleOrDefault(x => pictureFolder.Contains(x)); } var res = new List<FileNode>() { music, video, picture }.Where(x => x != null); videoPlayer.Queue.SetQueue(res); Console.WriteLine("Using PlayerStatPlayStrategy"); videoPlayer.PlayQueue(); }