예제 #1
0
        public SoundVmFactory(
            IDownloadManager downloadManager,
            IMixMediaPlayerService player,
            ITelemetry telemetry,
            IPreviewService previewService,
            ISoundDataProvider soundDataProvider,
            ISoundMixService soundMixService,
            IUserSettings userSettings,
            IIapService iapService,
            IRenamer renamer,
            IServiceProvider serviceProvider)
        {
            Guard.IsNotNull(downloadManager, nameof(downloadManager));
            Guard.IsNotNull(soundDataProvider, nameof(soundDataProvider));
            Guard.IsNotNull(player, nameof(player));
            Guard.IsNotNull(telemetry, nameof(telemetry));
            Guard.IsNotNull(iapService, nameof(iapService));
            Guard.IsNotNull(previewService, nameof(previewService));
            Guard.IsNotNull(userSettings, nameof(userSettings));
            Guard.IsNotNull(soundMixService, nameof(soundMixService));
            Guard.IsNotNull(renamer, nameof(renamer));
            Guard.IsNotNull(serviceProvider, nameof(serviceProvider));

            _userSettings      = userSettings;
            _downloadManager   = downloadManager;
            _previewService    = previewService;
            _soundMixService   = soundMixService;
            _iapService        = iapService;
            _soundDataProvider = soundDataProvider;
            _player            = player;
            _renamer           = renamer;
            _telemetry         = telemetry;
            _serviceProvider   = serviceProvider;
        }
예제 #2
0
        public ActiveTrackListViewModel(
            IMixMediaPlayerService player,
            ISoundVmFactory soundVmFactory,
            IUserSettings userSettings,
            ITelemetry telemetry,
            ISoundMixService soundMixService,
            ISoundDataProvider soundDataProvider,
            IAppSettings appSettings)
        {
            Guard.IsNotNull(player, nameof(player));
            Guard.IsNotNull(soundVmFactory, nameof(soundVmFactory));
            Guard.IsNotNull(userSettings, nameof(userSettings));
            Guard.IsNotNull(soundDataProvider, nameof(soundDataProvider));
            Guard.IsNotNull(soundMixService, nameof(soundMixService));
            Guard.IsNotNull(telemetry, nameof(telemetry));
            Guard.IsNotNull(appSettings, nameof(appSettings));

            _loadPreviousState = appSettings.LoadPreviousState;
            _telemetry         = telemetry;
            _soundMixService   = soundMixService;
            _soundDataProvider = soundDataProvider;
            _userSettings      = userSettings;
            _soundVmFactory    = soundVmFactory;
            _player            = player;

            RemoveCommand = new RelayCommand <Sound>(RemoveSound);
            SaveCommand   = new AsyncRelayCommand <string>(SaveAsync);
            ClearCommand  = new RelayCommand(ClearAll);
        }
예제 #3
0
        public SoundViewModel(
            Sound s,
            IMixMediaPlayerService playerService,
            ISoundDataProvider soundDataProvider,
            ISoundMixService soundMixService,
            ITelemetry telemetry,
            IRenamer renamer,
            IDialogService dialogService,
            IIapService iapService,
            IDownloadManager downloadManager)
        {
            Guard.IsNotNull(s, nameof(s));
            Guard.IsNotNull(playerService, nameof(playerService));
            Guard.IsNotNull(soundDataProvider, nameof(soundDataProvider));
            Guard.IsNotNull(telemetry, nameof(telemetry));
            Guard.IsNotNull(soundMixService, nameof(soundMixService));
            Guard.IsNotNull(renamer, nameof(renamer));
            Guard.IsNotNull(dialogService, nameof(dialogService));
            Guard.IsNotNull(iapService, nameof(iapService));
            Guard.IsNotNull(downloadManager, nameof(downloadManager));

            _sound             = s;
            _soundMixService   = soundMixService;
            _playerService     = playerService;
            _soundDataProvider = soundDataProvider;
            _telemetry         = telemetry;
            _renamer           = renamer;
            _dialogService     = dialogService;
            _iapService        = iapService;
            _downloadManager   = downloadManager;

            DeleteCommand = new RelayCommand(DeleteSound);
            RenameCommand = new AsyncRelayCommand(RenameAsync);
            PlayCommand   = new AsyncRelayCommand(PlayAsync);
        }
예제 #4
0
        public SoundViewModel(
            Sound s,
            IMixMediaPlayerService playerService,
            int index,
            ISoundDataProvider soundDataProvider,
            ISoundMixService soundMixService,
            ITelemetry telemetry,
            IRenamer renamer)
        {
            Guard.IsNotNull(s, nameof(s));
            Guard.IsNotNull(playerService, nameof(playerService));
            Guard.IsNotNull(soundDataProvider, nameof(soundDataProvider));
            Guard.IsNotNull(telemetry, nameof(telemetry));
            Guard.IsNotNull(soundMixService, nameof(soundMixService));
            Guard.IsNotNull(renamer, nameof(renamer));

            Index              = index;
            _sound             = s;
            _soundMixService   = soundMixService;
            _playerService     = playerService;
            _soundDataProvider = soundDataProvider;
            _telemetry         = telemetry;
            _renamer           = renamer;

            _playerService.SoundRemoved += OnSoundPaused;
            _playerService.SoundAdded   += OnSoundPlayed;

            DeleteCommand = new RelayCommand(DeleteSound);
            RenameCommand = new AsyncRelayCommand(RenameAsync);
        }
예제 #5
0
        public AppServiceController(
            IMixMediaPlayerService player)
        {
            Guard.IsNotNull(player, nameof(player));

            _player          = player;
            _dispatcherQueue = DispatcherQueue.GetForCurrentThread();
        }
