Beispiel #1
0
 public FileDelayStrategy(IQueryProcessor processor, IVideoPlayerController controller)
 {
     _processor = processor;
     _controller = controller;
     _timer = new Timer();
     _timer.Elapsed += _timer_Elapsed;
 }
Beispiel #2
0
 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;
 }
        void HandleOpenedPresentationChanged(OpenedPresentationChangedEvent e)
        {
            if (e.Player == null)
            {
                return;
            }
            this.player = e.Player;

            projectType = ProjectType.None;
        }
        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 Handle(FileNode file, IVideoPlayerController controller, IPlayStrategy playStrategy, IQueryProcessor processor, IFileDelayStrategy delay)
        {
            var isStatFile = processor.Process(new IsStatFileQuery()
            {
                File = file
            });

            var isStatStrategy = playStrategy is PlayerStatPlayStrategy;

            if (isStatFile)
            {
                controller.ShowStats();
                delay.StartTimer();
            }
            else if (file.Type == FileType.Picture && isStatStrategy)
            {
                delay.StartTimer();
            }
        }
        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();
        }
        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 FileNode PeekNext(IVideoPlayerController videoPlayer)
        {
            if (videoPlayer.Queue.Count == 0) return null;

            return videoPlayer.Queue.Peek();
        }
 public FileNode PeekNext(IVideoPlayerController videoPlayer)
 {
     return null;
 }
Beispiel #11
0
 public void Play(IPlayStrategy strategy, IVideoPlayerController videoPlayer)
 {
     strategy.Play(new List<FileNode>() { File }, videoPlayer);
     // TODO : Remove this print
     Console.WriteLine("Playable File: {0}", Name);
 }
 public PlayAutoPlayListCommand(IQueryProcessor processor, IVideoPlayerController controller)
 {
     _processor = processor;
     _controller = controller;
 }
 public RunPlayableStrategyCommand(IVideoPlayerController controller)
 {
     this._controller = controller;
 }
 public PlaysTimeline(IWidget widget, IVideoPlayerController player) : base(widget, player)
 {
 }
 public FileNode PeekNext(IVideoPlayerController videoPlayer)
 {
     if (videoPlayer.Queue.IsEmpty()) return null;
     return videoPlayer.Queue.Peek();
 }
 public void Play(IEnumerable<FileNode> content, IVideoPlayerController videoPlayer)
 {
     videoPlayer.Queue.SetQueue(content);
     videoPlayer.PlayQueue();
 }
 public FileNode PeekNext(IVideoPlayerController videoPlayer)
 {
     if (_content == null) return null;
     if (_counter >= _content.Count) _counter = 0;
     return _content[_counter];
 }
 public void Play(IEnumerable<FileNode> content, IVideoPlayerController videoPlayer)
 {
 }
 public AutoPlayListCommand(IVideoPlayerController controller)
 {
     _controller = controller;
 }