Merge branch 'main' into feature/shuffle

This commit is contained in:
Siiiiinth
2026-02-12 10:08:17 +01:00
4 changed files with 33 additions and 24 deletions
+4 -4
View File
@@ -25,10 +25,10 @@ require (
github.com/supersonic-app/go-subsonic v0.0.0-20260125165421-1efaa048a150
github.com/supersonic-app/go-upnpcast v0.1.0
github.com/zalando/go-keyring v0.2.6
golang.org/x/net v0.49.0
golang.org/x/sys v0.40.0
golang.org/x/term v0.39.0
golang.org/x/text v0.33.0
golang.org/x/net v0.50.0
golang.org/x/sys v0.41.0
golang.org/x/term v0.40.0
golang.org/x/text v0.34.0
)
require (
+8 -8
View File
@@ -139,14 +139,14 @@ go.yaml.in/yaml/v3 v3.0.4 h1:tfq32ie2Jv2UxXFdLJdh3jXuOzWiL1fo0bu/FbuKpbc=
go.yaml.in/yaml/v3 v3.0.4/go.mod h1:DhzuOOF2ATzADvBadXxruRBLzYTpT36CKvDb3+aBEFg=
golang.org/x/image v0.35.0 h1:LKjiHdgMtO8z7Fh18nGY6KDcoEtVfsgLDPeLyguqb7I=
golang.org/x/image v0.35.0/go.mod h1:MwPLTVgvxSASsxdLzKrl8BRFuyqMyGhLwmC+TO1Sybk=
golang.org/x/net v0.49.0 h1:eeHFmOGUTtaaPSGNmjBKpbng9MulQsJURQUAfUwY++o=
golang.org/x/net v0.49.0/go.mod h1:/ysNB2EvaqvesRkuLAyjI1ycPZlQHM3q01F02UY/MV8=
golang.org/x/sys v0.40.0 h1:DBZZqJ2Rkml6QMQsZywtnjnnGvHza6BTfYFWY9kjEWQ=
golang.org/x/sys v0.40.0/go.mod h1:OgkHotnGiDImocRcuBABYBEXf8A9a87e/uXjp9XT3ks=
golang.org/x/term v0.39.0 h1:RclSuaJf32jOqZz74CkPA9qFuVTX7vhLlpfj/IGWlqY=
golang.org/x/term v0.39.0/go.mod h1:yxzUCTP/U+FzoxfdKmLaA0RV1WgE0VY7hXBwKtY/4ww=
golang.org/x/text v0.33.0 h1:B3njUFyqtHDUI5jMn1YIr5B0IE2U0qck04r6d4KPAxE=
golang.org/x/text v0.33.0/go.mod h1:LuMebE6+rBincTi9+xWTY8TztLzKHc/9C1uBCG27+q8=
golang.org/x/net v0.50.0 h1:ucWh9eiCGyDR3vtzso0WMQinm2Dnt8cFMuQa9K33J60=
golang.org/x/net v0.50.0/go.mod h1:UgoSli3F/pBgdJBHCTc+tp3gmrU4XswgGRgtnwWTfyM=
golang.org/x/sys v0.41.0 h1:Ivj+2Cp/ylzLiEU89QhWblYnOE9zerudt9Ftecq2C6k=
golang.org/x/sys v0.41.0/go.mod h1:OgkHotnGiDImocRcuBABYBEXf8A9a87e/uXjp9XT3ks=
golang.org/x/term v0.40.0 h1:36e4zGLqU4yhjlmxEaagx2KuYbJq3EwY8K943ZsHcvg=
golang.org/x/term v0.40.0/go.mod h1:w2P8uVp06p2iyKKuvXIm7N/y0UCRt3UfJTfZ7oOpglM=
golang.org/x/text v0.34.0 h1:oL/Qq0Kdaqxa1KbNeMKwQq0reLCCaFtqu2eNuSeNHbk=
golang.org/x/text v0.34.0/go.mod h1:homfLqTYRFyVYemLBFl5GgL/DWEiH5wcsQ5gSh1yziA=
gopkg.in/check.v1 v0.0.0-20161208181325-20d25e280405/go.mod h1:Co6ibVJAznAaIkqp8huTwlJQCZ016jof/cbN4VW5Yz0=
gopkg.in/check.v1 v1.0.0-20200227125254-8fa46927fb4f h1:BLraFXnmrev5lT+xlilqcH8XK9/i0At2xKjWk4p6zsU=
gopkg.in/check.v1 v1.0.0-20200227125254-8fa46927fb4f/go.mod h1:Co6ibVJAznAaIkqp8huTwlJQCZ016jof/cbN4VW5Yz0=
+14 -12
View File
@@ -111,15 +111,8 @@ func main() {
myApp.OnReactivate = util.FyneDoFunc(mainWindow.Show)
myApp.OnExit = util.FyneDoFunc(mainWindow.Quit)
windowStartupTasks := sync.OnceFunc(func() {
defaultServer := myApp.ServerManager.GetDefaultServer()
if defaultServer == nil {
mainWindow.Controller.PromptForFirstServer()
} else if !*backend.FlagStartMinimized { // If the minimized start flag was passed, the connection is already established.
mainWindow.Controller.DoConnectToServerWorkflow(defaultServer)
}
if runtime.GOOS == "windows" {
if runtime.GOOS == "windows" {
windowStartupTasks := sync.OnceFunc(func() {
mainWindow.Window.(driver.NativeWindow).RunNative(func(ctx any) {
hwnd := ctx.(driver.WindowsWindowContext).HWND
if myApp.Config.Application.EnableOSMediaPlayerAPIs {
@@ -127,9 +120,9 @@ func main() {
}
myApp.SetupWindowsTaskbarButtons(hwnd)
})
}
})
fyneApp.Lifecycle().SetOnEnteredForeground(windowStartupTasks)
})
fyneApp.Lifecycle().SetOnEnteredForeground(windowStartupTasks)
}
if *backend.FlagStartMinimized {
if err = myApp.LoginToDefaultServer(); err != nil {
@@ -138,6 +131,15 @@ func main() {
}
fyneApp.Run()
} else {
fyneApp.Lifecycle().SetOnStarted(func() {
defaultServer := myApp.ServerManager.GetDefaultServer()
if defaultServer == nil {
mainWindow.Controller.PromptForFirstServer()
} else if !*backend.FlagStartMinimized { // If the minimized start flag was passed, the connection is already established.
mainWindow.Controller.DoConnectToServerWorkflow(defaultServer)
}
})
mainWindow.ShowAndRun()
}
+7
View File
@@ -481,6 +481,13 @@ func (s *SettingsDialog) createPlaybackTab(isLocalPlayer, isReplayGainPlayer boo
}
func (s *SettingsDialog) createEqualizerTab(eqBands []string) *container.TabItem {
// Ensure GraphicEqualizerBands matches the expected number of bands
if len(s.config.LocalPlayback.GraphicEqualizerBands) != len(eqBands) {
newBands := make([]float64, len(eqBands))
copy(newBands, s.config.LocalPlayback.GraphicEqualizerBands)
s.config.LocalPlayback.GraphicEqualizerBands = newBands
}
enabled := widget.NewCheck(lang.L("Enabled"), func(b bool) {
s.config.LocalPlayback.EqualizerEnabled = b
if s.OnEqualizerSettingsChanged != nil {