161 files changed
- .chocolatey/logo.png——
- .chocolatey/tools/chocolateyinstall.ps1+1−1
- .chocolatey/tools/chocolateyuninstall.ps1+1−1
- .github/workflows/main.yml+7−3
- CHANGELOG.md+6−0
- EarTrumpet.Package/Package.appxmanifest+1−1
- EarTrumpet/Addons/EarTrumpet.Actions/AddonResources.xaml+559−0
- EarTrumpet/Addons/EarTrumpet.Actions/Controls/LinkedTextBlock.cs
+210
−0
EarTrumpet/Addons/EarTrumpet.Actions/Controls/MenuButton.cs+27−0EarTrumpet/Addons/EarTrumpet.Actions/DataModel/Enum/AudioAppEventKind.cs+12−0EarTrumpet/Addons/EarTrumpet.Actions/DataModel/Enum/AudioDeviceEventKind.cs+10−0EarTrumpet/Addons/EarTrumpet.Actions/DataModel/Enum/BoolValue.cs+8−0EarTrumpet/Addons/EarTrumpet.Actions/DataModel/Enum/ComparisonBoolKind.cs+8−0EarTrumpet/Addons/EarTrumpet.Actions/DataModel/Enum/EarTrumpetEventKind.cs+8−0EarTrumpet/Addons/EarTrumpet.Actions/DataModel/Enum/MuteKind.cs+9−0EarTrumpet/Addons/EarTrumpet.Actions/DataModel/Enum/ProcessEventKind.cs+8−0EarTrumpet/Addons/EarTrumpet.Actions/DataModel/Enum/ProcessStateKind.cs+8−0EarTrumpet/Addons/EarTrumpet.Actions/DataModel/Enum/SetVolumeKind.cs+9−0EarTrumpet/Addons/EarTrumpet.Actions/DataModel/IPartWithApp.cs+9−0EarTrumpet/Addons/EarTrumpet.Actions/DataModel/IPartWithDevice.cs+9−0EarTrumpet/Addons/EarTrumpet.Actions/DataModel/IPartWithText.cs+7−0EarTrumpet/Addons/EarTrumpet.Actions/DataModel/IPartWithVolume.cs+7−0EarTrumpet/Addons/EarTrumpet.Actions/DataModel/LocalVariablesContainer.cs+21−0EarTrumpet/Addons/EarTrumpet.Actions/DataModel/Part.cs+4−0EarTrumpet/Addons/EarTrumpet.Actions/DataModel/ProcessWatcher.cs+150−0EarTrumpet/Addons/EarTrumpet.Actions/DataModel/Processing/ActionProcessor.cs+197−0EarTrumpet/Addons/EarTrumpet.Actions/DataModel/Processing/AudioTriggerManager.cs+168−0EarTrumpet/Addons/EarTrumpet.Actions/DataModel/Processing/ConditionProcessor.cs+47−0EarTrumpet/Addons/EarTrumpet.Actions/DataModel/Processing/TriggerManager.cs+91−0EarTrumpet/Addons/EarTrumpet.Actions/DataModel/Serialization/Actions.cs+52−0EarTrumpet/Addons/EarTrumpet.Actions/DataModel/Serialization/App.cs+20−0EarTrumpet/Addons/EarTrumpet.Actions/DataModel/Serialization/Conditions.cs+28−0EarTrumpet/Addons/EarTrumpet.Actions/DataModel/Serialization/Device.cs+19−0EarTrumpet/Addons/EarTrumpet.Actions/DataModel/Serialization/EarTrumpetAction.cs+14−0EarTrumpet/Addons/EarTrumpet.Actions/DataModel/Serialization/Triggers.cs+45−0EarTrumpet/Addons/EarTrumpet.Actions/EarTrumpetActionsAddon.cs+128−0EarTrumpet/Addons/EarTrumpet.Actions/Interop/Helpers/WindowWatcher.cs+41−0EarTrumpet/Addons/EarTrumpet.Actions/Interop/User32.cs+19−0EarTrumpet/Addons/EarTrumpet.Actions/ViewModel/Actions/SetAppMuteActionViewModel.cs+26−0EarTrumpet/Addons/EarTrumpet.Actions/ViewModel/Actions/SetAppVolumeActionViewModel.cs+45−0EarTrumpet/Addons/EarTrumpet.Actions/ViewModel/Actions/SetDefaultDeviceActionViewModel.cs+15−0EarTrumpet/Addons/EarTrumpet.Actions/ViewModel/Actions/SetDeviceMuteActionViewModel.cs+37−0EarTrumpet/Addons/EarTrumpet.Actions/ViewModel/Actions/SetDeviceVolumeActionViewModel.cs+41−0EarTrumpet/Addons/EarTrumpet.Actions/ViewModel/Actions/SetVariableActionViewModel.cs+19−0EarTrumpet/Addons/EarTrumpet.Actions/ViewModel/ActionsCategoryViewModel.cs+115−0EarTrumpet/Addons/EarTrumpet.Actions/ViewModel/AppListViewModel.cs+79−0EarTrumpet/Addons/EarTrumpet.Actions/ViewModel/Conditions/DefaultDeviceConditionViewModel.cs+20−0EarTrumpet/Addons/EarTrumpet.Actions/ViewModel/Conditions/ProcessConditionViewModel.cs+20−0EarTrumpet/Addons/EarTrumpet.Actions/ViewModel/Conditions/VariableConditionViewModel.cs+19−0EarTrumpet/Addons/EarTrumpet.Actions/ViewModel/DefaultPlaybackDeviceViewModel.cs+14−0EarTrumpet/Addons/EarTrumpet.Actions/ViewModel/DeviceListViewModel.cs+81−0EarTrumpet/Addons/EarTrumpet.Actions/ViewModel/DeviceViewModel.cs+29−0EarTrumpet/Addons/EarTrumpet.Actions/ViewModel/DeviceViewModelBase.cs+11−0EarTrumpet/Addons/EarTrumpet.Actions/ViewModel/EarTrumpetActionPageHeaderViewModel.cs+25−0EarTrumpet/Addons/EarTrumpet.Actions/ViewModel/EarTrumpetActionViewModel.cs+230−0EarTrumpet/Addons/EarTrumpet.Actions/ViewModel/EveryAppViewModel.cs+14−0EarTrumpet/Addons/EarTrumpet.Actions/ViewModel/ForegroundAppViewModel.cs+14−0EarTrumpet/Addons/EarTrumpet.Actions/ViewModel/HotkeyViewModel.cs+45−0EarTrumpet/Addons/EarTrumpet.Actions/ViewModel/IOptionViewModel.cs+10−0EarTrumpet/Addons/EarTrumpet.Actions/ViewModel/ImportExportPageViewModel.cs+69−0EarTrumpet/Addons/EarTrumpet.Actions/ViewModel/Option.cs+21−0EarTrumpet/Addons/EarTrumpet.Actions/ViewModel/OptionViewModel.cs+58−0EarTrumpet/Addons/EarTrumpet.Actions/ViewModel/PartViewModel.cs+80−0EarTrumpet/Addons/EarTrumpet.Actions/ViewModel/PartViewModelFactory.cs+53−0EarTrumpet/Addons/EarTrumpet.Actions/ViewModel/TextViewModel.cs+50−0EarTrumpet/Addons/EarTrumpet.Actions/ViewModel/Triggers/AppEventTriggerViewModel.cs+24−0EarTrumpet/Addons/EarTrumpet.Actions/ViewModel/Triggers/ContextMenuTriggerViewModel.cs+9−0EarTrumpet/Addons/EarTrumpet.Actions/ViewModel/Triggers/DeviceEventTriggerViewModel.cs+20−0EarTrumpet/Addons/EarTrumpet.Actions/ViewModel/Triggers/EventTriggerViewModel.cs+15−0EarTrumpet/Addons/EarTrumpet.Actions/ViewModel/Triggers/HotkeyTriggerViewModel.cs+19−0EarTrumpet/Addons/EarTrumpet.Actions/ViewModel/Triggers/ProcessTriggerViewModel.cs+19−0EarTrumpet/Addons/EarTrumpet.Actions/ViewModel/VolumeViewModel.cs+28−0EarTrumpet/App.xaml+4−0EarTrumpet/App.xaml.cs+34−18EarTrumpet/AppSettings.cs+0−1EarTrumpet/DataModel/AppInformation/AppInformationFactory.cs+1−2EarTrumpet/DataModel/Storage/Internal/WindowsStorageSettingsBag.cs+5−0EarTrumpet/DebugHelpers.cs+2−2EarTrumpet/EarTrumpet.csproj+93−14EarTrumpet/Extensibility/AddonInfo.cs+0−13EarTrumpet/Extensibility/EarTrumpetAddon.cs+43−0EarTrumpet/Extensibility/EarTrumpetAddonManifest.cs+10−0EarTrumpet/Extensibility/Hosting/AddonHost.cs+8−13EarTrumpet/Extensibility/Hosting/AddonManager.cs+41−35EarTrumpet/Extensibility/Hosting/AddonResolver.cs+43−18EarTrumpet/Extensibility/IAddonContextMenu.cs+0−10EarTrumpet/Extensibility/IAddonLifecycle.cs+0−16EarTrumpet/Extensibility/IAddonSettingsPage.cs+0−9EarTrumpet/Extensibility/{IAddonAppContent.cs => IEarTrumpetAddonAppContent.cs}+2−2EarTrumpet/Extensibility/{IAddonDeviceContent.cs => IEarTrumpetAddonDeviceContent.cs}+2−2EarTrumpet/Extensibility/IEarTrumpetAddonEvents.cs+14−0EarTrumpet/Extensibility/IEarTrumpetAddonNotificationAreaContextMenu.cs+10−0EarTrumpet/Extensibility/IEarTrumpetAddonSettingsPage.cs+9−0EarTrumpet/Extensibility/Shared/PlaybackDataModelHost.cs+100−0EarTrumpet/Extensibility/Shared/ResourceLoader.cs+34−0EarTrumpet/Extensions/EarTrumpetAddonExtensions.cs+13−0EarTrumpet/Extensions/OperatingSystemExtensions.cs+7−0EarTrumpet/Extensions/WindowExtensions.cs+9−0EarTrumpet/Interop/DwmApi.cs+9−0EarTrumpet/Interop/Helpers/AccentPolicyLibrary.cs+1−1EarTrumpet/Interop/Helpers/AudioPolicyConfigFactory.cs+11−4EarTrumpet/Interop/Helpers/AudioPolicyConfigFactoryImplFor21H2.cs+32−0EarTrumpet/Interop/Helpers/AudioPolicyConfigFactoryImplForDownlevel.cs+32−0EarTrumpet/Interop/Helpers/PackageHelper.cs+17−0EarTrumpet/Interop/MMDeviceAPI/IAudioPolicyConfigFactory.cs+1−26EarTrumpet/Interop/MMDeviceAPI/IAudioPolicyConfigFactoryVariantFor21H2.cs+36−0EarTrumpet/Interop/MMDeviceAPI/IAudioPolicyConfigFactoryVariantForDownlevel.cs+36−0EarTrumpet/Interop/User32.cs+3−2EarTrumpet/Properties/Resources.Designer.cs+1144−118EarTrumpet/Properties/{Resources.it.resx => Resources.af-ZA.resx}+60−60EarTrumpet/Properties/Resources.ar-SA.resx+643−0EarTrumpet/Properties/Resources.cs-CZ.resx+643−0EarTrumpet/Properties/Resources.es-ES.resx+643−0EarTrumpet/Properties/Resources.hu-HU.resx+299−0EarTrumpet/Properties/Resources.it-IT.resx+643−0EarTrumpet/Properties/Resources.no-NO.resx+643−0EarTrumpet/Properties/Resources.pl-PL.resx+371−27EarTrumpet/Properties/Resources.pt-BR.resx+344−0EarTrumpet/Properties/Resources.resx+344−0EarTrumpet/Properties/Resources.ru-RU.resx+299−0EarTrumpet/Properties/Resources.sl-SI.resx+299−0EarTrumpet/Properties/Resources.sv-SE.resx+354−10EarTrumpet/Properties/Resources.ta-IN.resx+299−0EarTrumpet/Properties/Resources.tr-TR.resx+299−0EarTrumpet/Properties/Resources.zh-CN.resx+350−6EarTrumpet/Properties/Resources.zh-TW.resx+373−29EarTrumpet/README.md+3−0EarTrumpet/UI/Controls/ImageEx.cs+1−1EarTrumpet/UI/Helpers/TaskbarIconSource.cs+4−0EarTrumpet/UI/Themes/AcrylicBrush.cs+68−4EarTrumpet/UI/Themes/OS.cs+14−0EarTrumpet/UI/ViewModels/AddonAboutPageViewModel.cs+8−10EarTrumpet/UI/ViewModels/DeviceViewModel.cs+18−4EarTrumpet/UI/ViewModels/EarTrumpetAboutPageViewModel.cs+2−2EarTrumpet/UI/ViewModels/FocusedAppItemViewModel.cs+1−1EarTrumpet/UI/ViewModels/FocusedDeviceViewModel.cs+1−1EarTrumpet/UI/Views/DeviceView.xaml+12−0EarTrumpet/UI/Views/DeviceView.xaml.cs+4−0EarTrumpet/UI/Views/FlyoutWindow.xaml+20−0EarTrumpet/UI/Views/FlyoutWindow.xaml.cs+17−6EarTrumpet/UI/Views/FullWindow.xaml+35−0EarTrumpet/UI/Views/FullWindow.xaml.cs+6−1EarTrumpet/UI/Views/SettingsWindow.xaml+39−4EarTrumpet/UI/Views/SettingsWindow.xaml.cs+6−1Packaging/MicrosoftStore/PDPs/ar-SA/pdp.xml+41−0Packaging/MicrosoftStore/PDPs/cs-CZ/pdp.xml+41−0Packaging/MicrosoftStore/PDPs/de-DE/pdp.xml+41−0Packaging/MicrosoftStore/PDPs/es-ES/pdp.xml+41−0Packaging/MicrosoftStore/PDPs/hu-HU/pdp.xml+41−0Packaging/MicrosoftStore/PDPs/it-IT/pdp.xml+41−0Packaging/MicrosoftStore/PDPs/no-NO/pdp.xml+41−0Packaging/MicrosoftStore/PDPs/pl-PL/pdp.xml+41−0Packaging/MicrosoftStore/PDPs/pt-BR/pdp.xml+41−0Packaging/MicrosoftStore/PDPs/ro-RO/pdp.xml+41−0Packaging/MicrosoftStore/PDPs/ru-RU/pdp.xml+41−0Packaging/MicrosoftStore/PDPs/sv-SE/pdp.xml+41−0Packaging/MicrosoftStore/PDPs/tr-TR/pdp.xml+41−0Packaging/MicrosoftStore/PDPs/zh-CN/pdp.xml+41−0Packaging/MicrosoftStore/PDPs/zh-TW/pdp.xml+41−0README.md+3−2crowdin.yml+13−0