public ConsoleLister(IWebCamProvider Webcam, AudioSource AudioSource) { _webcam = Webcam; _audioSource = AudioSource; }
public MainViewModel(AudioSource AudioSource, VideoViewModel VideoViewModel, IWebCamProvider WebCamProvider, Settings Settings, RecentViewModel RecentViewModel, LanguageManager LanguageManager, HotKeyManager HotKeyManager, IPreviewWindow PreviewWindow, FFmpegLog FFmpegLog, IDialogService DialogService, RememberByName RememberByName, ScreenShotViewModel ScreenShotViewModel, RecordingViewModel RecordingViewModel) : base(Settings, LanguageManager) { this.AudioSource = AudioSource; this.VideoViewModel = VideoViewModel; this.WebCamProvider = WebCamProvider; this.RecentViewModel = RecentViewModel; this.HotKeyManager = HotKeyManager; _dialogService = DialogService; _rememberByName = RememberByName; this.ScreenShotViewModel = ScreenShotViewModel; this.RecordingViewModel = RecordingViewModel; this.FFmpegLog = FFmpegLog; ShowPreviewCommand = new DelegateCommand(PreviewWindow.Show); #region Commands RefreshCommand = new DelegateCommand(OnRefresh); OpenOutputFolderCommand = new DelegateCommand(OpenOutputFolder); SelectOutputFolderCommand = new DelegateCommand(SelectOutputFolder); ResetFFmpegFolderCommand = new DelegateCommand(() => Settings.FFmpeg.FolderPath = ""); #endregion Settings.Audio.PropertyChanged += (Sender, Args) => { switch (Args.PropertyName) { case nameof(Settings.Audio.Enabled): case null: case "": CheckFunctionalityAvailability(); break; } }; VideoViewModel.PropertyChanged += (Sender, Args) => { switch (Args.PropertyName) { case nameof(VideoViewModel.SelectedVideoSourceKind): case null: case "": CheckFunctionalityAvailability(); break; } }; RecordingViewModel.PropertyChanged += (Sender, Args) => { switch (Args.PropertyName) { case nameof(RecordingViewModel.RecorderState): case null: case "": RefreshCommand.RaiseCanExecuteChanged(RecordingViewModel.RecorderState == RecorderState.NotRecording); break; } }; // If Output Dircetory is not set. Set it to Documents\Captura\ if (string.IsNullOrWhiteSpace(Settings.OutPath)) { Settings.OutPath = Path.Combine(Environment.GetFolderPath(Environment.SpecialFolder.MyDocuments), "Captura"); } // Create the Output Directory if it does not exist Settings.EnsureOutPath(); // Handle Hoykeys HotKeyManager.HotkeyPressed += Service => { switch (Service) { case ServiceName.Recording: RecordingViewModel.RecordCommand.ExecuteIfCan(); break; case ServiceName.Pause: RecordingViewModel.PauseCommand.ExecuteIfCan(); break; case ServiceName.ScreenShot: ScreenShotViewModel.ScreenShotCommand.ExecuteIfCan(); break; case ServiceName.ActiveScreenShot: ScreenShotViewModel.ScreenShotActiveCommand.ExecuteIfCan(); break; case ServiceName.DesktopScreenShot: ScreenShotViewModel.ScreenShotDesktopCommand.ExecuteIfCan(); break; case ServiceName.ToggleMouseClicks: Settings.Clicks.Display = !Settings.Clicks.Display; break; case ServiceName.ToggleKeystrokes: Settings.Keystrokes.Display = !Settings.Keystrokes.Display; break; } }; }
public MainViewModel(AudioSource AudioSource, VideoViewModel VideoViewModel, ISystemTray SystemTray, IRegionProvider RegionProvider, IWebCamProvider WebCamProvider, WebcamOverlay WebcamOverlay, IMainWindow MainWindow, Settings Settings, RecentViewModel RecentViewModel, LanguageManager LanguageManager, HotKeyManager HotKeyManager, CustomOverlaysViewModel CustomOverlays, CustomImageOverlaysViewModel CustomImageOverlays) : base(Settings, LanguageManager) { this.AudioSource = AudioSource; this.VideoViewModel = VideoViewModel; _systemTray = SystemTray; _regionProvider = RegionProvider; this.WebCamProvider = WebCamProvider; _webcamOverlay = WebcamOverlay; _mainWindow = MainWindow; this.RecentViewModel = RecentViewModel; this.HotKeyManager = HotKeyManager; this.CustomOverlays = CustomOverlays; this.CustomImageOverlays = CustomImageOverlays; #region Commands ScreenShotCommand = new DelegateCommand(() => CaptureScreenShot()); ScreenShotActiveCommand = new DelegateCommand(() => SaveScreenShot(ScreenShotWindow(Window.ForegroundWindow))); ScreenShotDesktopCommand = new DelegateCommand(() => SaveScreenShot(ScreenShotWindow(Window.DesktopWindow))); RecordCommand = new DelegateCommand(OnRecordExecute); RefreshCommand = new DelegateCommand(OnRefresh); PauseCommand = new DelegateCommand(OnPauseExecute, false); OpenOutputFolderCommand = new DelegateCommand(OpenOutputFolder); SelectOutputFolderCommand = new DelegateCommand(SelectOutputFolder); ResetFFMpegFolderCommand = new DelegateCommand(() => Settings.FFMpeg.FolderPath = ""); #endregion SystemEvents.PowerModeChanged += SystemEvents_PowerModeChanged; AudioSource.PropertyChanged += (Sender, Args) => { switch (Args.PropertyName) { case nameof(AudioSource.SelectedRecordingSource): case nameof(AudioSource.SelectedLoopbackSource): case null: case "": CheckFunctionalityAvailability(); break; } }; VideoViewModel.PropertyChanged += (Sender, Args) => { switch (Args.PropertyName) { case nameof(VideoViewModel.SelectedVideoSourceKind): case nameof(VideoViewModel.SelectedVideoSource): case null: case "": CheckFunctionalityAvailability(); break; } }; // If Output Dircetory is not set. Set it to Documents\Captura\ if (string.IsNullOrWhiteSpace(Settings.OutPath)) { Settings.OutPath = Path.Combine(Environment.GetFolderPath(Environment.SpecialFolder.MyDocuments), "Captura"); } // Create the Output Directory if it does not exist Settings.EnsureOutPath(); // Handle Hoykeys HotKeyManager.HotkeyPressed += Service => { switch (Service) { case ServiceName.Recording: RecordCommand?.ExecuteIfCan(); break; case ServiceName.Pause: PauseCommand?.ExecuteIfCan(); break; case ServiceName.ScreenShot: ScreenShotCommand?.ExecuteIfCan(); break; case ServiceName.ActiveScreenShot: ScreenShotActiveCommand?.ExecuteIfCan(); break; case ServiceName.DesktopScreenShot: ScreenShotDesktopCommand?.ExecuteIfCan(); break; case ServiceName.ToggleMouseClicks: Settings.Clicks.Display = !Settings.Clicks.Display; break; case ServiceName.ToggleKeystrokes: Settings.Keystrokes.Display = !Settings.Keystrokes.Display; break; } }; }
public WebcamOverlay(IWebCamProvider WebCamProvider, Settings Settings) : base(Settings.WebcamOverlay, true) { _webCamProvider = WebCamProvider; }
public WebCamImageProvider(IWebCamProvider webCamProvider) { _webCamProvider = webCamProvider; }
public WebcamImageProvider(IWebCamProvider WebCamProvider) { _webCamProvider = WebCamProvider; }
public WebCamOverlay(IWebCamProvider webCamProvider, Settings.Settings settings) : base(settings.WebCamOverlay, true) { _webCamProvider = webCamProvider; }