public MediaControlViewModelBase(ILoggerFacade loggerFacade,
                                         IHorsifyMediaController horsifyMediaController,
                                         IEventAggregator eventAggregator, MediaControl mediaControlModel)
            : base(loggerFacade)
        {
            _eventAggregator        = eventAggregator;
            _horsifyMediaController = horsifyMediaController;

            MediaControlModel = mediaControlModel;

            #region Commands
            PlayPauseCommand      = new DelegateCommand(OnPlayPause);
            SeekingStartedCommand = new DelegateCommand <object>(OnSeekStarted);
            SeekingStoppedCommand = new DelegateCommand <object>(OnSeekStopped);
            StopCommand           = new DelegateCommand(OnStopped);
            #endregion
        }
Esempio n. 2
0
        public MediaControlViewModel(IEventAggregator eventAggregator, ILoggerFacade loggerFacade,
                                     IHorsifyMediaController horsifyMediaController, ISongDataProvider songDataProvider, MediaControl mediaControl, IDiscordRpcService discordRpcService)
            : base(loggerFacade, horsifyMediaController, eventAggregator, mediaControl)
        {
            _songDataProvider  = songDataProvider;
            _discordRpcService = discordRpcService;

            #region Events
            //Update SelectedSong
            _eventAggregator.GetEvent <OnMediaPlay <AllJoinedTable> >()
            .Subscribe(song => { OnSongChangedLoaded(song); }, ThreadOption.UIThread);

            //Queue completed
            _eventAggregator.GetEvent <QueuedJobsCompletedEvent>().Subscribe(() => { OnQueueCompletedMessage(); }, ThreadOption.UIThread);

            _horsifyMediaController.OnTimeChanged   += (currentTime) => { OnTimeChanged(MediaControlModel, currentTime); };
            _horsifyMediaController.OnMediaFinished += OnMediaFinsished;
            _horsifyMediaController.OnMediaLoaded   += (duration) => { MediaControlModel.CurrentSongTime = duration; };

            #endregion

            //Enable discord. TODO: Make optional
            _discordRpcService.Enable(true);
        }
        public NowPlayingScreenViewModel(IEventAggregator eventAggregator, IRegionManager regionManager, ILoggerFacade loggerFacade, IHorsifyMediaController horsifyMediaController, MediaControl mediaControl) : base(loggerFacade, horsifyMediaController, eventAggregator, mediaControl)
        {
            _regionManager = regionManager;

            RunSearchCommand = new DelegateCommand <string>(OnRunSearchCommand);
        }
Esempio n. 4
0
 public Turntable1200ViewModel(ILoggerFacade loggerFacade, IHorsifyMediaController horsifyMediaController, IEventAggregator eventAggregator, MediaControl mediaControl) : base(loggerFacade, horsifyMediaController, eventAggregator, mediaControl)
 {
 }
 public VolumeControlViewModel(IEventAggregator eventAggregator, IHorsifyMediaController horsifyMediaController)
 {
     _horsifyMediaController = horsifyMediaController;
     //Listen for changes in the volume elsewhere to reflect change to the control
     eventAggregator.GetEvent <OnMediaChangedVolumeEvent <double> >().Subscribe(OnVolumeChanged);
 }
Esempio n. 6
0
 public SongPlaying3dViewModel(ILoggerFacade loggerFacade, IHorsifyMediaController horsifyMediaController, IEventAggregator eventAggregator, MediaControl mediaControl)
     : base(loggerFacade, horsifyMediaController, eventAggregator, mediaControl)
 {
 }