Skip to content

Add "Enable Audio Ducking" checkbox - #1914

Merged
ddennedy merged 4 commits into
masterfrom
duck_enable
Sep 22, 2026
Merged

ddennedy merged 4 commits into
masterfrom
duck_enable

Conversation

@bmatherly

Copy link
Copy Markdown
Member

This change mostly reverts a4be7ad

Instead, it adds a checkbox to enable/disable the feature. When disabled, the ducking controls are disabled.

Disabled:
image

Enabled:
image

I don't feel strongly about this change. But there were enough comments from the beta that I thought it was worth responding.

This change mostly reverts a4be7ad

Instead, it adds a checkbox to enable/disable the feature.
When disabled, the ducking controls are disabled.

@ddennedy ddennedy left a comment

Copy link
Copy Markdown
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Ugh, I just noticed that some field names are capitalized all words. Again, see our UI conventions.

I inclined to prefer this because the current approach with OFF and need to slide to turn it off is unconventional. However, as an additional row it looks awkwardly placed and redundant. How about a checkbox at the start of the heading?

☑️ Automatic Audio Ducking

You can ignore the build failures as Debian unstable being unstable.

@bmatherly

Copy link
Copy Markdown
Member Author

I just noticed that some field names are capitalized all words.

Good catch! I don't know if I will ever get that right :(

How about a checkbox at the start of the heading?

Good idea. I kind of like that.

image image

Copilot AI left a comment

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Copilot review overview

🟡 Changes recommended

Threshold state synchronization and legacy shadow persistence issues remain unresolved.

Get a fresh assessment by requesting another Copilot review.

Review effort: Lite
Findings: 3 Medium severity · 1 Low severity

Open (4)
What changed in this PR

Adds an opt-in audio-ducking checkbox, shadow threshold handling, undo support, and simplified spinner behavior.

Changes:

  • Adds checkbox-controlled ducking UI and threshold synchronization.
  • Adds duck-threshold undo/redo handling.
  • Removes obsolete spinner override functionality.
File Summary
src/​widgets/​trackpropertieswidget.ui Adds the ducking checkbox and updates threshold defaults.
src/​widgets/​trackpropertieswidget.h Declares ducking state handlers.
src/​widgets/​trackpropertieswidget.cpp Implements checkbox behavior and shadow values. Findings: two moderate issues involving zero-threshold state synchronization and legacy shadow persistence.
src/​widgets/​doublesliderspinner.h Removes obsolete override properties.
src/​widgets/​doublesliderspinner.cpp Simplifies spinner implementation.
src/​commands/​timelinecommands.h Adds duck-threshold command declarations.
src/​commands/​timelinecommands.cpp Implements threshold undo/redo behavior. Findings: one moderate legacy shadow fallback issue and one nit about missing debug logging.

💡 Add a code-review agent skill or configure MCP servers for context-aware, tailored reviews. Learn more in the docs.

Comment thread src/commands/timelinecommands.cpp Outdated
Comment thread src/widgets/trackpropertieswidget.cpp Outdated
Comment thread src/widgets/trackpropertieswidget.cpp
Comment thread src/commands/timelinecommands.cpp
Improve the synchronization of "threshold" and "enabled" since
they share an underlying threshold property.

Ensure that the shadow properties are always set by the constructor
so there is no need for special handling of the properties being
missing
@ddennedy
ddennedy merged commit 5e6c353 into master Sep 22, 2026
4 checks passed
@ddennedy
ddennedy deleted the duck_enable branch September 22, 2026 03:14
@ddennedy ddennedy added this to the v26.9 milestone Sep 22, 2026
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

3 participants