Synchronize connection-owned stream access
This commit is contained in:
committed by
Brandon McGinty
parent
f0aa5ff35a
commit
e9ba7f580a
+35
-32
@@ -3,6 +3,7 @@ package main
|
||||
import (
|
||||
"fmt"
|
||||
"git.stormux.org/storm/barnard/gumble/gumble"
|
||||
"git.stormux.org/storm/barnard/gumble/gumbleopenal"
|
||||
"git.stormux.org/storm/barnard/uiterm"
|
||||
"sort"
|
||||
)
|
||||
@@ -37,44 +38,46 @@ func (ti TreeItem) TreeItemStyle(fg, bg uiterm.Attribute, active bool) (uiterm.A
|
||||
}
|
||||
|
||||
func (b *Barnard) changeVolume(users []*gumble.User, change float32) {
|
||||
for _, u := range users {
|
||||
if b.Stream == nil {
|
||||
continue
|
||||
b.withStream(func(stream *gumbleopenal.Stream) {
|
||||
for _, u := range users {
|
||||
var boost uint16
|
||||
var ng float32
|
||||
curboost := float32((u.Boost() - 1)) / 10
|
||||
ng = u.Volume() + curboost + change
|
||||
boost = uint16(1)
|
||||
if ng > 1.0 {
|
||||
perc := uint16((ng * 10)) - 10
|
||||
perc += 1
|
||||
boost = perc
|
||||
ng = 1.0
|
||||
}
|
||||
if ng < 0 {
|
||||
ng = 0.0
|
||||
}
|
||||
u.SetBoost(boost)
|
||||
u.SetVolume(ng)
|
||||
stream.UpdateUserGain(u)
|
||||
b.UserConfig.UpdateConfig(u)
|
||||
}
|
||||
var boost uint16
|
||||
var ng float32
|
||||
curboost := float32((u.Boost() - 1)) / 10
|
||||
ng = u.Volume() + curboost + change
|
||||
boost = uint16(1)
|
||||
if ng > 1.0 {
|
||||
perc := uint16((ng * 10)) - 10
|
||||
perc += 1
|
||||
boost = perc
|
||||
ng = 1.0
|
||||
if err := b.UserConfig.SaveConfig(); err != nil {
|
||||
b.AddOutputLine("Volume: could not save setting: " + err.Error())
|
||||
}
|
||||
if ng < 0 {
|
||||
ng = 0.0
|
||||
}
|
||||
u.SetBoost(boost)
|
||||
u.SetVolume(ng)
|
||||
b.Stream.UpdateUserGain(u)
|
||||
b.UserConfig.UpdateConfig(u)
|
||||
}
|
||||
b.UserConfig.SaveConfig()
|
||||
})
|
||||
}
|
||||
|
||||
func (b *Barnard) resetVolume(users []*gumble.User) {
|
||||
for _, u := range users {
|
||||
if b.Stream == nil {
|
||||
continue
|
||||
b.withStream(func(stream *gumbleopenal.Stream) {
|
||||
for _, u := range users {
|
||||
// Reset to original volume (1.0) and boost (1)
|
||||
u.SetBoost(uint16(1))
|
||||
u.SetVolume(1.0)
|
||||
stream.UpdateUserGain(u)
|
||||
b.UserConfig.UpdateConfig(u)
|
||||
}
|
||||
// Reset to original volume (1.0) and boost (1)
|
||||
u.SetBoost(uint16(1))
|
||||
u.SetVolume(1.0)
|
||||
b.Stream.UpdateUserGain(u)
|
||||
b.UserConfig.UpdateConfig(u)
|
||||
}
|
||||
b.UserConfig.SaveConfig()
|
||||
if err := b.UserConfig.SaveConfig(); err != nil {
|
||||
b.AddOutputLine("Volume: could not save setting: " + err.Error())
|
||||
}
|
||||
})
|
||||
}
|
||||
|
||||
func makeUsersArray(users gumble.Users) []*gumble.User {
|
||||
|
||||
Reference in New Issue
Block a user