F8 resets user to default 1.0 volume.

This commit is contained in:
Storm Dragon 2025-06-12 03:01:44 -04:00
parent fac8c8bfad
commit 4947b97b1d
4 changed files with 25 additions and 0 deletions

View File

@ -112,6 +112,9 @@ func (b *Barnard) TreeItemKeyPress(ui *uiterm.Ui, tree *uiterm.Tree, item uiterm
if key == *b.Hotkeys.VolumeUp {
b.changeVolume(makeUsersArray(treeItem.Channel.Users), 0.1)
}
if key == *b.Hotkeys.VolumeReset {
b.resetVolume(makeUsersArray(treeItem.Channel.Users))
}
}
if treeItem.User != nil {
@ -134,5 +137,8 @@ func (b *Barnard) TreeItemKeyPress(ui *uiterm.Ui, tree *uiterm.Tree, item uiterm
if key == *b.Hotkeys.VolumeUp {
b.changeVolume([]*gumble.User{treeItem.User}, 0.1)
}
if key == *b.Hotkeys.VolumeReset {
b.resetVolume([]*gumble.User{treeItem.User})
}
}
}

View File

@ -8,6 +8,7 @@ type Hotkeys struct {
Talk *uiterm.Key
VolumeDown *uiterm.Key
VolumeUp *uiterm.Key
VolumeReset *uiterm.Key
MuteToggle *uiterm.Key
Exit *uiterm.Key
ToggleTimestamps *uiterm.Key

View File

@ -68,6 +68,7 @@ func (c *Config) LoadConfig() {
Talk: key(uiterm.KeyF1),
VolumeDown: key(uiterm.KeyF5),
VolumeUp: key(uiterm.KeyF6),
VolumeReset: key(uiterm.KeyF8),
MuteToggle: key(uiterm.KeyF7), // Added mute toggle hotkey
Exit: key(uiterm.KeyF10),
ToggleTimestamps: key(uiterm.KeyF3),

View File

@ -62,6 +62,23 @@ func (b *Barnard) changeVolume(users []*gumble.User, change float32) {
b.UserConfig.SaveConfig()
}
func (b *Barnard) resetVolume(users []*gumble.User) {
for _, u := range users {
au := u.AudioSource
if au == nil {
continue
}
// Reset to original volume (1.0) and boost (1)
u.Boost = uint16(1)
u.Volume = 1.0
if !u.LocallyMuted {
au.SetGain(1.0)
}
b.UserConfig.UpdateConfig(u)
}
b.UserConfig.SaveConfig()
}
func makeUsersArray(users gumble.Users) []*gumble.User {
t := make([]*gumble.User, 0, len(users))
for _, u := range users {