gitextract_9xzvr3yn/ ├── .gitattributes ├── .github/ │ ├── FUNDING.yml │ ├── ISSUE_TEMPLATE/ │ │ ├── bug_report.md │ │ ├── feature_request.md │ │ └── question.md │ └── PULL_REQUEST_TEMPLATE.md ├── .gitignore ├── CODE_OF_CONDUCT.md ├── CONTRIBUTING.md ├── Inno.iss ├── LICENSE.md ├── README.md ├── SUPPORT.md ├── appveyor.yml ├── build.cake ├── choco/ │ ├── captura.nuspec │ └── tools/ │ └── chocolateyinstall.ps1 ├── crowdin.yml ├── docs/ │ ├── Acknowledgements.md │ ├── Build.md │ ├── CI.md │ ├── Cake.md │ ├── Changelogs/ │ │ ├── README.md │ │ ├── v7.0.1.md │ │ ├── v8.0.0.md │ │ └── v9.0.0.md │ ├── Choco.md │ ├── Cmdline/ │ │ ├── Arg-Source.md │ │ ├── README.md │ │ ├── Verb-FFmpeg.md │ │ ├── Verb-List.md │ │ ├── Verb-Shot.md │ │ └── Verb-Start.md │ ├── Directories.md │ ├── FAQ.md │ ├── FFmpeg.md │ ├── Portable.md │ ├── Projects.md │ ├── README.md │ ├── Screenshots/ │ │ ├── Dark.md │ │ └── Light.md │ ├── Setup.md │ └── System-Requirements.md ├── licenses/ │ ├── Captura, Screna.txt │ ├── CommandLineParser.txt │ ├── CroppingAdorner.txt │ ├── DirectShowLib.txt │ ├── FFMpeg.txt │ ├── Inno.txt │ ├── MUI.Extended.Toolkit.txt │ ├── MUI.txt │ ├── Media Foundation .NET.txt │ ├── MouseKeyHook.txt │ ├── NAudio.txt │ ├── Newtonsoft.Json.txt │ ├── Ooki.Dialogs.txt │ ├── ReactiveProperty.txt │ ├── ScreenToGif.txt │ ├── SharpAvi.txt │ ├── SharpDX.txt │ ├── System.Reactive.txt │ ├── WPFNotifyIcon.txt │ └── WpfToolkit.txt ├── scripts/ │ ├── apikeys.cake │ ├── backup.cake │ ├── choco.cake │ ├── constants.cake │ └── version.cake └── src/ ├── Captura/ │ ├── App.xaml │ ├── App.xaml.cs │ ├── Captura.csproj │ ├── Controls/ │ │ ├── CollapsedBar.xaml │ │ ├── CollapsedBar.xaml.cs │ │ ├── FontSelector.xaml │ │ ├── FontSelector.xaml.cs │ │ ├── HotkeySelector.cs │ │ ├── ImageOverlaySettingsControl.xaml │ │ ├── ImageOverlaySettingsControl.xaml.cs │ │ ├── LayerFrame.xaml │ │ ├── LayerFrame.xaml.cs │ │ ├── ModernButton.cs │ │ ├── ModernPasswordBox.xaml │ │ ├── ModernPasswordBox.xaml.cs │ │ ├── ModernToggleButton.cs │ │ ├── NotificationBalloon.xaml │ │ ├── NotificationBalloon.xaml.cs │ │ ├── NotificationStack.xaml │ │ ├── NotificationStack.xaml.cs │ │ ├── OutputFolderControl.xaml │ │ ├── OutputFolderControl.xaml.cs │ │ ├── PauseButton.xaml │ │ ├── PauseButton.xaml.cs │ │ ├── PositionSettingsControl.xaml │ │ ├── PositionSettingsControl.xaml.cs │ │ ├── PuncturedRegion.xaml │ │ ├── PuncturedRegion.xaml.cs │ │ ├── RecentItem.xaml │ │ ├── RecentItem.xaml.cs │ │ ├── ScreenShotBalloon.xaml │ │ ├── ScreenShotBalloon.xaml.cs │ │ ├── ScreenShotButton.xaml │ │ ├── ScreenShotButton.xaml.cs │ │ ├── StatusBar.xaml │ │ ├── StatusBar.xaml.cs │ │ ├── StripedBorder.xaml │ │ ├── StripedBorder.xaml.cs │ │ ├── TextOverlaySettingsControl.xaml │ │ ├── TextOverlaySettingsControl.xaml.cs │ │ ├── VideoSourceKindList.xaml │ │ └── VideoSourceKindList.xaml.cs │ ├── Models/ │ │ ├── AudioPlayer.cs │ │ ├── CmdOptions.cs │ │ ├── Dpi.cs │ │ ├── FFmpegViewsProvider.cs │ │ ├── HitType.cs │ │ ├── HotkeyListener.cs │ │ ├── HotkeySetup.cs │ │ ├── HotkeyViewActor.cs │ │ ├── IRemoveRequester.cs │ │ ├── MainModule.cs │ │ ├── MainWindowHelper.cs │ │ ├── MainWindowProvider.cs │ │ ├── MessageProvider.cs │ │ ├── PreviewWindowService.cs │ │ ├── RegionSelectorProvider.cs │ │ ├── ServiceLocator.cs │ │ ├── SingleInstanceManager.cs │ │ ├── SystemInfo.cs │ │ ├── SystemTray.cs │ │ └── VideoSourcePicker.cs │ ├── Pages/ │ │ ├── AboutPage.xaml │ │ ├── AboutPage.xaml.cs │ │ ├── AudioPage.xaml │ │ ├── AudioPage.xaml.cs │ │ ├── CensorOverlaysPage.xaml │ │ ├── CensorOverlaysPage.xaml.cs │ │ ├── CrashLogsPage.xaml │ │ ├── CrashLogsPage.xaml.cs │ │ ├── FFmpegCodecsPage.xaml │ │ ├── FFmpegCodecsPage.xaml.cs │ │ ├── FFmpegLogsPage.xaml │ │ ├── FFmpegLogsPage.xaml.cs │ │ ├── FFmpegPage.xaml │ │ ├── FFmpegPage.xaml.cs │ │ ├── FileNameFormatPage.xaml │ │ ├── FileNameFormatPage.xaml.cs │ │ ├── HomePage.xaml │ │ ├── HomePage.xaml.cs │ │ ├── HotkeysPage.xaml │ │ ├── HotkeysPage.xaml.cs │ │ ├── ImageOverlaysPage.xaml │ │ ├── ImageOverlaysPage.xaml.cs │ │ ├── InterfacePage.xaml │ │ ├── InterfacePage.xaml.cs │ │ ├── KeystrokesPage.xaml │ │ ├── KeystrokesPage.xaml.cs │ │ ├── LicensesPage.xaml │ │ ├── LicensesPage.xaml.cs │ │ ├── MainPage.xaml │ │ ├── MainPage.xaml.cs │ │ ├── MouseOverlayPage.xaml │ │ ├── MouseOverlayPage.xaml.cs │ │ ├── OverlayPage.xaml │ │ ├── OverlayPage.xaml.cs │ │ ├── ProxyPage.xaml │ │ ├── ProxyPage.xaml.cs │ │ ├── RecentPage.xaml │ │ ├── RecentPage.xaml.cs │ │ ├── ScreenShotsPage.xaml │ │ ├── ScreenShotsPage.xaml.cs │ │ ├── SettingsPage.xaml │ │ ├── SettingsPage.xaml.cs │ │ ├── SoundsPage.xaml │ │ ├── SoundsPage.xaml.cs │ │ ├── TextOverlaysPage.xaml │ │ ├── TextOverlaysPage.xaml.cs │ │ ├── TrayIconPage.xaml │ │ ├── TrayIconPage.xaml.cs │ │ ├── VideoPage.xaml │ │ ├── VideoPage.xaml.cs │ │ ├── WebcamPage.xaml │ │ └── WebcamPage.xaml.cs │ ├── Presentation/ │ │ ├── CroppingAdorner.cs │ │ ├── OverlayPositionAdorner.cs │ │ ├── PuncturedRect.cs │ │ ├── Themes/ │ │ │ ├── Expander.xaml │ │ │ ├── Generic.xaml │ │ │ ├── LICENSE.md │ │ │ ├── ModernButton.xaml │ │ │ ├── ModernToggleButton.xaml │ │ │ ├── ModernTogglePill.xaml │ │ │ ├── RegionPickerMagnifier.xaml │ │ │ ├── RoundSlider.xaml │ │ │ └── VirtualizingItemsControl.xaml │ │ └── WpfExtensions.cs │ ├── Properties/ │ │ └── AssemblyInfo.cs │ ├── ValueConverters/ │ │ ├── DrawingToWpfColorConverter.cs │ │ ├── GetTypeConverter.cs │ │ ├── InkToolToIconConverter.cs │ │ ├── IntegralTimeSpanConverter.cs │ │ ├── IsLessThanConverter.cs │ │ ├── IsPlayingToButtonStyleConverter.cs │ │ ├── LanguageConverter.cs │ │ ├── NegatingConverter.cs │ │ ├── NotNullConverter.cs │ │ ├── NotRecordingConverter.cs │ │ ├── OneWayConverter.cs │ │ ├── SecondsToTimeSpanConverter.cs │ │ ├── StateToRecordButtonGeometryConverter.cs │ │ ├── StateToTaskbarOverlayConverter.cs │ │ ├── StateToTrayIconSourceConverter.cs │ │ ├── StaticResourceConverter.cs │ │ ├── TimeSpanToSecondsConverter.cs │ │ └── ValueConverters.xaml │ ├── ViewModels/ │ │ ├── AboutViewModel.cs │ │ ├── ExceptionViewModel.cs │ │ ├── Overlays/ │ │ │ ├── CensorOverlayReactor.cs │ │ │ ├── ImageOverlayReactor.cs │ │ │ ├── PositionOverlayReactor.cs │ │ │ ├── TextOverlayReactor.cs │ │ │ └── WebcamOverlayReactor.cs │ │ ├── RegionSelectorViewModel.cs │ │ ├── ScreenPickerViewModel.cs │ │ └── TrimmerViewModel.cs │ ├── Windows/ │ │ ├── ErrorWindow.xaml │ │ ├── ErrorWindow.xaml.cs │ │ ├── ExceptionWindow.xaml │ │ ├── ExceptionWindow.xaml.cs │ │ ├── FFmpegDownloaderWindow.xaml │ │ ├── FFmpegDownloaderWindow.xaml.cs │ │ ├── MainWindow.xaml │ │ ├── MainWindow.xaml.cs │ │ ├── RegionPickerWindow.xaml │ │ ├── RegionPickerWindow.xaml.cs │ │ ├── RegionSelector.xaml │ │ ├── RegionSelector.xaml.cs │ │ ├── ScreenPickerWindow.xaml │ │ ├── ScreenPickerWindow.xaml.cs │ │ ├── SettingsWindow.xaml │ │ ├── SettingsWindow.xaml.cs │ │ ├── TrimmerWindow.xaml │ │ ├── TrimmerWindow.xaml.cs │ │ ├── VideoSourcePickerWindow.xaml │ │ ├── VideoSourcePickerWindow.xaml.cs │ │ ├── YouTubeUploaderWindow.xaml │ │ └── YouTubeUploaderWindow.xaml.cs │ └── app.config ├── Captura.Audio/ │ ├── Captura.Audio.csproj │ ├── IAudioFileWriter.cs │ ├── IAudioItem.cs │ ├── IAudioProvider.cs │ ├── IAudioSource.cs │ ├── IAudioWriterItem.cs │ └── WaveFormat/ │ ├── WaveFormat.cs │ └── WaveFormatEncoding.cs ├── Captura.Base/ │ ├── Captura.Base.csproj │ ├── ComparableExtensions.cs │ ├── DelegateCommand.cs │ ├── FrameExtensions.cs │ ├── IImageUploader.cs │ ├── IOverlay.cs │ ├── IRecorder.cs │ ├── IScreen.cs │ ├── IWindow.cs │ ├── Images/ │ │ ├── IBitmapFrame.cs │ │ ├── IBitmapImage.cs │ │ ├── IBitmapLoader.cs │ │ ├── IEditableFrame.cs │ │ ├── IFont.cs │ │ ├── IFrameWrapper.cs │ │ ├── IImageProvider.cs │ │ ├── IImageWriterItem.cs │ │ ├── IImagingSystem.cs │ │ ├── INV12Frame.cs │ │ ├── ImageFormats.cs │ │ └── RepeatFrame.cs │ ├── Modifiers.cs │ ├── Notification/ │ │ ├── INotification.cs │ │ └── NotificationAction.cs │ ├── NotifyPropertyChanged.cs │ ├── Recent/ │ │ ├── IRecentItem.cs │ │ ├── IRecentList.cs │ │ └── RecentAction.cs │ ├── Services/ │ │ ├── Binder.cs │ │ ├── IAudioPlayer.cs │ │ ├── IBinder.cs │ │ ├── IClipboardService.cs │ │ ├── IDialogService.cs │ │ ├── IFpsManager.cs │ │ ├── IIconSet.cs │ │ ├── IMainWindow.cs │ │ ├── IMessageProvider.cs │ │ ├── IModule.cs │ │ ├── IPlatformServices.cs │ │ ├── IPreviewWindow.cs │ │ ├── IRegionProvider.cs │ │ ├── ISystemTray.cs │ │ ├── IVideoSourcePicker.cs │ │ ├── IWebCamProvider.cs │ │ ├── IWebcamCapture.cs │ │ ├── IWebcamItem.cs │ │ └── ServiceProvider.cs │ ├── Settings/ │ │ ├── Alignment.cs │ │ ├── AudioSettings.cs │ │ ├── MouseOverlaySettings.cs │ │ ├── PositionedOverlaySettings.cs │ │ ├── PropertyStore.cs │ │ ├── ProxySettings.cs │ │ ├── StepsSettings.cs │ │ ├── TextOverlaySettings.cs │ │ └── VideoSettings.cs │ ├── SoundKind.cs │ ├── SyncContextManager.cs │ ├── UploadResult.cs │ ├── Video/ │ │ ├── IVideoConverter.cs │ │ ├── IVideoFileWriter.cs │ │ ├── IVideoItem.cs │ │ ├── IVideoSourceProvider.cs │ │ ├── IVideoWriterItem.cs │ │ ├── IVideoWriterProvider.cs │ │ ├── RecorderMode.cs │ │ ├── VideoConverterParams.cs │ │ └── VideoWriterArgs.cs │ └── WindowClosedException.cs ├── Captura.Console/ │ ├── App.config │ ├── Captura.Console.csproj │ ├── CmdOptions/ │ │ ├── CommonCmdOptions.cs │ │ ├── FFMpegCmdOptions.cs │ │ ├── ICmdlineVerb.cs │ │ ├── ListCmdOptions.cs │ │ ├── ShotCmdOptions.cs │ │ ├── StartCmdOptions.cs │ │ ├── UploadCmdOptions.cs │ │ ├── UploadService.cs │ │ └── VerbsModule.cs │ ├── ConsoleLister.cs │ ├── ConsoleManager.cs │ ├── FFmpegConsoleManager.cs │ ├── Program.cs │ ├── Properties/ │ │ ├── AssemblyInfo.cs │ │ └── launchSettings.json │ └── User32.cs ├── Captura.Core/ │ ├── ApiKeys.cs │ ├── Captura.Core.csproj │ ├── CoreModule.cs │ ├── Extensions.cs │ ├── FpsManager.cs │ ├── MaterialDesignIcons.cs │ ├── Models/ │ │ ├── AroundMouseItem.cs │ │ ├── AroundMouseSourceProvider.cs │ │ ├── Discard/ │ │ │ ├── DiscardWriter.cs │ │ │ ├── DiscardWriterItem.cs │ │ │ └── DiscardWriterProvider.cs │ │ ├── EditorWriter.cs │ │ ├── ImageWriterItems/ │ │ │ ├── ClipboardWriter.cs │ │ │ ├── DiskWriter.cs │ │ │ └── ImageUploadWriter.cs │ │ ├── NoVideoItem.cs │ │ ├── NoVideoSourceProvider.cs │ │ ├── Notifications/ │ │ │ ├── FileSaveNotification.cs │ │ │ ├── ImageUploadNotification.cs │ │ │ └── TextNotification.cs │ │ ├── Recents/ │ │ │ ├── FileRecentItem.cs │ │ │ ├── FileRecentSerializer.cs │ │ │ ├── IRecentItemSerializer.cs │ │ │ ├── RecentFileType.cs │ │ │ ├── RecentListRepository.cs │ │ │ ├── UploadRecentItem.cs │ │ │ └── UploadRecentSerializer.cs │ │ ├── RecorderState.cs │ │ ├── StepWriters/ │ │ │ ├── ImageFolderWriter.cs │ │ │ ├── ImageFolderWriterItem.cs │ │ │ └── StepsVideoWriterItem.cs │ │ ├── UpdateCheckers/ │ │ │ ├── DevUpdateChecker.cs │ │ │ ├── IUpdateChecker.cs │ │ │ └── UpdateChecker.cs │ │ ├── WebcamSourceProvider.cs │ │ └── WebcamVideoItem.cs │ ├── NoWebcamItem.cs │ ├── Settings/ │ │ ├── Models/ │ │ │ ├── AroundMouseSettings.cs │ │ │ ├── ScreenShotSettings.cs │ │ │ ├── SoundSettings.cs │ │ │ ├── TraySettings.cs │ │ │ ├── VisualSettings.cs │ │ │ └── WebcamOverlaySettings.cs │ │ └── Settings.cs │ ├── ViewModels/ │ │ ├── RecordingModel.cs │ │ ├── RecordingModelParams.cs │ │ ├── ScreenShotModel.cs │ │ ├── TimerModel.cs │ │ ├── ViewModelBase.cs │ │ └── WebcamModel.cs │ ├── WebcamImageProvider.cs │ ├── WebcamOverlay.cs │ └── WithPreviewWriter.cs ├── Captura.FFmpeg/ │ ├── ArgsBuilder/ │ │ ├── FFmpegArgs.cs │ │ ├── FFmpegArgsBuilder.cs │ │ ├── FFmpegInputArgs.cs │ │ └── FFmpegOutputArgs.cs │ ├── Audio/ │ │ ├── FFmpegAudioArgsProvider.cs │ │ ├── FFmpegAudioItem.cs │ │ └── FFmpegAudioWriter.cs │ ├── Captura.FFmpeg.csproj │ ├── DownloadFFmpeg.cs │ ├── FFMpegLogItem.cs │ ├── FFmpegDownloaderProgress.cs │ ├── FFmpegDownloaderState.cs │ ├── FFmpegException.cs │ ├── FFmpegModule.cs │ ├── FFmpegNotFoundException.cs │ ├── FFmpegService.cs │ ├── FFmpegTrimmer.cs │ ├── FFmpgDownloadModel.cs │ ├── IFFmpegLogEntry.cs │ ├── IFFmpegLogRepository.cs │ ├── IFFmpegViewsProvider.cs │ ├── Settings/ │ │ ├── FFMpegSettings.cs │ │ ├── FFmpegCodecSettings.cs │ │ └── X264Settings.cs │ └── Video/ │ ├── Codecs/ │ │ ├── CustomFFmpegVideoCodec.cs │ │ ├── CustomStreamingVideoCodec.cs │ │ ├── FFmpegVideoCodec.cs │ │ ├── NvencVideoCodec.cs │ │ ├── QsvHevcVideoCodec.cs │ │ ├── StreamingVideoCodec.cs │ │ ├── TempFileVideoCodec.cs │ │ ├── TwitchVideoCodec.cs │ │ ├── Vp8VideoCodec.cs │ │ ├── Vp9VideoCodec.cs │ │ ├── X264VideoCodec.cs │ │ ├── XvidVideoCodec.cs │ │ └── YouTubeLiveVideoCodec.cs │ ├── FFmpegGifConverter.cs │ ├── FFmpegReplayWriter.cs │ ├── FFmpegVideoConverter.cs │ ├── FFmpegVideoWriter.cs │ ├── FFmpegVideoWriterArgs.cs │ ├── FFmpegWriterProvider.cs │ └── StreamingWriterProvider.cs ├── Captura.Fakes/ │ ├── Captura.Fakes.csproj │ ├── FakeAudioPlayer.cs │ ├── FakeFFmpegLogRepository.cs │ ├── FakeFFmpegViewsProvider.cs │ ├── FakeMessageProvider.cs │ ├── FakePreviewWindow.cs │ ├── FakeRegionProvider.cs │ ├── FakeSystemTray.cs │ ├── FakeVideoSourcePicker.cs │ ├── FakeWindowProvider.cs │ └── FakesModule.cs ├── Captura.Hotkeys/ │ ├── Captura.Hotkeys.csproj │ ├── HotKey.cs │ ├── HotKeyManager.cs │ ├── HotkeyModel.cs │ ├── IHotkeyActor.cs │ ├── IHotkeyListener.cs │ ├── Kernel32.cs │ ├── Service.cs │ ├── ServiceName.cs │ └── User32.cs ├── Captura.Imgur/ │ ├── Captura.Imgur.csproj │ ├── IImgurApiKeys.cs │ ├── ImgurData.cs │ ├── ImgurRefreshTokenResponse.cs │ ├── ImgurResponse.cs │ ├── ImgurSettings.cs │ ├── ImgurUploadResponse.cs │ └── ImgurUploader.cs ├── Captura.Loc/ │ ├── Captura.Loc.csproj │ ├── ILocalizationProvider.cs │ ├── LanguageFields.cs │ ├── LanguageManager.cs │ ├── Languages/ │ │ ├── ar.json │ │ ├── be.json │ │ ├── ca.json │ │ ├── cs.json │ │ ├── da.json │ │ ├── de.json │ │ ├── el.json │ │ ├── en.json │ │ ├── es.json │ │ ├── fi.json │ │ ├── fr.json │ │ ├── he.json │ │ ├── hi.json │ │ ├── id.json │ │ ├── is.json │ │ ├── it.json │ │ ├── ja.json │ │ ├── kab.json │ │ ├── ko.json │ │ ├── ml.json │ │ ├── nl.json │ │ ├── no.json │ │ ├── pl.json │ │ ├── pt-BR.json │ │ ├── pt.json │ │ ├── ro.json │ │ ├── ru.json │ │ ├── sl.json │ │ ├── sv.json │ │ ├── th.json │ │ ├── tr.json │ │ ├── uk.json │ │ ├── vi.json │ │ ├── zh-CN.json │ │ └── zh-TW.json │ ├── ObjectLocalizer.cs │ └── TextLocalizer.cs ├── Captura.MouseKeyHook/ │ ├── Captura.MouseKeyHook.csproj │ ├── IMouseKeyHook.cs │ ├── KeyOverlay.cs │ ├── KeyRecord/ │ │ ├── DummyKeyRecord.cs │ │ ├── IKeyRecord.cs │ │ ├── KeyRecord.cs │ │ ├── KeyRecords.cs │ │ └── RepeatKeyRecord.cs │ ├── KeymapViewModel.cs │ ├── Models/ │ │ ├── Keymap.cs │ │ ├── KeystrokesSettings.cs │ │ ├── MappingGroup.cs │ │ ├── ModifierStates.cs │ │ └── MouseClickSettings.cs │ ├── MouseClickOverlay.cs │ ├── MouseKeyHook.cs │ ├── MouseKeyOverlay.cs │ ├── ScrollOverlay.cs │ ├── Steps/ │ │ ├── IRecordStep.cs │ │ ├── KeyModifiedStep.cs │ │ ├── KeyStep.cs │ │ ├── MouseClickStep.cs │ │ ├── MouseDragBeginStep.cs │ │ ├── MouseDragStep.cs │ │ ├── ScrollStep.cs │ │ └── StepsRecorder.cs │ └── keymaps/ │ ├── de.json │ ├── en-IN.json │ ├── en.json │ ├── ml.json │ ├── schema.json │ └── tr.json ├── Captura.NAudio/ │ ├── Captura.NAudio.csproj │ ├── MixedAudioProvider.cs │ ├── NAudioItem.cs │ ├── NAudioNotificationClient.cs │ ├── NAudioProvider.cs │ ├── NAudioSource.cs │ ├── WasapiCaptureProvider.cs │ ├── WasapiLoopbackCaptureProvider.cs │ └── WaveFormatExtensions.cs ├── Captura.SharpAvi/ │ ├── AviCodec.cs │ ├── AviWriter.cs │ ├── Captura.SharpAvi.csproj │ ├── IAudioProviderAdapter.cs │ ├── SharpAviItem.cs │ └── SharpAviWriterProvider.cs ├── Captura.ViewCore/ │ ├── Captura.ViewCore.csproj │ ├── FFmpegLog.cs │ ├── FileContentItem.cs │ ├── FileNameFormatGroup.cs │ ├── FileNameFormatItem.cs │ ├── HotkeyActor.cs │ ├── RememberByName.cs │ ├── SoundsViewModelItem.cs │ ├── ViewCoreModule.cs │ └── ViewModels/ │ ├── AudioSourceViewModel.cs │ ├── CensorOverlaysViewModel.cs │ ├── CrashLogsViewModel.cs │ ├── CustomImageOverlaysViewModel.cs │ ├── CustomOverlaysViewModel.cs │ ├── FFmpegCodecsViewModel.cs │ ├── FFmpegLogViewModel.cs │ ├── FFmpgDownloadViewModel.cs │ ├── FileNameFormatViewModel.cs │ ├── HotkeysViewModel.cs │ ├── LicensesViewModel.cs │ ├── MainViewModel.cs │ ├── OverlayListViewModel.cs │ ├── ProxySettingsViewModel.cs │ ├── RecentViewModel.cs │ ├── RecordingViewModel.cs │ ├── ScreenShotViewModel.cs │ ├── SoundsViewModel.cs │ ├── UpdateCheckerViewModel.cs │ ├── VideoSourcesViewModel.cs │ ├── VideoWritersViewModel.cs │ ├── ViewConditionsModel.cs │ └── YouTubeUploaderViewModel.cs ├── Captura.Windows/ │ ├── Captura.Windows.csproj │ ├── Capture/ │ │ ├── DxgiTargetDeviceContext.cs │ │ ├── GdiTargetDeviceContext.cs │ │ ├── ITargetDeviceContext.cs │ │ ├── MouseCursor.cs │ │ ├── RegionProvider.cs │ │ ├── ScreenShot.cs │ │ ├── WindowProvider.cs │ │ └── WindowScreenShotBackdrop.cs │ ├── ClipboardService.cs │ ├── DesktopDuplication/ │ │ ├── AcquireResult.cs │ │ ├── DeskDuplFullScreenImageProvider.cs │ │ ├── DeskDuplImageProvider.cs │ │ ├── DeskDuplOutputEntry.cs │ │ ├── DesktopDuplicator.cs │ │ ├── DuplCapture.cs │ │ ├── FrameGrabber.cs │ │ ├── FullScreenDesktopDuplicator.cs │ │ └── MousePointer/ │ │ ├── ColorPointerShape.cs │ │ ├── DXMousePointer.cs │ │ ├── IPointerShape.cs │ │ ├── MaskedColorPointerShape.cs │ │ ├── MaskedPointerShape.cs │ │ └── MonochromePointerShape.cs │ ├── DialogService.cs │ ├── Imaging/ │ │ ├── Direct2D/ │ │ │ ├── D3D9PreviewAssister.cs │ │ │ ├── Direct2DEditor.cs │ │ │ ├── Direct2DEditorSession.cs │ │ │ ├── Direct2DFont.cs │ │ │ ├── Direct2DImage.cs │ │ │ └── Texture2DFrame.cs │ │ └── Drawing/ │ │ ├── DrawingFont.cs │ │ ├── DrawingFrame.cs │ │ ├── DrawingImage.cs │ │ ├── DrawingImagingSystem.cs │ │ ├── GraphicsBitmapLoader.cs │ │ ├── GraphicsEditor.cs │ │ └── GraphicsExtensions.cs │ ├── MediaFoundation/ │ │ ├── MfAudioItem.cs │ │ ├── MfAudioWriter.cs │ │ ├── MfColorConverter.cs │ │ ├── MfItem.cs │ │ ├── MfManager.cs │ │ ├── MfWriter.cs │ │ ├── MfWriterProvider.cs │ │ ├── PackedLong.cs │ │ └── RateControlMode.cs │ ├── Native/ │ │ ├── DwmApi.cs │ │ ├── EnumWindowsProc.cs │ │ ├── Enums/ │ │ │ ├── DrawIconExFlags.cs │ │ │ ├── FileOperationFlags.cs │ │ │ ├── FileOperationType.cs │ │ │ ├── GetWindowEnum.cs │ │ │ ├── GetWindowLongValue.cs │ │ │ ├── SetWindowPositionFlags.cs │ │ │ └── WindowStyles.cs │ │ ├── Gdi32.cs │ │ ├── Kernel32.cs │ │ ├── NativeExtensions.cs │ │ ├── Shell32.cs │ │ ├── Structs/ │ │ │ ├── CursorInfo.cs │ │ │ ├── IconInfo.cs │ │ │ ├── RECT.cs │ │ │ └── ShFileOpStruct.cs │ │ ├── UnsafeBitmap.cs │ │ └── User32.cs │ ├── ScreenWrapper.cs │ ├── Webcam/ │ │ ├── CaptureWebcam.cs │ │ ├── DummyForm.cs │ │ ├── Filter.cs │ │ ├── GraphState.cs │ │ ├── README.md │ │ ├── WebcamCapture.cs │ │ ├── WebcamItem.cs │ │ └── WebcamProvider.cs │ ├── Window.cs │ ├── WindowsModule.cs │ ├── WindowsPlatformServices.cs │ └── WindowsSettings.cs ├── Captura.YouTube/ │ ├── Captura.YouTube.csproj │ ├── IYouTubeApiKeys.cs │ ├── YouTubePrivacyStatus.cs │ ├── YouTubeUploadRequest.cs │ └── YouTubeUploader.cs ├── Captura.sln ├── Directory.Build.props ├── PostBuild.targets ├── Screna/ │ ├── AudioFileWriter.cs │ ├── AudioRecorder.cs │ ├── Extensions.cs │ ├── ImageProviders/ │ │ ├── AroundMouseImageProvider.cs │ │ └── OverlayedImageProvider.cs │ ├── MultiDisposeFrame.cs │ ├── MultiRecorder.cs │ ├── Overlays/ │ │ ├── CensorOverlay.cs │ │ ├── CustomImageOverlay.cs │ │ ├── CustomOverlay.cs │ │ ├── ElapsedOverlay.cs │ │ ├── ImageOverlay.cs │ │ ├── MousePointerOverlay.cs │ │ ├── Settings/ │ │ │ ├── CensorOverlaySettings.cs │ │ │ ├── CustomImageOverlaySettings.cs │ │ │ ├── CustomOverlaySettings.cs │ │ │ └── ImageOverlaySettings.cs │ │ └── TextOverlay.cs │ ├── Recorder.cs │ ├── RegionItem.cs │ ├── ScreenShot.cs │ ├── Screna.csproj │ ├── Timing.cs │ ├── VideoItems/ │ │ ├── FullScreenItem.cs │ │ ├── ScreenItem.cs │ │ ├── WaveItem.cs │ │ └── WindowItem.cs │ └── VideoSourceProviders/ │ ├── FullScreenSourceProvider.cs │ ├── RegionSourceProvider.cs │ ├── ScreenSourceProvider.cs │ ├── VideoSourceProviderBase.cs │ └── WindowSourceProvider.cs └── Tests/ ├── AudioFileWriterTests.cs ├── ConsoleStartTests.cs ├── Fixtures/ │ ├── AppRunnerFixture.cs │ ├── MoqFixture.cs │ ├── TestCollection.cs │ └── TestManagerFixture.cs ├── ImageProviderTests.cs ├── Models/ │ └── FakePropertyStore.cs ├── PropertyStoreTests.cs ├── RecorderTests.cs ├── ScreenShotTests.cs ├── Tests.csproj └── WindowTests.cs