gitextract_y35wddg7/ ├── .azure-pipelines.yml ├── .chocolatey/ │ ├── eartrumpet.nuspec │ └── tools/ │ ├── LICENSE.txt │ ├── VERIFICATION.txt │ ├── chocolateybeforemodify.ps1 │ ├── chocolateyinstall.ps1 │ └── chocolateyuninstall.ps1 ├── .gitattributes ├── .github/ │ ├── FUNDING.yml │ ├── ISSUE_TEMPLATE/ │ │ ├── bug_report.yml │ │ └── config.yml │ └── workflows/ │ ├── main.yml │ ├── sponsors.yml │ └── translators.yml ├── .gitignore ├── CHANGELOG.md ├── COMPILING.md ├── CONTRIBUTING.md ├── EarTrumpet/ │ ├── Addons/ │ │ └── EarTrumpet.Actions/ │ │ ├── AddonResources.xaml │ │ ├── Controls/ │ │ │ ├── LinkedTextBlock.cs │ │ │ └── MenuButton.cs │ │ ├── DataModel/ │ │ │ ├── Enum/ │ │ │ │ ├── AudioAppEventKind.cs │ │ │ │ ├── AudioDeviceEventKind.cs │ │ │ │ ├── BoolValue.cs │ │ │ │ ├── ComparisonBoolKind.cs │ │ │ │ ├── EarTrumpetEventKind.cs │ │ │ │ ├── MuteKind.cs │ │ │ │ ├── ProcessEventKind.cs │ │ │ │ ├── ProcessStateKind.cs │ │ │ │ └── SetVolumeKind.cs │ │ │ ├── IPartWithApp.cs │ │ │ ├── IPartWithDevice.cs │ │ │ ├── IPartWithText.cs │ │ │ ├── IPartWithVolume.cs │ │ │ ├── LocalVariablesContainer.cs │ │ │ ├── Part.cs │ │ │ ├── ProcessWatcher.cs │ │ │ ├── Processing/ │ │ │ │ ├── ActionProcessor.cs │ │ │ │ ├── AudioTriggerManager.cs │ │ │ │ ├── ConditionProcessor.cs │ │ │ │ └── TriggerManager.cs │ │ │ └── Serialization/ │ │ │ ├── Actions.cs │ │ │ ├── App.cs │ │ │ ├── Conditions.cs │ │ │ ├── Device.cs │ │ │ ├── EarTrumpetAction.cs │ │ │ └── Triggers.cs │ │ ├── EarTrumpetActionsAddon.cs │ │ ├── Interop/ │ │ │ ├── Helpers/ │ │ │ │ └── WindowWatcher.cs │ │ │ └── User32.cs │ │ └── ViewModel/ │ │ ├── Actions/ │ │ │ ├── SetAppMuteActionViewModel.cs │ │ │ ├── SetAppVolumeActionViewModel.cs │ │ │ ├── SetDefaultDeviceActionViewModel.cs │ │ │ ├── SetDeviceMuteActionViewModel.cs │ │ │ ├── SetDeviceVolumeActionViewModel.cs │ │ │ └── SetVariableActionViewModel.cs │ │ ├── ActionsCategoryViewModel.cs │ │ ├── AppListViewModel.cs │ │ ├── Conditions/ │ │ │ ├── DefaultDeviceConditionViewModel.cs │ │ │ ├── ProcessConditionViewModel.cs │ │ │ └── VariableConditionViewModel.cs │ │ ├── DefaultPlaybackDeviceViewModel.cs │ │ ├── DeviceListViewModel.cs │ │ ├── DeviceViewModel.cs │ │ ├── DeviceViewModelBase.cs │ │ ├── EarTrumpetActionPageHeaderViewModel.cs │ │ ├── EarTrumpetActionViewModel.cs │ │ ├── EveryAppViewModel.cs │ │ ├── ForegroundAppViewModel.cs │ │ ├── HotkeyViewModel.cs │ │ ├── IOptionViewModel.cs │ │ ├── ImportExportPageViewModel.cs │ │ ├── Option.cs │ │ ├── OptionViewModel.cs │ │ ├── PartViewModel.cs │ │ ├── PartViewModelFactory.cs │ │ ├── TextViewModel.cs │ │ ├── Triggers/ │ │ │ ├── AppEventTriggerViewModel.cs │ │ │ ├── ContextMenuTriggerViewModel.cs │ │ │ ├── DeviceEventTriggerViewModel.cs │ │ │ ├── EventTriggerViewModel.cs │ │ │ ├── HotkeyTriggerViewModel.cs │ │ │ └── ProcessTriggerViewModel.cs │ │ └── VolumeViewModel.cs │ ├── App.config │ ├── App.manifest │ ├── App.xaml │ ├── App.xaml.cs │ ├── AppSettings.cs │ ├── BindableBase.cs │ ├── DataModel/ │ │ ├── AppInformation/ │ │ │ ├── AppInformationFactory.cs │ │ │ ├── IAppInfo.cs │ │ │ └── Internal/ │ │ │ ├── DesktopAppInfo.cs │ │ │ ├── ModernAppInfo.cs │ │ │ ├── SystemSoundsAppInfo.cs │ │ │ └── ZombieProcessException.cs │ │ ├── Audio/ │ │ │ ├── IAudioDevice.cs │ │ │ ├── IAudioDeviceManager.cs │ │ │ ├── IAudioDeviceSession.cs │ │ │ ├── IAudioDeviceSessionComparer.cs │ │ │ ├── IStreamWithVolumeControl.cs │ │ │ ├── Mocks/ │ │ │ │ ├── AudioDevice.cs │ │ │ │ └── AudioDeviceSession.cs │ │ │ └── SessionState.cs │ │ ├── FilteredCollectionChain.cs │ │ ├── ProcessWatcherService.cs │ │ ├── Storage/ │ │ │ ├── ISettingsBag.cs │ │ │ ├── Internal/ │ │ │ │ ├── NamespacedSettingsBag.cs │ │ │ │ ├── RegistrySettingsBag.cs │ │ │ │ └── WindowsStorageSettingsBag.cs │ │ │ ├── Serializer.cs │ │ │ └── StorageFactory.cs │ │ ├── SystemSettings.cs │ │ └── WindowsAudio/ │ │ ├── AudioDeviceKind.cs │ │ ├── IAudioDeviceChannel.cs │ │ ├── IAudioDeviceManagerWindowsAudio.cs │ │ ├── IAudioDeviceSessionChannel.cs │ │ ├── IAudioDeviceWindowsAudio.cs │ │ ├── Internal/ │ │ │ ├── AudioDevice.cs │ │ │ ├── AudioDeviceChannel.cs │ │ │ ├── AudioDeviceChannelCollection.cs │ │ │ ├── AudioDeviceManager.cs │ │ │ ├── AudioDeviceSession.cs │ │ │ ├── AudioDeviceSessionChannel.cs │ │ │ ├── AudioDeviceSessionChannelCollection.cs │ │ │ ├── AudioDeviceSessionChannelMultiplexer.cs │ │ │ ├── AudioDeviceSessionCollection.cs │ │ │ ├── AudioDeviceSessionGroup.cs │ │ │ ├── AudioPolicyConfigService.cs │ │ │ ├── Helpers.cs │ │ │ ├── IAudioDeviceInternal.cs │ │ │ └── IAudioDeviceSessionInternal.cs │ │ └── WindowsAudioFactory.cs │ ├── DebugHelpers.cs │ ├── Diagnosis/ │ │ ├── CircularBufferTraceListener.cs │ │ ├── ErrorReporter.cs │ │ ├── LocalDataExporter.cs │ │ └── SnapshotData.cs │ ├── EarTrumpet.csproj │ ├── Extensibility/ │ │ ├── EarTrumpetAddon.cs │ │ ├── EarTrumpetAddonManifest.cs │ │ ├── Hosting/ │ │ │ ├── AddonHost.cs │ │ │ ├── AddonManager.cs │ │ │ └── AddonResolver.cs │ │ ├── IEarTrumpetAddonAppContent.cs │ │ ├── IEarTrumpetAddonDeviceContent.cs │ │ ├── IEarTrumpetAddonEvents.cs │ │ ├── IEarTrumpetAddonNotificationAreaContextMenu.cs │ │ ├── IEarTrumpetAddonSettingsPage.cs │ │ └── Shared/ │ │ ├── PlaybackDataModelHost.cs │ │ ├── ResourceLoader.cs │ │ └── ServiceBus.cs │ ├── Extensions/ │ │ ├── CollectionExtensions.cs │ │ ├── ColorExtensions.cs │ │ ├── DependencyObjectExtensions.cs │ │ ├── EarTrumpetAddonExtensions.cs │ │ ├── EventBinding/ │ │ │ ├── EventBindingExtension.cs │ │ │ └── HandledEventBindingExtension.cs │ │ ├── ExceptionExtensions.cs │ │ ├── FloatExtensions.cs │ │ ├── FrameworkElementExtensions.cs │ │ ├── IEnumerableExtensions.cs │ │ ├── IPropertyStoreExtensions.cs │ │ ├── IconExtensions.cs │ │ ├── ListExtensions.cs │ │ ├── OperatingSystemExtensions.cs │ │ ├── RegistryKeyExtensions.cs │ │ ├── VisualExtensions.cs │ │ └── WindowExtensions.cs │ ├── Features.cs │ ├── Interop/ │ │ ├── AppBarData.cs │ │ ├── AppBarEdge.cs │ │ ├── AppBarMessage.cs │ │ ├── ApplicationResolver.cs │ │ ├── CLSCTX.cs │ │ ├── Combase.cs │ │ ├── DwmApi.cs │ │ ├── FolderIds.cs │ │ ├── GPS.cs │ │ ├── Gdi32.cs │ │ ├── HRESULT.cs │ │ ├── Helpers/ │ │ │ ├── AccentPolicyLibrary.cs │ │ │ ├── AudioPolicyConfigFactory.cs │ │ │ ├── AudioPolicyConfigFactoryImplFor21H2.cs │ │ │ ├── AudioPolicyConfigFactoryImplForDownlevel.cs │ │ │ ├── HotkeyData.cs │ │ │ ├── HotkeyManager.cs │ │ │ ├── IconHelper.cs │ │ │ ├── ImmersiveSystemColors.cs │ │ │ ├── InputHelper.cs │ │ │ ├── Kernel32Helper.cs │ │ │ ├── LegacyControlPanelHelper.cs │ │ │ ├── MouseHook.cs │ │ │ ├── PackageHelper.cs │ │ │ ├── ProcessHelper.cs │ │ │ ├── SettingsPageHelper.cs │ │ │ ├── SingleInstanceAppMutex.cs │ │ │ ├── Win32Window.cs │ │ │ ├── WindowSizeHelper.cs │ │ │ └── WindowsTaskbar.cs │ │ ├── IPropertyStore.cs │ │ ├── IShellItem.cs │ │ ├── IShellItem2.cs │ │ ├── IShellItemImageFactory.cs │ │ ├── Kernel32.cs │ │ ├── MMDeviceAPI/ │ │ │ ├── AUDIO_VOLUME_NOTIFICATION_DATA.cs │ │ │ ├── AudioSessionDisconnectReason.cs │ │ │ ├── AudioSessionState.cs │ │ │ ├── DeviceState.cs │ │ │ ├── EDataFlow.cs │ │ │ ├── ERole.cs │ │ │ ├── IAudioEndpointVolume.cs │ │ │ ├── IAudioEndpointVolumeCallback.cs │ │ │ ├── IAudioMeterInformation.cs │ │ │ ├── IAudioPolicyConfigFactory.cs │ │ │ ├── IAudioPolicyConfigFactoryVariantFor21H2.cs │ │ │ ├── IAudioPolicyConfigFactoryVariantForDownlevel.cs │ │ │ ├── IAudioSessionControl.cs │ │ │ ├── IAudioSessionControl2.cs │ │ │ ├── IAudioSessionEnumerator.cs │ │ │ ├── IAudioSessionEvents.cs │ │ │ ├── IAudioSessionManager.cs │ │ │ ├── IAudioSessionManager2.cs │ │ │ ├── IAudioSessionNotification.cs │ │ │ ├── IAudioVolumeDuckNotification.cs │ │ │ ├── IChannelAudioVolume.cs │ │ │ ├── IDeviceTopology.cs │ │ │ ├── IMMDevice.cs │ │ │ ├── IMMDeviceCollection.cs │ │ │ ├── IMMDeviceEnumerator.cs │ │ │ ├── IMMEndpoint.cs │ │ │ ├── IMMNotificationClient.cs │ │ │ ├── IPolicyConfig.cs │ │ │ ├── ISimpleAudioVolume.cs │ │ │ ├── MMDeviceEnumerator.cs │ │ │ └── PolicyConfigClient.cs │ │ ├── NotifyIconData.cs │ │ ├── Ntdll.cs │ │ ├── Ole32.cs │ │ ├── PropVariant.cs │ │ ├── PropVariantUnion.cs │ │ ├── PropertyKeys.cs │ │ ├── RECT.cs │ │ ├── SFGAO.cs │ │ ├── SICHINT.cs │ │ ├── SIGDN.cs │ │ ├── SIZE.cs │ │ ├── STGM.cs │ │ ├── SafeHandles/ │ │ │ └── HMODULE.cs │ │ ├── Shell32.cs │ │ ├── SndVolSSO.cs │ │ ├── User32.cs │ │ ├── Uxtheme.cs │ │ └── shlwapi.cs │ ├── Properties/ │ │ ├── AssemblyInfo.cs │ │ ├── Resources.Designer.cs │ │ ├── Resources.af-ZA.resx │ │ ├── Resources.ar-SA.resx │ │ ├── Resources.bs-latn-ba.resx │ │ ├── Resources.ca-ES.resx │ │ ├── Resources.cs-CZ.resx │ │ ├── Resources.da-DK.resx │ │ ├── Resources.de-DE.resx │ │ ├── Resources.el-GR.resx │ │ ├── Resources.es-ES.resx │ │ ├── Resources.fi-FI.resx │ │ ├── Resources.fr-FR.resx │ │ ├── Resources.he-IL.resx │ │ ├── Resources.hr-HR.resx │ │ ├── Resources.hu-HU.resx │ │ ├── Resources.it-IT.resx │ │ ├── Resources.ja-JP.resx │ │ ├── Resources.ko-KR.resx │ │ ├── Resources.nl-NL.resx │ │ ├── Resources.no-NO.resx │ │ ├── Resources.pl-PL.resx │ │ ├── Resources.pt-BR.resx │ │ ├── Resources.pt-PT.resx │ │ ├── Resources.resx │ │ ├── Resources.ro-RO.resx │ │ ├── Resources.ru-RU.resx │ │ ├── Resources.sl-SI.resx │ │ ├── Resources.sv-SE.resx │ │ ├── Resources.ta-IN.resx │ │ ├── Resources.th-TH.resx │ │ ├── Resources.tr-TR.resx │ │ ├── Resources.uk-UA.resx │ │ ├── Resources.vi-VN.resx │ │ ├── Resources.zh-CN.resx │ │ └── Resources.zh-TW.resx │ ├── README.md │ ├── UI/ │ │ ├── Behaviors/ │ │ │ ├── ButtonEx.cs │ │ │ ├── ComboBoxEx.cs │ │ │ ├── FrameworkElementEx.cs │ │ │ ├── ScrollViewerEx.cs │ │ │ └── TextBoxEx.cs │ │ ├── Controls/ │ │ │ ├── AppPopup.cs │ │ │ ├── ImageEx.cs │ │ │ ├── ListView.cs │ │ │ ├── ListViewItem.cs │ │ │ ├── MenuItemTemplateSelector.cs │ │ │ ├── SearchBox.xaml │ │ │ └── VolumeSlider.cs │ │ ├── Helpers/ │ │ │ ├── FlyoutViewState.cs │ │ │ ├── IAppIconSource.cs │ │ │ ├── IShellNotifyIconSource.cs │ │ │ ├── NavigationCookie.cs │ │ │ ├── RelayCommand.cs │ │ │ ├── ShellNotifyIcon.cs │ │ │ ├── SystemSoundsHelper.cs │ │ │ ├── TaskbarIconSource.cs │ │ │ ├── WindowAnimationLibrary.cs │ │ │ ├── WindowHolder.cs │ │ │ └── WindowViewState.cs │ │ ├── Mutable.xaml │ │ ├── Themes/ │ │ │ ├── AcrylicBrush.cs │ │ │ ├── Brush.cs │ │ │ ├── BrushValueParser.cs │ │ │ ├── Manager.cs │ │ │ ├── OS.cs │ │ │ ├── Options.cs │ │ │ ├── Ref.cs │ │ │ ├── Rule.cs │ │ │ └── ThemeBindingInfo.cs │ │ ├── ViewModels/ │ │ │ ├── AddonAboutPageViewModel.cs │ │ │ ├── AdvertisedCategorySettingsViewModel.cs │ │ │ ├── AppItemViewModel.cs │ │ │ ├── AudioSessionViewModel.cs │ │ │ ├── BackstackViewModel.cs │ │ │ ├── ContextMenuItem.cs │ │ │ ├── DeviceCollectionViewModel.cs │ │ │ ├── DeviceViewModel.cs │ │ │ ├── EarTrumpetAboutPageViewModel.cs │ │ │ ├── EarTrumpetCommunitySettingsPageViewModel.cs │ │ │ ├── EarTrumpetLegacySettingsPageViewModel.cs │ │ │ ├── EarTrumpetMouseSettingsPageViewModel.cs │ │ │ ├── EarTrumpetShortcutsPageViewModel.cs │ │ │ ├── FlyoutViewModel.cs │ │ │ ├── FocusedAppItemViewModel.cs │ │ │ ├── FocusedDeviceViewModel.cs │ │ │ ├── FullWindowViewModel.cs │ │ │ ├── HotkeyViewModel.cs │ │ │ ├── IAppItemViewModel.cs │ │ │ ├── IDeviceViewModel.cs │ │ │ ├── IFlyoutViewModel.cs │ │ │ ├── IFocusedViewModel.cs │ │ │ ├── IPopupHostViewModel.cs │ │ │ ├── ISettingsViewModel.cs │ │ │ ├── ModalDialogViewModel.cs │ │ │ ├── SettingsAppItemViewModel.cs │ │ │ ├── SettingsCategoryViewModel.cs │ │ │ ├── SettingsDialogViewModel.cs │ │ │ ├── SettingsPageHeaderViewModel.cs │ │ │ ├── SettingsPageViewModel.cs │ │ │ ├── SettingsSearchItemViewModel.cs │ │ │ ├── SettingsViewModel.cs │ │ │ ├── TemporaryAppItemViewModel.cs │ │ │ ├── ToolbarItemViewModel.cs │ │ │ └── WelcomeViewModel.cs │ │ └── Views/ │ │ ├── AppItemView.xaml │ │ ├── AppItemView.xaml.cs │ │ ├── DeviceView.xaml │ │ ├── DeviceView.xaml.cs │ │ ├── DialogWindow.xaml │ │ ├── DialogWindow.xaml.cs │ │ ├── FlyoutWindow.xaml │ │ ├── FlyoutWindow.xaml.cs │ │ ├── FullWindow.xaml │ │ ├── FullWindow.xaml.cs │ │ ├── SettingsWindow.xaml │ │ └── SettingsWindow.xaml.cs │ ├── packages.config │ └── prebuild.ps1 ├── EarTrumpet.ColorTool/ │ ├── App.config │ ├── App.xaml │ ├── App.xaml.cs │ ├── ColorItemViewModel.cs │ ├── ColorViewModel.cs │ ├── EarTrumpet.ColorTool.csproj │ ├── MainWindow.xaml │ ├── MainWindow.xaml.cs │ └── Properties/ │ └── AssemblyInfo.cs ├── EarTrumpet.Package/ │ ├── EarTrumpet.Package.wapproj │ ├── Package.StoreAssociation.xml │ ├── Package.appxmanifest │ └── Package.xml ├── EarTrumpet.vs15.sln ├── GitVersion.yml ├── LICENSE ├── PRIVACY.md ├── Packaging/ │ └── MicrosoftStore/ │ ├── PDPs/ │ │ ├── ar-SA/ │ │ │ └── pdp.xml │ │ ├── bs-latn-ba/ │ │ │ └── pdp.xml │ │ ├── ca-ES/ │ │ │ └── pdp.xml │ │ ├── cs-CZ/ │ │ │ └── pdp.xml │ │ ├── da-DK/ │ │ │ └── pdp.xml │ │ ├── de-DE/ │ │ │ └── pdp.xml │ │ ├── el-GR/ │ │ │ └── pdp.xml │ │ ├── en-us/ │ │ │ └── pdp.xml │ │ ├── es-ES/ │ │ │ └── pdp.xml │ │ ├── fr-FR/ │ │ │ └── pdp.xml │ │ ├── he-IL/ │ │ │ └── pdp.xml │ │ ├── hr-HR/ │ │ │ └── pdp.xml │ │ ├── hu-HU/ │ │ │ └── pdp.xml │ │ ├── it-IT/ │ │ │ └── pdp.xml │ │ ├── ja-JP/ │ │ │ └── pdp.xml │ │ ├── ko-KR/ │ │ │ └── pdp.xml │ │ ├── nl-NL/ │ │ │ └── pdp.xml │ │ ├── no-NO/ │ │ │ └── pdp.xml │ │ ├── pl-PL/ │ │ │ └── pdp.xml │ │ ├── pt-BR/ │ │ │ └── pdp.xml │ │ ├── pt-PT/ │ │ │ └── pdp.xml │ │ ├── ro-RO/ │ │ │ └── pdp.xml │ │ ├── ru-RU/ │ │ │ └── pdp.xml │ │ ├── sl-SI/ │ │ │ └── pdp.xml │ │ ├── sv-SE/ │ │ │ └── pdp.xml │ │ ├── th-TH/ │ │ │ └── pdp.xml │ │ ├── tr-TR/ │ │ │ └── pdp.xml │ │ ├── uk-UA/ │ │ │ └── pdp.xml │ │ ├── vi-VN/ │ │ │ └── pdp.xml │ │ ├── zh-CN/ │ │ │ └── pdp.xml │ │ └── zh-TW/ │ │ └── pdp.xml │ └── sbconfig.json ├── README.md └── crowdin.yml