예제 #6
0
        public SoundMixService(
            ISoundDataProvider soundDataProvider,
            IMixMediaPlayerService player)
        {
            Guard.IsNotNull(soundDataProvider, nameof(soundDataProvider));
            Guard.IsNotNull(player, nameof(player));

            _soundDataProvider = soundDataProvider;
            _player            = player;
        }
예제 #7
0
        public MainPageViewModel(
            IScreensaverService screensaverService,
            IMixMediaPlayerService mediaPlayerService)
        {
            Guard.IsNotNull(screensaverService, nameof(screensaverService));
            Guard.IsNotNull(mediaPlayerService, nameof(mediaPlayerService));
            _screensaverService = screensaverService;
            _mediaPlayerService = mediaPlayerService;

            _mediaPlayerService.PlaybackStateChanged += OnPlaybackChanged;
            _mediaPlayerService.MaxReached           += OnMaxReached;
        }
예제 #8
0
        public PlayerTelemetryTracker(
            IMixMediaPlayerService mixMediaPlayerService,
            ITelemetry telemetry)
        {
            Guard.IsNotNull(mixMediaPlayerService, nameof(mixMediaPlayerService));
            Guard.IsNotNull(telemetry, nameof(telemetry));

            _mixMediaPlayerService = mixMediaPlayerService;
            _telemetry             = telemetry;

            _mixMediaPlayerService.PlaybackStateChanged += OnPlaybackchanged;
        }
예제 #9
0
        public PlayerViewModel(IMixMediaPlayerService player, IUserSettings userSettings)
        {
            Guard.IsNotNull(player, nameof(player));
            Guard.IsNotNull(userSettings, nameof(userSettings));

            _player       = player;
            _userSettings = userSettings;

            TogglePlayStateCommand = new AsyncRelayCommand(TogglePlayStateAsync);
            RandomCommand          = new RelayCommand(PlayRandom);
            Volume = userSettings.Get <double>(UserSettingsConstants.Volume);
        }
예제 #10
0
 public ScreensaverService(
     ITelemetry telemetry,
     IUserSettings userSettings,
     INavigator navigator,
     IMixMediaPlayerService mediaPlayerService)
 {
     Guard.IsNotNull(telemetry, nameof(telemetry));
     Guard.IsNotNull(userSettings, nameof(userSettings));
     Guard.IsNotNull(navigator, nameof(navigator));
     Guard.IsNotNull(mediaPlayerService, nameof(mediaPlayerService));
     _mediaPlayerService = mediaPlayerService;
     _telemetry          = telemetry;
     _settings           = userSettings;
     _navigator          = navigator;
 }
예제 #11
0
 public ActiveTrackViewModel(
     Sound s,
     IRelayCommand <Sound> removeCommand,
     IMixMediaPlayerService player,
     IUserSettings userSettings)
 {
     Guard.IsNotNull(s, nameof(s));
     Guard.IsNotNull(player, nameof(player));
     Guard.IsNotNull(removeCommand, nameof(removeCommand));
     Guard.IsNotNull(userSettings, nameof(userSettings));
     _userSettings = userSettings;
     Sound         = s;
     _player       = player;
     RemoveCommand = removeCommand;
     Volume        = _userSettings.Get($"{Sound.Id}:volume", 100d);
 }
예제 #12
0
        public MainPageViewModel(
            IScreensaverService screensaverService,
            IMixMediaPlayerService mediaPlayerService,
            INavigator navigator,
            IDialogService dialogService)
        {
            Guard.IsNotNull(screensaverService, nameof(screensaverService));
            Guard.IsNotNull(mediaPlayerService, nameof(mediaPlayerService));
            Guard.IsNotNull(navigator, nameof(navigator));
            Guard.IsNotNull(dialogService, nameof(dialogService));

            _screensaverService = screensaverService;
            _mediaPlayerService = mediaPlayerService;
            _navigator          = navigator;
            _dialogService      = dialogService;
        }
예제 #13
0
        public ScreensaverViewModel(
            ITimerService timerService,
            IMixMediaPlayerService mediaPlayerService,
            ISoundDataProvider soundDataProvider,
            ITelemetry telemetry)
        {
            Guard.IsNotNull(timerService, nameof(timerService));
            Guard.IsNotNull(mediaPlayerService, nameof(mediaPlayerService));
            Guard.IsNotNull(telemetry, nameof(telemetry));
            Guard.IsNotNull(soundDataProvider, nameof(soundDataProvider));

            _telemetry             = telemetry;
            _mediaPlayerService    = mediaPlayerService;
            _timerService          = timerService;
            _soundDataProvider     = soundDataProvider;
            _timerService.Interval = ImageTimeLength;
        }
예제 #14
0
        public SleepTimerViewModel(
            IMixMediaPlayerService player,
            ITimerService timer,
            ITelemetry telemetry)
        {
            Guard.IsNotNull(player, nameof(player));
            Guard.IsNotNull(timer, nameof(timer));
            Guard.IsNotNull(telemetry, nameof(telemetry));

            _player         = player;
            _timer          = timer;
            _telemetry      = telemetry;
            _timer.Interval = DefaultTimerInterval;

            TimerStartCommand = new RelayCommand <int>(StartTimer);
            TimerPlayCommand  = new RelayCommand(PlayTimer);
            TimerPauseCommand = new RelayCommand(PauseTimer);
            TimerStopCommand  = new RelayCommand(StopTimer);
        }
예제 #15
0
 public ShareLinkBuilder(
     IMixMediaPlayerService mixMediaPlayerService)
 {
     Guard.IsNotNull(mixMediaPlayerService, nameof(mixMediaPlayerService));
     _player = mixMediaPlayerService;
 }