From e3112cb4d27e8daaae5886dc29e8ae04033fb5f7 Mon Sep 17 00:00:00 2001 From: "Alexander \"Arav\" Andreev" Date: Tue, 30 Aug 2022 00:14:39 +0400 Subject: [PATCH] Added a --no-liquidsoap flag to not start a liquidsoap. --- cmd/dwelling-radio/main.go | 25 +++++++++++++++---------- 1 file changed, 15 insertions(+), 10 deletions(-) diff --git a/cmd/dwelling-radio/main.go b/cmd/dwelling-radio/main.go index 61f393b..a7fdff2 100644 --- a/cmd/dwelling-radio/main.go +++ b/cmd/dwelling-radio/main.go @@ -20,6 +20,7 @@ var version string var configPath *string = flag.String("conf", "config.yaml", "path to configuration file") var logToStdout *bool = flag.Bool("log-stdout", false, "write logs to stdout") +var noLiquidsoap *bool = flag.Bool("no-liquidsoap", false, "don't run liquidsoap") var showVersion *bool = flag.Bool("v", false, "show version") func main() { @@ -65,10 +66,20 @@ func main() { srv.GET("/lastsong", hand.LastSong) srv.GET("/playlist", hand.Playlist) - liquid, err := liquidsoap.NewLiquidsoap(config.Liquidsoap.ExecPath, config.Liquidsoap.ScriptPath) - if err != nil { - liquid.Stop() - logErr.Fatalln("liquidsoap:", err) + if !*noLiquidsoap { + liquid, err := liquidsoap.NewLiquidsoap(config.Liquidsoap.ExecPath, config.Liquidsoap.ScriptPath) + if err != nil { + liquid.Stop() + logErr.Fatalln("liquidsoap:", err) + } + + defer func() { + if err := liquid.Stop(); err != nil { + if !errors.Is(err, liquidsoap.ErrNotRunning) { + logErr.Println("liquidsoap:", err) + } + } + }() } if err := srv.Start(config.SplitNetworkAddress()); err != nil { @@ -92,12 +103,6 @@ func main() { <-doneSignal - if err := liquid.Stop(); err != nil { - if !errors.Is(err, liquidsoap.ErrNotRunning) { - logErr.Println("liquidsoap:", err) - } - } - if err := srv.Stop(); err != nil { logErr.Fatalln(err) }