Release notes / the useful bits
Changelog
New controls, smoother corners, and the small fixes that make BetterTrumpet nicer to live with in the tray.
Per-app volume rules
- Set a volume when an app starts — BetterTrumpet applies it once at launch and then stays out of your way.
- Lock an app to a volume and BetterTrumpet will put it back when Windows or the app changes it.
- Hard mute and volume rules now live in the same app rule, work together, and are editable from the flyout or Settings.
- Existing hard-mute data and older settings exports are migrated instead of being thrown away.
Media popup
- Less twitchy hover: the popup now gets out of the way when the flyout opens, waits longer before closing, and tolerates a wider mouse gap around the edge.
- When several media apps are around, an actively playing session gets priority over a paused one.
- Artwork cache is refreshed when Windows switches the active media session, cutting down on stale thumbnails.
CLI and reliability fixes
- Device names, app names, help text, and JSON output no longer mangle Unicode through the CLI or named pipe.
- Microsoft Store installs no longer show or initialize the GitHub/Inno updater. GitHub, Chocolatey, and Winget installs keep the normal updater.
- Peak meters are now centered in Dotted, Blocks, Bars, and Wave styles (contributed by @DARKFiB3R in PR #26).
- The app, CLI, installer, and packages all agree that this is 3.2.1.
Thank you for 8,000 downloads. Big thanks to @vertigo220 for the detailed reports and to @DARKFiB3R for the peak-meter fix.
View release on GitHub ↗Media popup
- The popup now uses the same translucent acrylic treatment as the main flyout.
- The timeline interpolates between Windows updates, so playback feels smooth and seeking works with both clicks and drags.
- Volume changes now affect the app that owns the active media session, not every app at once.
- Track, artwork, accent, and expand/collapse transitions are smoother and skip the old first-use stall.
- An optional setting lets you open the popup while media is paused, ready for a quick resume.
- Compact Phosphor Bold icons and clearer chevrons make the controls easier to scan.
Audio controls
- Volume tick feedback can now be disabled, is fully localized, and survives settings export/import.
- Hard mute can stick with an app whenever its audio session comes back, even after a relaunch or reboot.
- Separate monitored inputs stay separate when Windows exposes them as distinct session groups.
- Mute, solo, hide, and app entrance feedback all got a smoother pass.
Tray and reliability
- Tray menus are easier to scan, localized, and a little more acrylic.
- Tray initialization and launch-at-startup handling are more dependable on .NET 8.
- Troubleshooting and crash bundles now include more useful recent support context.
View release on GitHub ↗What changed
- The in-app startup setting now writes BetterTrumpet.exe instead of BetterTrumpet.dll.
- Onboarding and settings now find the real running process before updating the Windows startup entry.
- The installer was already fine, so its executable path stays unchanged.
Already hit it? Install 3.1.1, then toggle “Launch at startup” off and on once. That repairs the entry.
View release on GitHub ↗Under the hood
- Moved BetterTrumpet to .NET 8 while keeping the existing x86 desktop workflow intact.
- Brought installer, portable, Chocolatey, Winget, and Microsoft Store packaging into the same 3.1 release line.
First run and privacy
- The first run now goes straight through audio setup, appearance, privacy, readiness, and tray pinning.
- Telemetry choices explain what diagnostics are for and ask for a clear confirmation when disabled.
- You can pick the system look or BetterTrumpet palette during onboarding.
QuickTrumpet and the CLI
- QuickTrumpet presets can now be saved, previewed, created, and applied as reusable audio setups.
- Automation gets app resolution, rule previews, batch execution, preset helpers, and friendlier aliases.
- Scripts and shortcuts can mute, unmute, or toggle a specific app.
Mixer polish
- Theme fallbacks, slider motion, optional volume ticks, peak meters, and session animations all got a tune-up.
- Early tray startup is sturdier, and support/crash reports now include zipped diagnostic bundles.
- The changelog window is more reliable with localized copy and cleaned-up resources.
View release on GitHub ↗Startup cleanup
- Fixed the first-launch backdrop issue that used to send you on a detour through settings.
- Theme initialization is calmer now, with fewer flyout flashes at startup.
- Device loading happens in the background, so the tray appears sooner.
Devices and UI
- Right-click a device to hide it individually.
- Device header actions and the quick default-device switch are easier to reach.
- Hidden devices and context menus behave more consistently.
CLI
- bt doctor gives you a quick audio checkup, while bt batch chains commands together.
- Shorthand aliases make common app volume and mute actions quicker to type.
View release on GitHub ↗Under the hood
- Reduced overhead through a focused internal optimization pass.
View release on GitHub ↗Performance
- Album artwork is fetched once and cached instead of being requested three times on every track change.
- Album-art theme updates react to real track changes instead of polling continuously.
- Tray animation work, legacy player polling, and hot-path trace logging are all a little lighter.
Fixes
- Fixed peak-meter frame limiting so meters feel smooth again.
- Large device lists now stay inside the screen instead of making the flyout disappear.
- Hidden apps can be restored one at a time, and closing after solo no longer re-mutes the selected app.
Controls
- Middle-click an app icon to hide it instantly.
- Ctrl-click an app row to toggle solo on and off.
- App icon tooltips can be switched on or off from classic settings.
View release on GitHub ↗What changed
- The legacy icon option now displays the Windows system speaker icon as intended.
- Tray animation starts and stops correctly when the legacy icon setting changes during playback.
- Alt+Tab and taskbar surfaces now use the BetterTrumpet logo instead of the old EarTrumpet icon.
View release on GitHub ↗