godotengine / godotengine/godot
AudioServer.set_bus_mute() does not update the "Mute" button of the bus in the Audio Dock
- Dominant language
- C++
- Stars
- 117k
- Forks
- 26.8k
- PR merge metrics
- PR metrics pending
Description
### Tested versions
- Reproducible in: v4.7.1.stable.official [a13da4feb], v4.7.stable.official [5b4e0cb0f], v4.8.dev2.official [7220d456d], v4.6.3.stable.official [7d41c59c4]
### System information
Godot v4.8.dev2 - Fedora Linux 44 (KDE Plasma Desktop Edition) on Wayland - X11 display driver, Multi-window, 1 monitor - OpenGL 3 (Compatibility) - AMD Radeon RX Graphics (radeonsi, polaris11, ACO, DRM 3.64, 7.1.4-204.fc44.x86_64) - Intel(R) Core(TM) i5-7400 CPU @ 3.00GHz (4 threads) - 7.64 GiB memory - PulseAudio (48000 Hz, Stereo/mono)
### Issue description
When
```gdscript
AudioServer.set_bus_mute(bus_idx, true)
```
is called it does not update the "Mute" button of the bus in the Audio Dock.
I am calling this function from a plugin I am working on.
To make the bus appear as muted in the Audio Dock I have to click the button that loads the default bus layout, I expected for it to update without having to load the bus layout again.
### Steps to reproduce
On v4.8.dev2.official [7220d456d]
1. Look at the "Output" Dock to see that "AudioServer.is_bus_mute(1) == true"
2. Open the "Audio" Dock
3. Look at the "Example" bus, it does not look like it is muted
4. Click the 3 dots in the "Audio" Dock
5. Click the "Load Default Layout"
6. The "Example" bus should be mute now
7. Check res://addons/plugin/plugin.gd for more info.
### Minimal reproduction project (MRP)
[mrp.zip](https://github.com/user-attachments/files/30581393/mrp.zip)
Contributor guide
Research direction
Start with the minimal reproduction project and inspect res://addons/plugin/plugin.gd, comparing AudioServer.is_bus_mute() with the Audio Dock's displayed state. Trace how the Audio Dock updates its bus controls after loading the default layout. Done means AudioServer.set_bus_mute(bus_idx, true) updates the bus's Mute button without reloading the layout.
Written by the indexing model from the issue text.
Assessment
- Tech stack
- cpp
- Domain
- game-dev, tooling
- Issue type
- Bug
- Difficulty
- 3/5
- Estimated time
- 1-2 days
- Activity status
- Quiet
- Clarity
- Mostly clear
- Newbie friendliness
- 55/100