gitextract__t5v_oi7/ ├── .github/ │ ├── FUNDING.yml │ ├── ISSUE_TEMPLATE/ │ │ ├── bug_report.yml │ │ ├── config.yml │ │ ├── custom.md │ │ └── feature_request.yml │ └── pull_request_template.md ├── .gitignore ├── LICENSE.md ├── README.md ├── appveyor.yml ├── build/ │ ├── ExtensionsRefIgnoreList.txt │ ├── PlayniteSDK.nuspec │ ├── VerifyLanguageFiles.ps1 │ ├── applyEnglishProofing.ps1 │ ├── build.ps1 │ ├── build.xml │ ├── buildLocConstants.ps1 │ ├── buildSdkNuget.ps1 │ ├── common.ps1 │ ├── generateRetroArchProfile.ps1 │ └── updateLocalizations.ps1 ├── crowdin.yml ├── media/ │ └── SplashScreen.xcf ├── references/ │ └── Windows.winmd ├── source/ │ ├── .editorconfig │ ├── Playnite/ │ │ ├── API/ │ │ │ ├── AddonsAPI.cs │ │ │ ├── DatabaseAPI.cs │ │ │ ├── DesignData/ │ │ │ │ ├── DesignNotificationsAPI.cs │ │ │ │ └── DesignPlayniteAPI.cs │ │ │ ├── NotificationsAPI.cs │ │ │ ├── PlayniteAPI.cs │ │ │ ├── PlayniteInfoAPI.cs │ │ │ ├── PlaynitePathsAPI.cs │ │ │ └── PlayniteSettingsAPI.cs │ │ ├── Addons/ │ │ │ └── Addons.cs │ │ ├── App/ │ │ │ ├── CmdLineOptions.cs │ │ │ ├── IPlayniteApplication.cs │ │ │ ├── PlayniteApplication.cs │ │ │ ├── UpdateManifest.cs │ │ │ └── Updater.cs │ │ ├── App.config │ │ ├── Archive.cs │ │ ├── Audio.cs │ │ ├── Backup.cs │ │ ├── Behaviors/ │ │ │ ├── AnimatedVisibility.cs │ │ │ ├── ExpanderBehaviors.cs │ │ │ ├── FocusBahaviors.cs │ │ │ ├── LeftClickContextMenuBehavior.cs │ │ │ ├── MediaElementBehaviors.cs │ │ │ ├── ScrollToSelectedBehavior.cs │ │ │ ├── ScrollViewerBehaviours.cs │ │ │ └── SelectorBehaviors.cs │ │ ├── BindingProxy.cs │ │ ├── CefTools.cs │ │ ├── CmdlineCommands.cs │ │ ├── Commands/ │ │ │ ├── GenericCommands.cs │ │ │ └── GlobalCommands.cs │ │ ├── Common/ │ │ │ ├── BindingTools.cs │ │ │ ├── Computer.cs │ │ │ ├── Constants.cs │ │ │ ├── CueSheet.cs │ │ │ ├── DesignerTools.cs │ │ │ ├── Exceptions.cs │ │ │ ├── Explorer.cs │ │ │ ├── Extensions/ │ │ │ │ ├── BitmapExtensions.cs │ │ │ │ ├── BitmapIconExtensions.cs │ │ │ │ ├── CloneObject.cs │ │ │ │ ├── Dictionary.cs │ │ │ │ ├── Enums.cs │ │ │ │ ├── IconExtension.cs │ │ │ │ ├── ItemsControlExtensions.cs │ │ │ │ ├── KeyExtensions.cs │ │ │ │ ├── LongExtensions.cs │ │ │ │ ├── NetExtensions.cs │ │ │ │ ├── ObjectExtensions.cs │ │ │ │ ├── ProcessExtensions.cs │ │ │ │ ├── StringExtensions.cs │ │ │ │ └── WindowExtensions.cs │ │ │ ├── FileSystem.cs │ │ │ ├── FileSystem_Checksum.cs │ │ │ ├── GdiFile.cs │ │ │ ├── GlobalRandom.cs │ │ │ ├── Images.cs │ │ │ ├── IniParser.cs │ │ │ ├── ItemsSource.cs │ │ │ ├── M3U.cs │ │ │ ├── MarkupConverter.cs │ │ │ ├── Media/ │ │ │ │ └── Icons/ │ │ │ │ ├── IconExtractor.cs │ │ │ │ └── IconUtil.cs │ │ │ ├── MemoryCache.cs │ │ │ ├── NLogLogProvider.cs │ │ │ ├── Network.cs │ │ │ ├── Paths.cs │ │ │ ├── ProcessMonitor.cs │ │ │ ├── ProcessStarter.cs │ │ │ ├── Programs.cs │ │ │ ├── Programs2.cs │ │ │ ├── Resources.cs │ │ │ ├── Roman.cs │ │ │ ├── SafeFileEnumerator.cs │ │ │ ├── Serialization.cs │ │ │ ├── SigningTools.cs │ │ │ ├── Sizes.cs │ │ │ ├── Sqlite.cs │ │ │ ├── SystemDialogs.cs │ │ │ ├── TGASharpLib.cs │ │ │ ├── TempDirectory.cs │ │ │ ├── Timer.cs │ │ │ ├── Units.cs │ │ │ ├── Web/ │ │ │ │ ├── Downloader.cs │ │ │ │ └── HttpDownloader.cs │ │ │ ├── Xaml.cs │ │ │ └── Xml.cs │ │ ├── Common.config │ │ ├── ControlTemplateTools.cs │ │ ├── Controllers/ │ │ │ ├── GameControllerFactory.cs │ │ │ └── GenericGameController.cs │ │ ├── Controls/ │ │ │ ├── ExtendedDataGrid.cs │ │ │ ├── ExtendedListBox.cs │ │ │ ├── ExtendedListView.cs │ │ │ ├── FadeImage.xaml │ │ │ ├── FadeImage.xaml.cs │ │ │ ├── GridEx.cs │ │ │ ├── HotKeyBox.cs │ │ │ ├── HtmlTextView.cs │ │ │ └── WindowBase.cs │ │ ├── Converters/ │ │ │ ├── BidirectionalEnumAndNumberConverter.cs │ │ │ ├── BoolToAutoWidthConverter.cs │ │ │ ├── BoolToYesNoConverter.cs │ │ │ ├── BooleanToHiddenConverter.cs │ │ │ ├── BooleanToVisibilityConverter.cs │ │ │ ├── CoversZoomToPercentageConverter.cs │ │ │ ├── DateTimeToLastPlayedConverter.cs │ │ │ ├── DockToStringConverter.cs │ │ │ ├── EnumToBooleanConverter.cs │ │ │ ├── EnumToVisibilityConverter.cs │ │ │ ├── GenericTypeConverter.cs │ │ │ ├── ICollectionNullOrEmptyToVisibilityConverter.cs │ │ │ ├── IconToImageSourceConverter.cs │ │ │ ├── ImageStringToImageConverter.cs │ │ │ ├── IntToVisibilityConverter.cs │ │ │ ├── InvertableBooleanToVisibilityConverter.cs │ │ │ ├── InvertedBoolenConverter.cs │ │ │ ├── ListToStringConverter.cs │ │ │ ├── NegateConverter.cs │ │ │ ├── NotificationIconConverter.cs │ │ │ ├── NullToBoolConverter.cs │ │ │ ├── NullToDependencyPropertyUnsetConverter.cs │ │ │ ├── NullToVisibilityConverter.cs │ │ │ ├── NullableDateToStringConverter.cs │ │ │ ├── NullableUlongBytesSizeToStringConverter.cs │ │ │ ├── NumericConverters.cs │ │ │ ├── ObjectEqualityToBoolConverter.cs │ │ │ ├── ObjectToStringConverter.cs │ │ │ ├── OpacityBoolConverter.cs │ │ │ ├── PlayTimeToStringConverter.cs │ │ │ ├── SortingOrderToStringConverter.cs │ │ │ ├── StrechToStringConverter.cs │ │ │ ├── StringNullOrEmptyToBoolConverter.cs │ │ │ ├── StringNullOrEmptyToVisibilityConverter.cs │ │ │ ├── StringToUpperCaseConverter.cs │ │ │ ├── TicksToTimeSpanConverter.cs │ │ │ ├── ValueConverterGroup.cs │ │ │ └── WidthToFontSizeConverter.cs │ │ ├── Database/ │ │ │ ├── Collections/ │ │ │ │ ├── AgeRatingsCollection.cs │ │ │ │ ├── AppSoftwareCollection.cs │ │ │ │ ├── CategoriesCollection.cs │ │ │ │ ├── CompaniesCollection.cs │ │ │ │ ├── CompletionStatusesCollection.cs │ │ │ │ ├── EmulatorsCollection.cs │ │ │ │ ├── FeaturesCollection.cs │ │ │ │ ├── FilterPresetsCollection.cs │ │ │ │ ├── GameScannersCollection.cs │ │ │ │ ├── GamesCollection.cs │ │ │ │ ├── GamesSourcesCollection.cs │ │ │ │ ├── GenresCollection.cs │ │ │ │ ├── ImportExclusionsCollection.cs │ │ │ │ ├── ItemCollection.cs │ │ │ │ ├── LiteDBFileReaderV7.cs │ │ │ │ ├── PlatformsCollection.cs │ │ │ │ ├── RegionsCollection.cs │ │ │ │ ├── SeriesCollection.cs │ │ │ │ └── TagsCollection.cs │ │ │ ├── DatabaseExplorer.cs │ │ │ ├── DatabaseFileEvent.cs │ │ │ ├── DatabaseFilter.cs │ │ │ ├── DatabaseSettings.cs │ │ │ ├── DatabaseStats.cs │ │ │ ├── EventBufferHandler.cs │ │ │ ├── GameDatabase.cs │ │ │ ├── GameDatabaseMigration.cs │ │ │ ├── GameDatabase_Filters.cs │ │ │ ├── GameFieldComparer.cs │ │ │ ├── InMemoryGameDatabase.cs │ │ │ └── OldModels/ │ │ │ ├── NewVer1/ │ │ │ │ ├── OldCompletionStatus.cs │ │ │ │ ├── OldDatabaseObject.cs │ │ │ │ ├── OldGame.cs │ │ │ │ ├── OldGameAction.cs │ │ │ │ └── OldLink.cs │ │ │ └── Ver2.cs │ │ ├── DateTimes.cs │ │ ├── Diagnostic.cs │ │ ├── DiagnosticPackageInfo.cs │ │ ├── DialogsFactory.cs │ │ ├── DiscordManager.cs │ │ ├── EasyAntiCheat.cs │ │ ├── ElementTreeHelper.cs │ │ ├── Emulation/ │ │ │ ├── Emulators/ │ │ │ │ ├── 4DO/ │ │ │ │ │ └── emulator.yaml │ │ │ │ ├── Altirra/ │ │ │ │ │ └── emulator.yaml │ │ │ │ ├── Atari800/ │ │ │ │ │ └── emulator.yaml │ │ │ │ ├── BGB/ │ │ │ │ │ └── emulator.yaml │ │ │ │ ├── BigPEmu/ │ │ │ │ │ └── emulator.yaml │ │ │ │ ├── BizHawk/ │ │ │ │ │ └── emulator.yaml │ │ │ │ ├── BlastEm/ │ │ │ │ │ └── emulator.yaml │ │ │ │ ├── Cemu/ │ │ │ │ │ └── emulator.yaml │ │ │ │ ├── Citra/ │ │ │ │ │ └── emulator.yaml │ │ │ │ ├── Cxbx-Reloaded/ │ │ │ │ │ └── emulator.yaml │ │ │ │ ├── DOSBox/ │ │ │ │ │ └── emulator.yaml │ │ │ │ ├── DeSmuME/ │ │ │ │ │ └── emulator.yaml │ │ │ │ ├── Dolphin/ │ │ │ │ │ └── emulator.yaml │ │ │ │ ├── DuckStation/ │ │ │ │ │ └── emulator.yaml │ │ │ │ ├── FCEUX/ │ │ │ │ │ └── emulator.yaml │ │ │ │ ├── FS-UAE/ │ │ │ │ │ └── emulator.yaml │ │ │ │ ├── FlashPlayerProjector/ │ │ │ │ │ └── emulator.yaml │ │ │ │ ├── Flycast/ │ │ │ │ │ └── emulator.yaml │ │ │ │ ├── Fuse/ │ │ │ │ │ └── emulator.yaml │ │ │ │ ├── GBE+/ │ │ │ │ │ └── emulator.yaml │ │ │ │ ├── Gambatte/ │ │ │ │ │ └── emulator.yaml │ │ │ │ ├── KegaFusion/ │ │ │ │ │ └── emulator.yaml │ │ │ │ ├── Lime3DS/ │ │ │ │ │ └── emulator.yaml │ │ │ │ ├── LocaleEmulator/ │ │ │ │ │ └── emulator.yaml │ │ │ │ ├── M64Py/ │ │ │ │ │ └── emulator.yaml │ │ │ │ ├── Mednafen/ │ │ │ │ │ └── emulator.yaml │ │ │ │ ├── Mesen/ │ │ │ │ │ └── emulator.yaml │ │ │ │ ├── Mesen-S/ │ │ │ │ │ └── emulator.yaml │ │ │ │ ├── NanoboyAdvance/ │ │ │ │ │ └── emulator.yaml │ │ │ │ ├── Nestopia/ │ │ │ │ │ └── emulator.yaml │ │ │ │ ├── NullDC/ │ │ │ │ │ └── emulator.yaml │ │ │ │ ├── PCSX2/ │ │ │ │ │ └── emulator.yaml │ │ │ │ ├── PCSXR-PGXP/ │ │ │ │ │ └── emulator.yaml │ │ │ │ ├── PCem/ │ │ │ │ │ └── emulator.yaml │ │ │ │ ├── PPSSPP/ │ │ │ │ │ └── emulator.yaml │ │ │ │ ├── Project64/ │ │ │ │ │ └── emulator.yaml │ │ │ │ ├── RPCS3/ │ │ │ │ │ ├── emulator.yaml │ │ │ │ │ └── importGames.ps1 │ │ │ │ ├── Reicast/ │ │ │ │ │ └── emulator.yaml │ │ │ │ ├── RetroArch/ │ │ │ │ │ └── emulator.yaml │ │ │ │ ├── RosaliesMupenGui/ │ │ │ │ │ └── emulator.yaml │ │ │ │ ├── Ruffle/ │ │ │ │ │ └── emulator.yaml │ │ │ │ ├── Ryujinx/ │ │ │ │ │ └── emulator.yaml │ │ │ │ ├── SameBoy/ │ │ │ │ │ └── emulator.yaml │ │ │ │ ├── ScummVM/ │ │ │ │ │ ├── emulator.yaml │ │ │ │ │ └── importGames.ps1 │ │ │ │ ├── Snes9X/ │ │ │ │ │ └── emulator.yaml │ │ │ │ ├── Stella/ │ │ │ │ │ └── emulator.yaml │ │ │ │ ├── VirtualJaguar/ │ │ │ │ │ └── emulator.yaml │ │ │ │ ├── VisualBoyAdvance/ │ │ │ │ │ └── emulator.yaml │ │ │ │ ├── VisualBoyAdvance-M/ │ │ │ │ │ └── emulator.yaml │ │ │ │ ├── Vita3K/ │ │ │ │ │ └── emulator.yaml │ │ │ │ ├── WinUAE/ │ │ │ │ │ └── emulator.yaml │ │ │ │ ├── WinVice/ │ │ │ │ │ └── emulator.yaml │ │ │ │ ├── Xemu/ │ │ │ │ │ └── emulator.yaml │ │ │ │ ├── Xenia/ │ │ │ │ │ └── emulator.yaml │ │ │ │ ├── Yabuse/ │ │ │ │ │ └── emulator.yaml │ │ │ │ ├── Ymir/ │ │ │ │ │ └── emulator.yaml │ │ │ │ ├── ZSNES/ │ │ │ │ │ └── emulator.yaml │ │ │ │ ├── ares/ │ │ │ │ │ └── emulator.yaml │ │ │ │ ├── blueMSX/ │ │ │ │ │ └── emulator.yaml │ │ │ │ ├── bsnes/ │ │ │ │ │ └── emulator.yaml │ │ │ │ ├── bsnes-hd/ │ │ │ │ │ └── emulator.yaml │ │ │ │ ├── bsnes-mt/ │ │ │ │ │ └── emulator.yaml │ │ │ │ ├── decaf-emu/ │ │ │ │ │ └── emulator.yaml │ │ │ │ ├── ePSXe/ │ │ │ │ │ └── emulator.yaml │ │ │ │ ├── gopher64/ │ │ │ │ │ └── emulator.yaml │ │ │ │ ├── higan/ │ │ │ │ │ └── emulator.yaml │ │ │ │ ├── jgenesis/ │ │ │ │ │ └── emulator.yaml │ │ │ │ ├── m64p/ │ │ │ │ │ └── emulator.yaml │ │ │ │ ├── mGBA/ │ │ │ │ │ └── emulator.yaml │ │ │ │ ├── melonDS/ │ │ │ │ │ └── emulator.yaml │ │ │ │ ├── puNES/ │ │ │ │ │ └── emulator.yaml │ │ │ │ ├── redream/ │ │ │ │ │ └── emulator.yaml │ │ │ │ ├── shadPS4/ │ │ │ │ │ ├── emulator.yaml │ │ │ │ │ └── importGames.ps1 │ │ │ │ ├── simple64/ │ │ │ │ │ └── emulator.yaml │ │ │ │ └── yuzu/ │ │ │ │ └── emulator.yaml │ │ │ ├── Platforms.yaml │ │ │ └── Regions.yaml │ │ ├── Emulators/ │ │ │ ├── DatModels.cs │ │ │ ├── Emulation.cs │ │ │ ├── EmulationDatabase.cs │ │ │ └── Scanner.cs │ │ ├── Exceptions.cs │ │ ├── Extensions/ │ │ │ ├── ControlExtensions.cs │ │ │ ├── GameExtensions.cs │ │ │ ├── IProvideValueTarget.cs │ │ │ ├── Markup/ │ │ │ │ ├── Api.cs │ │ │ │ ├── BindingExtension.cs │ │ │ │ ├── MainViewModel.cs │ │ │ │ ├── PluginConverter.cs │ │ │ │ ├── PluginSettings.cs │ │ │ │ ├── PluginStatus.cs │ │ │ │ ├── Settings.cs │ │ │ │ ├── ThemeFile.cs │ │ │ │ └── ThemeFileBinding.cs │ │ │ └── ServiceProvider.cs │ │ ├── FakePlayniteLibraryPlugin.cs │ │ ├── GameTools.cs │ │ ├── GamesCollectionView.cs │ │ ├── GamesCollectionViewEntry.cs │ │ ├── GamesEditor.cs │ │ ├── GlobalTaskHandler.cs │ │ ├── GoogleImageDownloader.cs │ │ ├── HdrUtilities.cs │ │ ├── HotKey.cs │ │ ├── HttpFileCache.cs │ │ ├── ImageSourceManager.cs │ │ ├── Input/ │ │ │ ├── GameController.cs │ │ │ └── MouseWheelGesture.cs │ │ ├── ItemSelector.cs │ │ ├── Localization/ │ │ │ ├── LocSource.xaml │ │ │ ├── LocalizationKeys.cs │ │ │ ├── af_ZA.xaml │ │ │ ├── ar_SA.xaml │ │ │ ├── bg_BG.xaml │ │ │ ├── ca_ES.xaml │ │ │ ├── cs_CZ.xaml │ │ │ ├── cy_GB.xaml │ │ │ ├── da_DK.xaml │ │ │ ├── de_DE.xaml │ │ │ ├── el_GR.xaml │ │ │ ├── en_US.xaml │ │ │ ├── eo_UY.xaml │ │ │ ├── es_ES.xaml │ │ │ ├── et_EE.xaml │ │ │ ├── fa_IR.xaml │ │ │ ├── fi_FI.xaml │ │ │ ├── fr_FR.xaml │ │ │ ├── ga_IE.xaml │ │ │ ├── gl_ES.xaml │ │ │ ├── he_IL.xaml │ │ │ ├── hr_HR.xaml │ │ │ ├── hu_HU.xaml │ │ │ ├── id_ID.xaml │ │ │ ├── it_IT.xaml │ │ │ ├── ja_JP.xaml │ │ │ ├── ko_KR.xaml │ │ │ ├── locstatus.json │ │ │ ├── lt_LT.xaml │ │ │ ├── mr_IN.xaml │ │ │ ├── nl_NL.xaml │ │ │ ├── no_NO.xaml │ │ │ ├── pl_PL.xaml │ │ │ ├── pt_BR.xaml │ │ │ ├── pt_PT.xaml │ │ │ ├── ro_RO.xaml │ │ │ ├── ru_RU.xaml │ │ │ ├── si_LK.xaml │ │ │ ├── sk_SK.xaml │ │ │ ├── sl_SI.xaml │ │ │ ├── sr_SP.xaml │ │ │ ├── sv_SE.xaml │ │ │ ├── tr_TR.xaml │ │ │ ├── uk_UA.xaml │ │ │ ├── vi_VN.xaml │ │ │ ├── zh_CN.xaml │ │ │ └── zh_TW.xaml │ │ ├── Localization.cs │ │ ├── Manifests/ │ │ │ ├── AddonManifestBase.cs │ │ │ ├── AddonManifests.cs │ │ │ ├── ExtensionManifest.cs │ │ │ └── ThemeManifest.cs │ │ ├── MenuHelpers.cs │ │ ├── MenuItems.cs │ │ ├── Metadata/ │ │ │ ├── MetadataDownloader.cs │ │ │ ├── MetadataDownloaderSettings.cs │ │ │ └── MetadataFileExtensions.cs │ │ ├── Native/ │ │ │ ├── Fileapi.cs │ │ │ ├── Gdi32.cs │ │ │ ├── Kernel32.cs │ │ │ ├── Ntdll.cs │ │ │ ├── Powrprof.cs │ │ │ ├── Processthreadsapi.cs │ │ │ ├── Psapi.cs │ │ │ ├── Shell32.cs │ │ │ ├── Shlwapi.cs │ │ │ ├── User32.cs │ │ │ ├── WinError.cs │ │ │ ├── Winbase.cs │ │ │ ├── Windef.cs │ │ │ ├── Wingdi.cs │ │ │ ├── Winnt.cs │ │ │ ├── Wintrust.cs │ │ │ └── winuser.cs │ │ ├── ObservablePowerStatus.cs │ │ ├── ObservableTime.cs │ │ ├── PipeServer.cs │ │ ├── Playnite.csproj │ │ ├── PlayniteEnvironment.cs │ │ ├── PlayniteProcess.cs │ │ ├── PlayniteUriHandler.cs │ │ ├── Plugins/ │ │ │ ├── ExtensionFactory.cs │ │ │ └── ExtensionInstaller.cs │ │ ├── Properties/ │ │ │ └── AssemblyInfo.cs │ │ ├── SDL2.cs │ │ ├── SDL2_mixer.cs │ │ ├── Safe Mode.bat │ │ ├── Scripting/ │ │ │ ├── PlayniteScript.cs │ │ │ └── PowerShell/ │ │ │ ├── PowerShell.cs │ │ │ └── PowerShellScript.cs │ │ ├── SdkHelpers.cs │ │ ├── SelectableItem.cs │ │ ├── Services/ │ │ │ ├── BaseServicesClient.cs │ │ │ ├── GenericResponse.cs │ │ │ └── ServicesClient.cs │ │ ├── Settings/ │ │ │ ├── AutoClientShutdownSettings.cs │ │ │ ├── DetailsVisibilitySettings.cs │ │ │ ├── FilterSettings.cs │ │ │ ├── FullscreenSettings.cs │ │ │ ├── OldSettings/ │ │ │ │ └── Plugins.cs │ │ │ ├── PlaynitePaths.cs │ │ │ ├── PlayniteSettings.cs │ │ │ ├── SearchWindowVisibilitySettings.cs │ │ │ ├── SettingsAttributes.cs │ │ │ ├── ViewProperties.cs │ │ │ └── WindowPositions.cs │ │ ├── SortableNameConverter.cs │ │ ├── SystemIntegration.cs │ │ ├── Themes.cs │ │ ├── ThirdPartyClients/ │ │ │ └── ThirdPartyToolsList.cs │ │ ├── UrlConstants.cs │ │ ├── ViewModels/ │ │ │ ├── AddonsViewModelBase_Online.cs │ │ │ ├── CrashHandlerViewModel.cs │ │ │ ├── ItemSelectionViewModel.cs │ │ │ ├── LicenseAgreementViewModel.cs │ │ │ ├── MainViewModelBase.cs │ │ │ ├── ProgressViewViewModel.cs │ │ │ ├── RandomGameSelectViewModel.cs │ │ │ ├── SearchViewModel.cs │ │ │ └── UpdateViewModel.cs │ │ ├── WebView/ │ │ │ ├── CookieDestroyer.cs │ │ │ ├── OffscreenWebView.cs │ │ │ ├── WebView.cs │ │ │ ├── WebViewBase.cs │ │ │ └── WebViewFactory.cs │ │ ├── Windows/ │ │ │ ├── CrashHandlerWindowFactory.cs │ │ │ ├── ExtensionCrashHandlerWindowFactory.cs │ │ │ ├── ItemSelectorWindowFactory.cs │ │ │ ├── LicenseAgreementWindowFactory.cs │ │ │ ├── ProgressWindowFactory.cs │ │ │ ├── UpdateWindowFactory.cs │ │ │ ├── WebViewWindow.xaml │ │ │ ├── WebViewWindow.xaml.cs │ │ │ ├── WindowFactory.cs │ │ │ ├── WindowManager.cs │ │ │ └── WindowPositionHandler.cs │ │ ├── WindowsNotifyIconManager.cs │ │ ├── crash_reporter.cfg │ │ ├── gamecontrollerdb.txt │ │ ├── license.txt │ │ └── packages.config │ ├── Playnite.DesktopApp/ │ │ ├── Api/ │ │ │ └── MainViewAPI.cs │ │ ├── App.config │ │ ├── App.xaml │ │ ├── App.xaml.cs │ │ ├── ControlGalleryView.xaml │ │ ├── Controls/ │ │ │ ├── AddonsSections/ │ │ │ │ ├── AddonUpdates.xaml │ │ │ │ ├── AddonUpdates.xaml.cs │ │ │ │ ├── BrowseAddons.xaml │ │ │ │ ├── BrowseAddons.xaml.cs │ │ │ │ ├── InstalledExtensions.xaml │ │ │ │ ├── InstalledExtensions.xaml.cs │ │ │ │ ├── InstalledThemes.xaml │ │ │ │ └── InstalledThemes.xaml.cs │ │ │ ├── ComboBoxList.cs │ │ │ ├── ComboBoxListBase.cs │ │ │ ├── DdItemListSelectionBox.cs │ │ │ ├── ExpanderEx.cs │ │ │ ├── FilterEnumSelectionBox.cs │ │ │ ├── FilterSelectionBox.cs │ │ │ ├── FilterStringSelectionBox.cs │ │ │ ├── GameListItem.cs │ │ │ ├── GameTaskView.xaml │ │ │ ├── GameTaskView.xaml.cs │ │ │ ├── GamesGridView.xaml │ │ │ ├── GamesGridView.xaml.cs │ │ │ ├── GridViewPanel.cs │ │ │ ├── LibraryStatistics.xaml │ │ │ ├── LibraryStatistics.xaml.cs │ │ │ ├── LongNumericBox.cs │ │ │ ├── Menus/ │ │ │ │ ├── FilterPresetsMenu.cs │ │ │ │ ├── GameGroupMenu.cs │ │ │ │ ├── GameMenu.cs │ │ │ │ ├── GroupSettingsMenu.cs │ │ │ │ ├── MainMenu.cs │ │ │ │ ├── SortSettingsMenu.cs │ │ │ │ ├── TrayContextMenu.cs │ │ │ │ ├── ViewSelectionMenu.cs │ │ │ │ └── ViewSettingsMenu.cs │ │ │ ├── MetadataDownloadSettings.xaml │ │ │ ├── MetadataDownloadSettings.xaml.cs │ │ │ ├── NullableIntBox.cs │ │ │ ├── NumericDoubleBox.cs │ │ │ ├── PathSelectionBox.cs │ │ │ ├── SearchBox.cs │ │ │ ├── SettingsSections/ │ │ │ │ ├── AppearanceAdvanced.xaml │ │ │ │ ├── AppearanceAdvanced.xaml.cs │ │ │ │ ├── AppearanceDetailsView.xaml │ │ │ │ ├── AppearanceDetailsView.xaml.cs │ │ │ │ ├── AppearanceGeneral.xaml │ │ │ │ ├── AppearanceGeneral.xaml.cs │ │ │ │ ├── AppearanceGridView.xaml │ │ │ │ ├── AppearanceGridView.xaml.cs │ │ │ │ ├── AppearanceLayout.xaml │ │ │ │ ├── AppearanceLayout.xaml.cs │ │ │ │ ├── AppearanceListView.xaml │ │ │ │ ├── AppearanceListView.xaml.cs │ │ │ │ ├── AppearanceTopPanel.xaml │ │ │ │ ├── AppearanceTopPanel.xaml.cs │ │ │ │ ├── Backup.xaml │ │ │ │ ├── Backup.xaml.cs │ │ │ │ ├── ClientShutdown.xaml │ │ │ │ ├── ClientShutdown.xaml.cs │ │ │ │ ├── Development.xaml │ │ │ │ ├── Development.xaml.cs │ │ │ │ ├── EmptyParent.xaml │ │ │ │ ├── EmptyParent.xaml.cs │ │ │ │ ├── ErrorLoading.xaml │ │ │ │ ├── ErrorLoading.xaml.cs │ │ │ │ ├── General.xaml │ │ │ │ ├── General.xaml.cs │ │ │ │ ├── GeneralAdvanced.xaml │ │ │ │ ├── GeneralAdvanced.xaml.cs │ │ │ │ ├── ImportExlusionList.xaml │ │ │ │ ├── ImportExlusionList.xaml.cs │ │ │ │ ├── Input.xaml │ │ │ │ ├── Input.xaml.cs │ │ │ │ ├── LibrariesConfigWindowInfo.xaml │ │ │ │ ├── LibrariesConfigWindowInfo.xaml.cs │ │ │ │ ├── Metadata.xaml │ │ │ │ ├── Metadata.xaml.cs │ │ │ │ ├── NoSettingsAvailable.xaml │ │ │ │ ├── NoSettingsAvailable.xaml.cs │ │ │ │ ├── Performance.xaml │ │ │ │ ├── Performance.xaml.cs │ │ │ │ ├── Scripting.xaml │ │ │ │ ├── Scripting.xaml.cs │ │ │ │ ├── Search.xaml │ │ │ │ ├── Search.xaml.cs │ │ │ │ ├── Sorting.xaml │ │ │ │ ├── Sorting.xaml.cs │ │ │ │ ├── Updates.xaml │ │ │ │ └── Updates.xaml.cs │ │ │ ├── SidebarItem.cs │ │ │ ├── SliderEx.cs │ │ │ ├── SliderWithPopup.xaml │ │ │ ├── SliderWithPopup.xaml.cs │ │ │ ├── TopPanelItem.cs │ │ │ └── Views/ │ │ │ ├── BaseGamesView.cs │ │ │ ├── DetailsViewGameOverview.cs │ │ │ ├── ExplorerPanel.cs │ │ │ ├── FilterPanel.cs │ │ │ ├── GameOverview.cs │ │ │ ├── GridViewGameOverview.cs │ │ │ ├── Library.cs │ │ │ ├── LibraryDetailsView.cs │ │ │ ├── LibraryGridView.cs │ │ │ ├── LibraryListView.cs │ │ │ ├── MainWindow.cs │ │ │ ├── NotificationPanel.cs │ │ │ ├── SearchWindow.cs │ │ │ ├── Sidebar.cs │ │ │ └── TopPanel.cs │ │ ├── DesktopActionSelector.cs │ │ ├── DesktopApplication.cs │ │ ├── DesktopCollectionView.cs │ │ ├── DesktopDialogs.cs │ │ ├── DesktopGamesEditor.cs │ │ ├── GlobalResources.xaml │ │ ├── Markups.cs │ │ ├── Playnite.DesktopApp.csproj │ │ ├── PluginSettingsHelper.cs │ │ ├── ProgramEntry.cs │ │ ├── Properties/ │ │ │ ├── AssemblyInfo.cs │ │ │ ├── Resources.Designer.cs │ │ │ ├── Resources.resx │ │ │ ├── Settings.Designer.cs │ │ │ └── Settings.settings │ │ ├── Resources/ │ │ │ └── contributors.txt │ │ ├── Themes/ │ │ │ ├── Desktop/ │ │ │ │ └── Default/ │ │ │ │ ├── Common.xaml │ │ │ │ ├── Constants.xaml │ │ │ │ ├── CustomControls/ │ │ │ │ │ ├── ComboBoxList.xaml │ │ │ │ │ ├── ExpanderEx.xaml │ │ │ │ │ ├── ExtendedDataGrid.xaml │ │ │ │ │ ├── ExtendedListBox.xaml │ │ │ │ │ ├── ExtendedListView.xaml │ │ │ │ │ ├── FilterSelectionBox.xaml │ │ │ │ │ ├── GameGroupMenu.xaml │ │ │ │ │ ├── GameMenu.xaml │ │ │ │ │ ├── HotKeyBox.xaml │ │ │ │ │ ├── HtmlTextView.xaml │ │ │ │ │ ├── NumericBoxes.xaml │ │ │ │ │ ├── PathSelectionBox.xaml │ │ │ │ │ ├── SearchBox.xaml │ │ │ │ │ ├── SidebarItem.xaml │ │ │ │ │ ├── SliderEx.xaml │ │ │ │ │ ├── TopPanelItem.xaml │ │ │ │ │ ├── TrayContextMenu.xaml │ │ │ │ │ └── WindowBase.xaml │ │ │ │ ├── DefaultControls/ │ │ │ │ │ ├── Border.xaml │ │ │ │ │ ├── Button.xaml │ │ │ │ │ ├── CheckBox.xaml │ │ │ │ │ ├── ComboBox.xaml │ │ │ │ │ ├── ContextMenu.xaml │ │ │ │ │ ├── DataGrid.xaml │ │ │ │ │ ├── DatePicker.xaml │ │ │ │ │ ├── Expander.xaml │ │ │ │ │ ├── GridSplitter.xaml │ │ │ │ │ ├── GroupBox.xaml │ │ │ │ │ ├── Hyperlink.xaml │ │ │ │ │ ├── Label.xaml │ │ │ │ │ ├── ListBox.xaml │ │ │ │ │ ├── ListView.xaml │ │ │ │ │ ├── Menu.xaml │ │ │ │ │ ├── PasswordBox.xaml │ │ │ │ │ ├── Popup.xaml │ │ │ │ │ ├── ProgressBar.xaml │ │ │ │ │ ├── RadioButton.xaml │ │ │ │ │ ├── RepeatButton.xaml │ │ │ │ │ ├── RichTextBox.xaml │ │ │ │ │ ├── ScrollViewer.xaml │ │ │ │ │ ├── Slider.xaml │ │ │ │ │ ├── TabControl.xaml │ │ │ │ │ ├── TextBlock.xaml │ │ │ │ │ ├── TextBox.xaml │ │ │ │ │ ├── Thumb.xaml │ │ │ │ │ ├── ToggleButton.xaml │ │ │ │ │ ├── ToolTip.xaml │ │ │ │ │ └── TreeView.xaml │ │ │ │ ├── DerivedStyles/ │ │ │ │ │ ├── BottomButton.xaml │ │ │ │ │ ├── DetailsHyperlink.xaml │ │ │ │ │ ├── DetailsScrollViewer.xaml │ │ │ │ │ ├── DetailsViewGroupStyle.xaml │ │ │ │ │ ├── DetailsViewItemStyle.xaml │ │ │ │ │ ├── DetailsViewItemTemplate.xaml │ │ │ │ │ ├── GridViewGroupStyle.xaml │ │ │ │ │ ├── GridViewItemStyle.xaml │ │ │ │ │ ├── GridViewItemTemplate.xaml │ │ │ │ │ ├── HighlightBorder.xaml │ │ │ │ │ ├── ImageHighlightButton.xaml │ │ │ │ │ ├── ListViewGroupStyle.xaml │ │ │ │ │ ├── MainWindowStyle.xaml │ │ │ │ │ ├── NotificationMessage.xaml │ │ │ │ │ ├── PlayButton.xaml │ │ │ │ │ ├── PropertyItemButton.xaml │ │ │ │ │ ├── SimpleButton.xaml │ │ │ │ │ ├── StandardWindowStyle.xaml │ │ │ │ │ ├── TextBlockGameScore.xaml │ │ │ │ │ └── WindowBarButton.xaml │ │ │ │ ├── DescriptionView.html │ │ │ │ ├── Media.xaml │ │ │ │ ├── Views/ │ │ │ │ │ ├── DetailsViewGameOverview.xaml │ │ │ │ │ ├── ExplorerPanel.xaml │ │ │ │ │ ├── FilterPanelView.xaml │ │ │ │ │ ├── GridViewGameOverview.xaml │ │ │ │ │ ├── Library.xaml │ │ │ │ │ ├── LibraryDetailsView.xaml │ │ │ │ │ ├── LibraryGridView.xaml │ │ │ │ │ ├── LibraryListView.xaml │ │ │ │ │ ├── MainWindow.xaml │ │ │ │ │ ├── NotificationPanel.xaml │ │ │ │ │ ├── SearchView.xaml │ │ │ │ │ ├── Sidebar.xaml │ │ │ │ │ └── TopPanel.xaml │ │ │ │ └── theme.yaml │ │ │ └── Generic.xaml │ │ ├── ViewModels/ │ │ │ ├── AboutViewModel.cs │ │ │ ├── ActionSelectionViewModel.cs │ │ │ ├── AddonsViewModel.cs │ │ │ ├── AddonsViewModel_Installed.cs │ │ │ ├── AddonsViewModel_Online.cs │ │ │ ├── CategoryConfigViewModel.cs │ │ │ ├── DatabaseFieldsManagerViewModel.cs │ │ │ ├── DesignData/ │ │ │ │ └── DesignMainViewModel.cs │ │ │ ├── DesktopAppViewModel.cs │ │ │ ├── DesktopAppViewModel_Commands.cs │ │ │ ├── DesktopAppViewModel_Sidebar.cs │ │ │ ├── DesktopAppViewModel_TopPanel.cs │ │ │ ├── EmulatedGamesImportViewModel.cs │ │ │ ├── EmulatorImportViewModel.cs │ │ │ ├── EmulatorsViewModel.cs │ │ │ ├── FirstTimeStartupViewModel.cs │ │ │ ├── GameDetailsViewModel.cs │ │ │ ├── GameEditViewModel.cs │ │ │ ├── GameEditViewModelCommands.cs │ │ │ ├── GameEditViewModelFieldChecks.cs │ │ │ ├── GameEditViewModelMetadata.cs │ │ │ ├── GoogleImageDownloadViewModel.cs │ │ │ ├── ImageSelectionViewModel.cs │ │ │ ├── InstalledGamesViewModel.cs │ │ │ ├── ItemSelectionWithSearchViewModel.cs │ │ │ ├── LibraryIntegrationsViewModel.cs │ │ │ ├── MetadataComparisonViewModel.cs │ │ │ ├── MetadataDownloadViewModel.cs │ │ │ ├── PluginSettingsViewModel.cs │ │ │ ├── SettingsViewModel.cs │ │ │ ├── StatisticsViewModel.cs │ │ │ └── ToolsConfigViewModel.cs │ │ ├── Windows/ │ │ │ ├── AboutWindow.xaml │ │ │ ├── AboutWindow.xaml.cs │ │ │ ├── ActionSelectionWindow.xaml │ │ │ ├── ActionSelectionWindow.xaml.cs │ │ │ ├── AddonsWindow.xaml │ │ │ ├── AddonsWindow.xaml.cs │ │ │ ├── CategoryConfigWindow.xaml │ │ │ ├── CategoryConfigWindow.xaml.cs │ │ │ ├── ControlGallery.xaml │ │ │ ├── ControlGallery.xaml.cs │ │ │ ├── CrashHandlerWindow.xaml │ │ │ ├── CrashHandlerWindow.xaml.cs │ │ │ ├── DatabaseFieldsManagerWindow.xaml │ │ │ ├── DatabaseFieldsManagerWindow.xaml.cs │ │ │ ├── EmulatedGameImportWindow.xaml │ │ │ ├── EmulatedGameImportWindow.xaml.cs │ │ │ ├── EmulatorDownloadWindow.xaml │ │ │ ├── EmulatorDownloadWindow.xaml.cs │ │ │ ├── EmulatorImportWindow.xaml │ │ │ ├── EmulatorImportWindow.xaml.cs │ │ │ ├── EmulatorsWindow.xaml │ │ │ ├── EmulatorsWindow.xaml.cs │ │ │ ├── ExtensionCrashHandlerWindow.xaml │ │ │ ├── ExtensionCrashHandlerWindow.xaml.cs │ │ │ ├── FirstTimeStartupWindow.xaml │ │ │ ├── FirstTimeStartupWindow.xaml.cs │ │ │ ├── GameEditWindow.xaml │ │ │ ├── GameEditWindow.xaml.cs │ │ │ ├── GoogleImageDownloadWindow.xaml │ │ │ ├── GoogleImageDownloadWindow.xaml.cs │ │ │ ├── ImageSelectionWindow.xaml │ │ │ ├── ImageSelectionWindow.xaml.cs │ │ │ ├── InstalledGamesWindow.xaml │ │ │ ├── InstalledGamesWindow.xaml.cs │ │ │ ├── ItemSelectionWithSearchWindow.xaml │ │ │ ├── ItemSelectionWithSearchWindow.xaml.cs │ │ │ ├── LibraryIntegrationsWindow.xaml │ │ │ ├── LibraryIntegrationsWindow.xaml.cs │ │ │ ├── LicenseAgreementWindow.xaml │ │ │ ├── LicenseAgreementWindow.xaml.cs │ │ │ ├── MainWindow.xaml │ │ │ ├── MainWindow.xaml.cs │ │ │ ├── MessageBoxWindow.xaml │ │ │ ├── MessageBoxWindow.xaml.cs │ │ │ ├── MetadataComparisonWindow.xaml │ │ │ ├── MetadataComparisonWindow.xaml.cs │ │ │ ├── MetadataDownloadWindow.xaml │ │ │ ├── MetadataDownloadWindow.xaml.cs │ │ │ ├── MultiItemSelectionWindow.xaml │ │ │ ├── MultiItemSelectionWindow.xaml.cs │ │ │ ├── PluginSettingsWindow.xaml │ │ │ ├── PluginSettingsWindow.xaml.cs │ │ │ ├── ProgressWindow.xaml │ │ │ ├── ProgressWindow.xaml.cs │ │ │ ├── RandomGameSelectWindow.xaml │ │ │ ├── RandomGameSelectWindow.xaml.cs │ │ │ ├── SearchWindow.xaml │ │ │ ├── SearchWindow.xaml.cs │ │ │ ├── SettingsWindow.xaml │ │ │ ├── SettingsWindow.xaml.cs │ │ │ ├── SingleItemSelectionWindow.xaml │ │ │ ├── SingleItemSelectionWindow.xaml.cs │ │ │ ├── ToolsConfigWindow.xaml │ │ │ ├── ToolsConfigWindow.xaml.cs │ │ │ ├── UpdateWindow.xaml │ │ │ └── UpdateWindow.xaml.cs │ │ ├── app.manifest │ │ └── packages.config │ ├── Playnite.FullscreenApp/ │ │ ├── Api/ │ │ │ └── MainViewAPI.cs │ │ ├── App.config │ │ ├── App.xaml │ │ ├── App.xaml.cs │ │ ├── Commands/ │ │ │ └── GlobalCommands.cs │ │ ├── ControlGalleryView.xaml │ │ ├── Controls/ │ │ │ ├── ButtonEx.cs │ │ │ ├── CheckBoxEx.cs │ │ │ ├── ComboBoxEx.cs │ │ │ ├── FilterDbItemtSelection.cs │ │ │ ├── FilterEnumListSelection.cs │ │ │ ├── FilterPresetSelector.cs │ │ │ ├── FilterStringListSelection.cs │ │ │ ├── FullscreenTilePanel.cs │ │ │ ├── GameListItem.cs │ │ │ ├── ItemsControlEx.cs │ │ │ ├── ListBoxEx.cs │ │ │ ├── ScrollViewerEx.cs │ │ │ ├── SettingsSections/ │ │ │ │ ├── Audio.xaml │ │ │ │ ├── Audio.xaml.cs │ │ │ │ ├── General.xaml │ │ │ │ ├── General.xaml.cs │ │ │ │ ├── Input.xaml │ │ │ │ ├── Input.xaml.cs │ │ │ │ ├── Layout.xaml │ │ │ │ ├── Layout.xaml.cs │ │ │ │ ├── Menus.xaml │ │ │ │ ├── Menus.xaml.cs │ │ │ │ ├── SettingsSectionControl.cs │ │ │ │ ├── Visuals.xaml │ │ │ │ └── Visuals.xaml.cs │ │ │ ├── SliderEx.cs │ │ │ ├── ToggleButtonEx.cs │ │ │ └── Views/ │ │ │ ├── Filters.cs │ │ │ ├── FiltersAdditional.cs │ │ │ ├── GameDetails.cs │ │ │ ├── GameStatus.cs │ │ │ └── Main.cs │ │ ├── FullscreenActionSelector.cs │ │ ├── FullscreenApplication.cs │ │ ├── FullscreenCollectionView.cs │ │ ├── FullscreenDialogs.cs │ │ ├── GlobalResources.xaml │ │ ├── HiddenStyles.xaml │ │ ├── Markup/ │ │ │ └── Markups.cs │ │ ├── Playnite.FullscreenApp.csproj │ │ ├── ProgramEntry.cs │ │ ├── Properties/ │ │ │ ├── AssemblyInfo.cs │ │ │ ├── Resources.Designer.cs │ │ │ ├── Resources.resx │ │ │ ├── Settings.Designer.cs │ │ │ └── Settings.settings │ │ ├── Themes/ │ │ │ ├── Fullscreen/ │ │ │ │ └── Default/ │ │ │ │ ├── Constants.xaml │ │ │ │ ├── CustomControls/ │ │ │ │ │ ├── FilterDbItemtSelection.xaml │ │ │ │ │ ├── FilterEnumListSelection.xaml │ │ │ │ │ ├── FilterPresetSelector.xaml │ │ │ │ │ └── FilterStringListSelection.xaml │ │ │ │ ├── DefaultControls/ │ │ │ │ │ ├── Button.xaml │ │ │ │ │ ├── CheckBox.xaml │ │ │ │ │ ├── ComboBox.xaml │ │ │ │ │ ├── ProgressBar.xaml │ │ │ │ │ ├── ScrollViewer.xaml │ │ │ │ │ ├── Slider.xaml │ │ │ │ │ ├── TextBox.xaml │ │ │ │ │ ├── ToggleButton.xaml │ │ │ │ │ └── ToolTip.xaml │ │ │ │ ├── DerivedStyles/ │ │ │ │ │ ├── ButtonBottomMenu.xaml │ │ │ │ │ ├── ButtonTopMenu.xaml │ │ │ │ │ ├── ListGameItemStyle.xaml │ │ │ │ │ └── ListGameItemTemplate.xaml │ │ │ │ ├── DescriptionView.html │ │ │ │ ├── Images/ │ │ │ │ │ └── ButtonPrompts/ │ │ │ │ │ ├── PlayStation/ │ │ │ │ │ │ └── PlayStation.xaml │ │ │ │ │ └── Xbox/ │ │ │ │ │ └── Xbox.xaml │ │ │ │ ├── Media.xaml │ │ │ │ ├── Views/ │ │ │ │ │ ├── CustomMenus.xaml │ │ │ │ │ ├── FiltersAdditional.xaml │ │ │ │ │ ├── FiltersView.xaml │ │ │ │ │ ├── GameDetails.xaml │ │ │ │ │ ├── GameMenu.xaml │ │ │ │ │ ├── GameStatus.xaml │ │ │ │ │ ├── HelpMenu.xaml │ │ │ │ │ ├── ItemSelection.xaml │ │ │ │ │ ├── Main.xaml │ │ │ │ │ ├── MainMenu.xaml │ │ │ │ │ ├── MessageBox.xaml │ │ │ │ │ ├── NotificationsMenu.xaml │ │ │ │ │ ├── SettingsMenus.xaml │ │ │ │ │ └── TextInput.xaml │ │ │ │ └── theme.yaml │ │ │ └── Generic.xaml │ │ ├── ViewModels/ │ │ │ ├── AddonsViewModel.cs │ │ │ ├── DesignData/ │ │ │ │ └── DesignMainViewModel.cs │ │ │ ├── ExtensionsMenuViewModels.cs │ │ │ ├── FullscreenAppViewModel.cs │ │ │ ├── FullscreenAppViewModel_Commands.cs │ │ │ ├── GameClientsMenuViewModel.cs │ │ │ ├── GameDetailsViewModel.cs │ │ │ ├── GameMenuViewModel.cs │ │ │ ├── GameStatusViewModel.cs │ │ │ ├── HelpMenuViewModel.cs │ │ │ ├── MainMenuViewModel.cs │ │ │ ├── NotificationsViewModel.cs │ │ │ ├── SettingsViewModel.cs │ │ │ └── SoftwareToolsMenuViewModel.cs │ │ ├── Windows/ │ │ │ ├── AddonsUpdateWindow.xaml │ │ │ ├── AddonsUpdateWindow.xaml.cs │ │ │ ├── CrashWindow.xaml │ │ │ ├── CrashWindow.xaml.cs │ │ │ ├── ExtensionCrashWindow.xaml │ │ │ ├── ExtensionCrashWindow.xaml.cs │ │ │ ├── ExtensionsMenuWindow.xaml │ │ │ ├── ExtensionsMenuWindow.xaml.cs │ │ │ ├── GameClientsMenuWindow.xaml │ │ │ ├── GameClientsMenuWindow.xaml.cs │ │ │ ├── GameMenuWindow.xaml │ │ │ ├── GameMenuWindow.xaml.cs │ │ │ ├── HelpMenuWindow.xaml │ │ │ ├── HelpMenuWindow.xaml.cs │ │ │ ├── LicenseAgreementWindow.xaml │ │ │ ├── LicenseAgreementWindow.xaml.cs │ │ │ ├── MainMenuWindow.xaml │ │ │ ├── MainMenuWindow.xaml.cs │ │ │ ├── MainWindow.xaml │ │ │ ├── MainWindow.xaml.cs │ │ │ ├── MessageBoxWindow.xaml │ │ │ ├── MessageBoxWindow.xaml.cs │ │ │ ├── MultiItemSelectionWindow.xaml │ │ │ ├── MultiItemSelectionWindow.xaml.cs │ │ │ ├── NotificationsWindow.xaml │ │ │ ├── NotificationsWindow.xaml.cs │ │ │ ├── ProgressWindow.xaml │ │ │ ├── ProgressWindow.xaml.cs │ │ │ ├── RandomGameSelectWindow.xaml │ │ │ ├── RandomGameSelectWindow.xaml.cs │ │ │ ├── SettingsWindow.xaml │ │ │ ├── SettingsWindow.xaml.cs │ │ │ ├── SingleItemSelectionWindow.xaml │ │ │ ├── SingleItemSelectionWindow.xaml.cs │ │ │ ├── SoftwareToolsMenuWindow.xaml │ │ │ ├── SoftwareToolsMenuWindow.xaml.cs │ │ │ ├── TextInputWindow.xaml │ │ │ ├── TextInputWindow.xaml.cs │ │ │ ├── UpdateWindow.xaml │ │ │ ├── UpdateWindow.xaml.cs │ │ │ └── WindowTools.cs │ │ ├── app.manifest │ │ └── packages.config │ ├── Playnite.sln │ ├── PlayniteSDK/ │ │ ├── ApplicationMode.cs │ │ ├── BuiltInExtensions.cs │ │ ├── Collections/ │ │ │ ├── ComparableList.cs │ │ │ ├── ObservableConcurrentDictionary.cs │ │ │ ├── ObservableObject.cs │ │ │ └── RangeObservableCollection.cs │ │ ├── Controls/ │ │ │ └── PluginUserControl.cs │ │ ├── Data/ │ │ │ ├── DataSerialization.cs │ │ │ ├── MarkupConverter.cs │ │ │ └── SQLite.cs │ │ ├── Database/ │ │ │ ├── IGameDatabase.cs │ │ │ ├── IGameDatabaseAPI.cs │ │ │ └── IItemCollection.cs │ │ ├── Events/ │ │ │ ├── ApplicationEvents.cs │ │ │ ├── PlayniteUriEventArgs.cs │ │ │ └── WebViewEvents.cs │ │ ├── Exceptions/ │ │ │ ├── LocalizedException.cs │ │ │ ├── ReferenceException.cs │ │ │ ├── ScriptRuntimeException.cs │ │ │ └── TypeMismatchException.cs │ │ ├── ExpandableVariables.cs │ │ ├── ExtensionFunction.cs │ │ ├── Extensions/ │ │ │ ├── ListExtensions.cs │ │ │ └── StringExtensions.cs │ │ ├── IAddons.cs │ │ ├── IDialogsFactory.cs │ │ ├── IEmulationAPI.cs │ │ ├── ILogger.cs │ │ ├── IMainViewAPI.cs │ │ ├── INotificationsAPI.cs │ │ ├── IPlayniteAPI.cs │ │ ├── IPlayniteInfoAPI.cs │ │ ├── IPlaynitePathsAPI.cs │ │ ├── IPlayniteSettingsAPI.cs │ │ ├── ISettings.cs │ │ ├── IUriHandlerAPI.cs │ │ ├── IWebView.cs │ │ ├── LibraryClient.cs │ │ ├── LogManager.cs │ │ ├── MetadataProvider.cs │ │ ├── Models/ │ │ │ ├── AgeRating.cs │ │ │ ├── AgeRatingOrg.cs │ │ │ ├── AppSoftware.cs │ │ │ ├── Category.cs │ │ │ ├── Company.cs │ │ │ ├── CompletionStatus.cs │ │ │ ├── DatabaseObject.cs │ │ │ ├── Emulator.cs │ │ │ ├── FilterPreset.cs │ │ │ ├── Game.cs │ │ │ ├── GameAction.cs │ │ │ ├── GameFeature.cs │ │ │ ├── GameMetadata.cs │ │ │ ├── GameRom.cs │ │ │ ├── GameScannerConfig.cs │ │ │ ├── GameSource.cs │ │ │ ├── Genre.cs │ │ │ ├── IIdentifiable.cs │ │ │ ├── ImportExclusionList.cs │ │ │ ├── InstallSizeGroup.cs │ │ │ ├── InstallationStatus.cs │ │ │ ├── Link.cs │ │ │ ├── PastTimeSegment.cs │ │ │ ├── Platform.cs │ │ │ ├── PlaytimeCategory.cs │ │ │ ├── Region.cs │ │ │ ├── ReleaseDate.cs │ │ │ ├── ScoreGroup.cs │ │ │ ├── Series.cs │ │ │ └── Tag.cs │ │ ├── Playnite.SDK.csproj │ │ ├── Plugins/ │ │ │ ├── Actions.cs │ │ │ ├── LibraryPlugin.cs │ │ │ ├── MenuEntry.cs │ │ │ ├── MetadataPlugin.cs │ │ │ ├── Plugin.cs │ │ │ ├── Search.cs │ │ │ ├── SidebarItem.cs │ │ │ └── TopPanelItem.cs │ │ ├── Properties/ │ │ │ └── AssemblyInfo.cs │ │ ├── RelayCommand.cs │ │ ├── ResourceProvider.cs │ │ ├── SdkVersions.cs │ │ ├── WebViewModels.cs │ │ └── readme.md │ ├── Tests/ │ │ ├── Playnite.DesktopApp.Tests/ │ │ │ ├── GamesEditorTests.cs │ │ │ ├── MainViewAPITests.cs │ │ │ ├── Playnite.DesktopApp.Tests.csproj │ │ │ ├── Properties/ │ │ │ │ └── AssemblyInfo.cs │ │ │ ├── SkinsTests.cs │ │ │ ├── TestsSetupClass.cs │ │ │ ├── ViewModels/ │ │ │ │ ├── DatabaseFieldsManagerViewModelTests.cs │ │ │ │ └── GameEditViewModelTests.cs │ │ │ ├── app.config │ │ │ └── packages.config │ │ ├── Playnite.FullscreenApp.Tests/ │ │ │ ├── Controls/ │ │ │ │ └── FullscreenTilePanelTests.cs │ │ │ ├── Playnite.FullscreenApp.Tests.csproj │ │ │ ├── Properties/ │ │ │ │ └── AssemblyInfo.cs │ │ │ ├── app.config │ │ │ └── packages.config │ │ ├── Playnite.Tests/ │ │ │ ├── Api/ │ │ │ │ └── PluginDescriptionTests.cs │ │ │ ├── App/ │ │ │ │ └── UpdateTests.cs │ │ │ ├── App.config │ │ │ ├── ArchiveTests.cs │ │ │ ├── BackupTests.cs │ │ │ ├── CloneObjectTests.cs │ │ │ ├── Converters/ │ │ │ │ └── PlayTimeToStringConverterTests.cs │ │ │ ├── CueSheetTests.cs │ │ │ ├── Database/ │ │ │ │ ├── EmulatorsCollectionTests.cs │ │ │ │ ├── FiltersDatabaseTests.cs │ │ │ │ ├── GameDatabaseFileTests.cs │ │ │ │ ├── GameDatabaseMigrationTests.cs │ │ │ │ ├── GameDatabasePlatformsTests.cs │ │ │ │ ├── GameDatabaseTests.cs │ │ │ │ ├── GameLibraryFilterTests.cs │ │ │ │ ├── GameLibraryTests.cs │ │ │ │ └── ItemCollectionTests.cs │ │ │ ├── DictionaryTests.cs │ │ │ ├── Emulators/ │ │ │ │ ├── EmulationDatabaseTests.cs │ │ │ │ ├── EmulationTests.cs │ │ │ │ ├── EmulatorDefinitionTests.cs │ │ │ │ ├── EmulatorScannerTests.cs │ │ │ │ ├── ScannedGameTests.cs │ │ │ │ └── ScannerTests.cs │ │ │ ├── ExtensionFactoryTests.cs │ │ │ ├── Extensions/ │ │ │ │ ├── BitmapExtensionsTests.cs │ │ │ │ ├── DateTimesTests.cs │ │ │ │ ├── EnumsTests.cs │ │ │ │ ├── NetExtensionsTests.cs │ │ │ │ ├── ObjectExtensionsTests.cs │ │ │ │ └── StringExtensionsTests.cs │ │ │ ├── FileSystemTests.cs │ │ │ ├── GameFieldComparerTests.cs │ │ │ ├── GamesEditorTests.cs │ │ │ ├── GamesStatsTests.cs │ │ │ ├── ImageSourceManagerTests.cs │ │ │ ├── ImagesTests.cs │ │ │ ├── IniParserTests.cs │ │ │ ├── InstallSizeScanTests.cs │ │ │ ├── ListExtensionsTests.cs │ │ │ ├── LocalizationTests.cs │ │ │ ├── M3UTests.cs │ │ │ ├── Manifests/ │ │ │ │ └── AddonManifestTests.cs │ │ │ ├── Metadata/ │ │ │ │ └── MetadataDownloaderDownloadTests.cs │ │ │ ├── Models/ │ │ │ │ ├── CopyDiffToTest.cs │ │ │ │ ├── DatabaseObjectTests.cs │ │ │ │ ├── GameActionTests.cs │ │ │ │ ├── GameTests.cs │ │ │ │ └── MetadataPropertyTests.cs │ │ │ ├── PathsTests.cs │ │ │ ├── Playnite.Tests.csproj │ │ │ ├── PlayniteUriHandlerTests.cs │ │ │ ├── Plugins/ │ │ │ │ └── ExtensionManifestTests.cs │ │ │ ├── ProcessStarterTests.cs │ │ │ ├── ProgramsTests.cs │ │ │ ├── Properties/ │ │ │ │ └── AssemblyInfo.cs │ │ │ ├── ReleaseDateTests.cs │ │ │ ├── Resources/ │ │ │ │ ├── GOG/ │ │ │ │ │ └── library_unreleased.json │ │ │ │ ├── Serialization/ │ │ │ │ │ ├── invalid.json │ │ │ │ │ ├── invalid.toml │ │ │ │ │ ├── invalid.yaml │ │ │ │ │ ├── valid.json │ │ │ │ │ ├── valid.toml │ │ │ │ │ └── valid.yaml │ │ │ │ ├── SizeScan/ │ │ │ │ │ ├── CueNonExistingFiles.cue │ │ │ │ │ └── CueTestFiles.cue │ │ │ │ ├── TestIni.ini │ │ │ │ ├── TestIni.md5 │ │ │ │ ├── TestIni.sfv │ │ │ │ ├── TestUpdateManifest.json │ │ │ │ ├── XmlTest/ │ │ │ │ │ ├── Xml1.xaml │ │ │ │ │ ├── Xml2.xaml │ │ │ │ │ ├── Xml3.xaml │ │ │ │ │ └── Xml4.xaml │ │ │ │ └── test.m3u │ │ │ ├── SafeFileEnumeratorTests.cs │ │ │ ├── Scripting/ │ │ │ │ └── PowerShell/ │ │ │ │ └── PowerShellTests.cs │ │ │ ├── SearchViewModelTests.cs │ │ │ ├── SelectableDbItemListTests.cs │ │ │ ├── SerializationTests.cs │ │ │ ├── Settings/ │ │ │ │ └── FilterSettingsTests.cs │ │ │ ├── SettingsTests.cs │ │ │ ├── SigningToolsTests.cs │ │ │ ├── SizesTests.cs │ │ │ ├── SortableNameConverterTests.cs │ │ │ ├── StringExtensionsTests.cs │ │ │ ├── System/ │ │ │ │ ├── ComputerTests.cs │ │ │ │ └── ProcessExtensionsTests.cs │ │ │ ├── TimerTests.cs │ │ │ ├── Web/ │ │ │ │ └── HttpDownloaderTests.cs │ │ │ ├── XmlTests.cs │ │ │ ├── _TestTools/ │ │ │ │ ├── GameDbTestWrapper.cs │ │ │ │ ├── MockDialogsFactory.cs │ │ │ │ ├── MockWindowFactory.cs │ │ │ │ ├── PlayniteTests.cs │ │ │ │ ├── TestAppTools.cs │ │ │ │ ├── TestDateTimes.cs │ │ │ │ ├── TestEmulationDatabase.cs │ │ │ │ ├── TestPlayniteApplication.cs │ │ │ │ ├── TestResourceProvider.cs │ │ │ │ └── TestsSetupClass.cs │ │ │ └── packages.config │ │ ├── Playnite.Toolbox.Tests/ │ │ │ ├── ExtensionsTests.cs │ │ │ ├── PathsTests.cs │ │ │ ├── Playnite.Toolbox.Tests.csproj │ │ │ ├── Properties/ │ │ │ │ └── AssemblyInfo.cs │ │ │ ├── Resources/ │ │ │ │ └── Changelog/ │ │ │ │ ├── 1.1.0-1.2.0.txt │ │ │ │ ├── 1.2.0-1.3.0.txt │ │ │ │ └── 1.3.0-1.4.0.txt │ │ │ ├── ThemesTests.cs │ │ │ ├── app.config │ │ │ └── packages.config │ │ ├── TestApp/ │ │ │ ├── App.config │ │ │ ├── Properties/ │ │ │ │ ├── AssemblyInfo.cs │ │ │ │ ├── Resources.Designer.cs │ │ │ │ ├── Resources.resx │ │ │ │ ├── Settings.Designer.cs │ │ │ │ └── Settings.settings │ │ │ ├── TestApp.cs │ │ │ ├── TestApp.csproj │ │ │ ├── TestAppProcInfo.cs │ │ │ ├── app.manifest │ │ │ └── packages.config │ │ ├── TestGameLibrary/ │ │ │ ├── BuildCopyExclude.txt │ │ │ ├── Properties/ │ │ │ │ └── AssemblyInfo.cs │ │ │ ├── Resources/ │ │ │ │ └── icon.tga │ │ │ ├── TestGameLibrary.cs │ │ │ ├── TestGameLibrary.csproj │ │ │ └── extension.yaml │ │ ├── TestMetadataPlugin/ │ │ │ ├── Properties/ │ │ │ │ └── AssemblyInfo.cs │ │ │ ├── TestMetadataPlugin.cs │ │ │ ├── TestMetadataPlugin.csproj │ │ │ └── extension.yaml │ │ └── TestPlugin/ │ │ ├── Properties/ │ │ │ └── AssemblyInfo.cs │ │ ├── TestPlugin.cs │ │ ├── TestPlugin.csproj │ │ ├── TestPluginSettings.cs │ │ ├── TestPluginSettingsView.xaml │ │ ├── TestPluginSettingsView.xaml.cs │ │ ├── TestPluginUserControl.xaml │ │ ├── TestPluginUserControl.xaml.cs │ │ └── extension.yaml │ └── Tools/ │ ├── Playnite.Toolbox/ │ │ ├── App.config │ │ ├── CmdLineOptions.cs │ │ ├── Extensions.cs │ │ ├── NLog.config │ │ ├── Paths.cs │ │ ├── Playnite.Toolbox.csproj │ │ ├── Program.cs │ │ ├── Properties/ │ │ │ └── AssemblyInfo.cs │ │ ├── Strings.cs │ │ ├── Templates/ │ │ │ ├── Extensions/ │ │ │ │ ├── CustomLibraryPlugin/ │ │ │ │ │ ├── App.xaml │ │ │ │ │ ├── BuildInclude.txt │ │ │ │ │ ├── CustomLibraryPlugin.csproj │ │ │ │ │ ├── CustomLibraryPlugin.sln │ │ │ │ │ ├── Localization/ │ │ │ │ │ │ └── en_US.xaml │ │ │ │ │ ├── Properties/ │ │ │ │ │ │ └── AssemblyInfo.cs │ │ │ │ │ ├── _name_.cs │ │ │ │ │ ├── _name_Client.cs │ │ │ │ │ ├── _name_Settings.cs │ │ │ │ │ ├── _name_SettingsView.xaml │ │ │ │ │ ├── _name_SettingsView.xaml.cs │ │ │ │ │ ├── extension.yaml │ │ │ │ │ └── packages.config │ │ │ │ ├── CustomMetadataPlugin/ │ │ │ │ │ ├── App.xaml │ │ │ │ │ ├── BuildInclude.txt │ │ │ │ │ ├── CustomMetadataPlugin.csproj │ │ │ │ │ ├── CustomMetadataPlugin.sln │ │ │ │ │ ├── Localization/ │ │ │ │ │ │ └── en_US.xaml │ │ │ │ │ ├── Properties/ │ │ │ │ │ │ └── AssemblyInfo.cs │ │ │ │ │ ├── _name_.cs │ │ │ │ │ ├── _name_Provider.cs │ │ │ │ │ ├── _name_Settings.cs │ │ │ │ │ ├── _name_SettingsView.xaml │ │ │ │ │ ├── _name_SettingsView.xaml.cs │ │ │ │ │ ├── extension.yaml │ │ │ │ │ └── packages.config │ │ │ │ ├── GenericPlugin/ │ │ │ │ │ ├── App.xaml │ │ │ │ │ ├── BuildInclude.txt │ │ │ │ │ ├── GenericPlugin.csproj │ │ │ │ │ ├── GenericPlugin.sln │ │ │ │ │ ├── Localization/ │ │ │ │ │ │ └── en_US.xaml │ │ │ │ │ ├── Properties/ │ │ │ │ │ │ └── AssemblyInfo.cs │ │ │ │ │ ├── _name_.cs │ │ │ │ │ ├── _name_Settings.cs │ │ │ │ │ ├── _name_SettingsView.xaml │ │ │ │ │ ├── _name_SettingsView.xaml.cs │ │ │ │ │ ├── extension.yaml │ │ │ │ │ └── packages.config │ │ │ │ └── PowerShellScript/ │ │ │ │ ├── BuildInclude.txt │ │ │ │ ├── PowerShellScript.psm1 │ │ │ │ └── extension.yaml │ │ │ └── Themes/ │ │ │ ├── Changelog/ │ │ │ │ ├── 1.0.0-1.1.0.txt │ │ │ │ ├── 1.1.0-1.2.0.txt │ │ │ │ ├── 1.2.0-1.3.0.txt │ │ │ │ ├── 1.3.0-1.4.0.txt │ │ │ │ ├── 1.4.0-1.4.1.txt │ │ │ │ ├── 1.4.1-1.5.0.txt │ │ │ │ ├── 1.5.0-1.6.0.txt │ │ │ │ ├── 1.6.0-1.7.0.txt │ │ │ │ ├── 1.7.0-1.8.0.txt │ │ │ │ ├── 1.8.0-1.9.0.txt │ │ │ │ ├── 1.9.0-2.0.0.txt │ │ │ │ ├── 2.0.0-2.1.0.txt │ │ │ │ ├── 2.1.0-2.2.0.txt │ │ │ │ ├── 2.2.0-2.3.0.txt │ │ │ │ ├── 2.3.0-2.4.0.txt │ │ │ │ ├── 2.4.0-2.5.0.txt │ │ │ │ ├── 2.5.0-2.6.0.txt │ │ │ │ ├── 2.7.0-2.8.0.txt │ │ │ │ └── 2.8.0-2.9.0.txt │ │ │ ├── Desktop/ │ │ │ │ ├── Theme.csproj │ │ │ │ └── Theme.sln │ │ │ └── Fullscreen/ │ │ │ ├── Theme.csproj │ │ │ └── Theme.sln │ │ ├── Themes.cs │ │ ├── Verify.cs │ │ └── packages.config │ ├── Playnite.Utilities/ │ │ ├── App.config │ │ ├── DatParser.cs │ │ ├── Playnite.Utilities.csproj │ │ ├── Program.cs │ │ ├── Properties/ │ │ │ └── AssemblyInfo.cs │ │ └── packages.config │ └── PlayniteInstaller/ │ ├── App.config │ ├── App.xaml │ ├── App.xaml.cs │ ├── Classic.xaml │ ├── Converters.cs │ ├── Logger.cs │ ├── MainViewModel.cs │ ├── MainWindow.xaml │ ├── MainWindow.xaml.cs │ ├── PlayniteInstaller.csproj │ ├── Properties/ │ │ ├── AssemblyInfo.cs │ │ ├── Resources.Designer.cs │ │ ├── Resources.resx │ │ ├── Settings.Designer.cs │ │ └── Settings.settings │ ├── app.manifest │ └── installer_mirrors.txt └── tests/ ├── Extensions/ │ ├── Plugins/ │ │ ├── FullTestPluginDev/ │ │ │ ├── Properties/ │ │ │ │ └── AssemblyInfo.cs │ │ │ ├── TestPluginDev.cs │ │ │ ├── TestPluginDev.csproj │ │ │ ├── TestPluginDev.sln │ │ │ └── packages.config │ │ ├── FullTestPluginNuget/ │ │ │ ├── Properties/ │ │ │ │ └── AssemblyInfo.cs │ │ │ ├── TestPluginNuget.cs │ │ │ ├── TestPluginNuget.csproj │ │ │ ├── TestPluginNuget.sln │ │ │ └── packages.config │ │ └── LibraryExporter/ │ │ ├── LibraryExporter.psm1 │ │ └── plugin.info │ └── Scripts/ │ ├── FullPowerShellScript.ps1 │ └── FullPythonScript.py ├── Mapping/ │ ├── AboutWindow.ps1 │ ├── CategoryConfigWindow.ps1 │ ├── CrashHandlerWindow.ps1 │ ├── FirstTimeWizardWindow.ps1 │ ├── GameEditWindow.ps1 │ ├── InstalledGamesWindow.ps1 │ ├── MainWindow.ps1 │ ├── MetadataLookupWindow.ps1 │ ├── NotificationsWindow.ps1 │ ├── OpenFileWindow.ps1 │ ├── SettingsWindow.ps1 │ ├── SetupUninstallWindow.ps1 │ ├── SetupWindow.ps1 │ └── SystemDialog.ps1 ├── PlayniteCommon.ps1 ├── RunTests.ps1 ├── Setup/ │ └── Setup.Tests.ps1 ├── TestConfig.Template.yaml ├── TestExtensions.ps1 └── UI/ ├── CustomGames.Tests.ps1 ├── FirstTimeWizard.Tests.ps1 ├── GameEditWindow.Tests.ps1 ├── InstalledGamesImport.Tests.ps1 └── Startup.Tests.ps1