feat: replace mute-while-recording with configurable audio ducking#547
feat: replace mute-while-recording with configurable audio ducking#547prayzey wants to merge 7 commits intocjpais:mainfrom
Conversation
Adds flexible volume reduction during recording instead of binary mute. Users can now choose reduction amount from 0% (no change) to 100% (full mute). - Add volume_control.rs with native APIs (CoreAudio/Windows COM/Linux CLI) - New settings: audio_ducking_enabled, audio_ducking_amount - Auto-migrate existing mute_while_recording users - Add AudioDucking.tsx settings component - Linux: preserve boosted volumes above 100% (PipeWire/PulseAudio)
- Remove dead MuteWhileRecording.tsx component - Redirect legacy mute_while_recording API to new ducking system - Rename did_mute to did_duck for code clarity - Add audioDucking translations for all 9 locales
If the app crashes while volume is ducked, the original volume is now persisted to a temp file and restored on next startup.
- Fix cancel_recording not restoring volume in always-on mode - Preserve original volume state if restore fails (allows retry) - Only persist recovery file after successful volume change
If a previous volume restore failed, attempt to restore again when starting a new recording instead of dropping the retry.
|
I think we're gonna need some solid validation of this before it gets pulled in. Mainly we've gone through a few iterations of this mute implementation before settling on what we have currently, and I would prefer not to break things, if possible. I will definitely round up the testers for this in a little bit. It's gonna probably take me a while because I wanna review the code before I even pull people in. Can you also let me know is this something that was written with assistance of AI or not? |
|
Thanks for the thorough note, and yes, it was written with the assistance of AI. |
|
@prayzey they are tracked on github PRs and Issues if you search you'll be able to find at least a few "mute" |
|
I just added this related issue: #660 |
Summary
Test plan