void RestoreRemembered() { // Restore Video Source if (!string.IsNullOrEmpty(Settings.Video.SourceKind)) { var kind = VideoViewModel.AvailableVideoSourceKinds.FirstOrDefault(M => M.Name == Settings.Video.SourceKind); if (kind != null) { VideoViewModel.SelectedVideoSourceKind = kind; switch (kind) { case RegionSourceProvider _: if (RectangleConverter.ConvertFromInvariantString(Settings.Video.Source) is Rectangle rect) { _regionProvider.SelectedRegion = rect; } break; default: var source = VideoViewModel.AvailableVideoSources .FirstOrDefault(S => S.ToString() == Settings.Video.Source); if (source != null) { VideoViewModel.SelectedVideoSource = source; } break; } } } // Restore Video Codec if (!string.IsNullOrEmpty(Settings.Video.WriterKind)) { var kind = VideoViewModel.AvailableVideoWriterKinds.FirstOrDefault(W => W.Name == Settings.Video.WriterKind); if (kind != null) { VideoViewModel.SelectedVideoWriterKind = kind; var codec = VideoViewModel.AvailableVideoWriters.FirstOrDefault(C => C.ToString() == Settings.Video.Writer); if (codec != null) { VideoViewModel.SelectedVideoWriter = codec; } } } // Restore Microphones if (Settings.Audio.Microphones != null) { foreach (var source in AudioSource.AvailableRecordingSources) { source.Active = Settings.Audio.Microphones.Contains(source.Name); } } // Restore Loopback Speakers if (Settings.Audio.Speakers != null) { foreach (var source in AudioSource.AvailableLoopbackSources) { source.Active = Settings.Audio.Speakers.Contains(source.Name); } } // Restore ScreenShot Format if (!string.IsNullOrEmpty(Settings.ScreenShots.ImageFormat)) { var format = ScreenShotImageFormats.FirstOrDefault(F => F.ToString() == Settings.ScreenShots.ImageFormat); if (format != null) { SelectedScreenShotImageFormat = format; } } // Restore ScreenShot Target if (Settings.ScreenShots.SaveTargets != null) { foreach (var imageWriter in VideoViewModel.AvailableImageWriters) { imageWriter.Active = Settings.ScreenShots.SaveTargets.Contains(imageWriter.Display); } // Activate First if none if (!VideoViewModel.AvailableImageWriters.Any(M => M.Active)) { VideoViewModel.AvailableImageWriters[0].Active = true; } } }
void RestoreRemembered() { // Restore Video Source if (!string.IsNullOrEmpty(Settings.Video.SourceKind)) { var kind = VideoViewModel.AvailableVideoSourceKinds.FirstOrDefault(M => M.Name == Settings.Video.SourceKind); if (kind != null) { VideoViewModel.SelectedVideoSourceKind = kind; switch (kind) { case RegionSourceProvider _: if (RectangleConverter.ConvertFromInvariantString(Settings.Video.Source) is Rectangle rect) { _regionProvider.SelectedRegion = rect; } break; default: var source = VideoViewModel.AvailableVideoSources .FirstOrDefault(S => S.ToString() == Settings.Video.Source); if (source != null) { VideoViewModel.SelectedVideoSource = source; } break; } } } // Restore Video Codec if (!string.IsNullOrEmpty(Settings.Video.WriterKind)) { var kind = VideoViewModel.AvailableVideoWriterKinds.FirstOrDefault(W => W.Name == Settings.Video.WriterKind); if (kind != null) { VideoViewModel.SelectedVideoWriterKind = kind; var codec = VideoViewModel.AvailableVideoWriters.FirstOrDefault(C => C.ToString() == Settings.Video.Writer); if (codec != null) { VideoViewModel.SelectedVideoWriter = codec; } } } // Restore Microphone if (!string.IsNullOrEmpty(Settings.Audio.Microphone)) { var source = AudioSource.AvailableRecordingSources.FirstOrDefault(C => C.ToString() == Settings.Audio.Microphone); if (source != null) { AudioSource.SelectedRecordingSource = source; } } // Restore Loopback Speaker if (!string.IsNullOrEmpty(Settings.Audio.Speaker)) { var source = AudioSource.AvailableLoopbackSources.FirstOrDefault(C => C.ToString() == Settings.Audio.Speaker); if (source != null) { AudioSource.SelectedLoopbackSource = source; } } // Restore ScreenShot Format if (!string.IsNullOrEmpty(Settings.ScreenShots.ImageFormat)) { var format = ScreenShotImageFormats.FirstOrDefault(F => F.ToString() == Settings.ScreenShots.ImageFormat); if (format != null) { SelectedScreenShotImageFormat = format; } } // Restore ScreenShot Target if (!string.IsNullOrEmpty(Settings.ScreenShots.SaveTarget)) { var saveTo = VideoViewModel.AvailableImageWriters.FirstOrDefault(S => S.ToString() == Settings.ScreenShots.SaveTarget); if (saveTo != null) { VideoViewModel.SelectedImageWriter = saveTo; } } // Restore Webcam if (!string.IsNullOrEmpty(Settings.Video.Webcam)) { var webcam = WebCamProvider.AvailableCams.FirstOrDefault(C => C.Name == Settings.Video.Webcam); if (webcam != null) { WebCamProvider.SelectedCam = webcam; } } }