Merge branch 'main' into feature/shuffle
This commit is contained in:
@@ -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 (
|
||||
|
||||
@@ -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=
|
||||
|
||||
@@ -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()
|
||||
}
|
||||
|
||||
|
||||
@@ -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 {
|
||||
|
||||
Reference in New Issue
Block a user