Exemple #1
0
        public MainViewModel(
            IAudioService audioService,
            IOptionsService optionsService,
            IRecordingDestinationService destService)
        {
            // subscriptions...
            Messenger.Default.Register <NavigateMessage>(this, OnNavigate);
            Messenger.Default.Register <AlwaysOnTopChanged>(this, OnAlwaysOnTopChanged);

            _pages = new Dictionary <string, FrameworkElement>();

            _optionsService = optionsService;
            _audioService   = audioService;

            // set up pages...
            SetupPage(RecordingPageViewModel.PageName, new RecordingPage(),
                      new RecordingPageViewModel(audioService, optionsService, destService));

            SetupPage(SettingsPageViewModel.PageName, new SettingsPage(),
                      new SettingsPageViewModel(audioService, optionsService));

            var state = new RecordingPageNavigationState
            {
                ShowSplash     = true,
                StartRecording = optionsService.Options.StartRecordingOnLaunch
            };

            Messenger.Default.Send(new NavigateMessage(RecordingPageViewModel.PageName, state));
        }
Exemple #2
0
        public MainViewModel(
            IAudioService audioService,
            IOptionsService optionsService,
            ICommandLineService commandLineService,
            IRecordingDestinationService destService,
            ICopyRecordingsService copyRecordingsService,
            ISnackbarService snackbarService,
            IPurgeRecordingsService purgeRecordingsService,
            ISilenceService silenceService)
        {
            if (commandLineService.NoGpu)
            {
                // disable hardware (GPU) rendering so that it's all done by the CPU...
                RenderOptions.ProcessRenderMode = RenderMode.SoftwareOnly;
            }

            // subscriptions...
            Messenger.Default.Register <NavigateMessage>(this, OnNavigate);
            Messenger.Default.Register <AlwaysOnTopChanged>(this, OnAlwaysOnTopChanged);

            _pages = new Dictionary <string, FrameworkElement>();

            _optionsService         = optionsService;
            _audioService           = audioService;
            _snackbarService        = snackbarService;
            _purgeRecordingsService = purgeRecordingsService;

            // set up pages...
            SetupPage(
                RecordingPageViewModel.PageName,
                new RecordingPage(),
                new RecordingPageViewModel(
                    audioService,
                    optionsService,
                    commandLineService,
                    destService,
                    copyRecordingsService,
                    snackbarService,
                    silenceService));

            SetupPage(
                SettingsPageViewModel.PageName,
                new SettingsPage(),
                new SettingsPageViewModel(audioService, optionsService, commandLineService));

            var state = new RecordingPageNavigationState
            {
                ShowSplash     = !optionsService.Options.StartMinimized,
                StartRecording = optionsService.Options.StartRecordingOnLaunch,
            };

            GetVersionData();

            Messenger.Default.Send(new NavigateMessage(
                                       null, RecordingPageViewModel.PageName, state));
        }