From 23f246857e709d54335a16b22fb164c2398c6aa9 Mon Sep 17 00:00:00 2001 From: "Alexander \"Arav\" Andreev" Date: Mon, 29 Aug 2022 07:20:58 +0400 Subject: [PATCH] Launch and stop liquidsoap in a main file. --- cmd/dwelling-radio/main.go | 13 +++++++++++++ 1 file changed, 13 insertions(+) diff --git a/cmd/dwelling-radio/main.go b/cmd/dwelling-radio/main.go index 7445915..b61ab31 100644 --- a/cmd/dwelling-radio/main.go +++ b/cmd/dwelling-radio/main.go @@ -4,8 +4,10 @@ import ( "dwelling-radio/internal/configuration" "dwelling-radio/internal/handlers" "dwelling-radio/internal/radio" + "dwelling-radio/internal/radio/liquidsoap" "dwelling-radio/pkg/logging" "dwelling-radio/pkg/server" + "errors" "flag" "fmt" "log" @@ -63,6 +65,11 @@ 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 { + logErr.Fatalln("liquidsoap:", err) + } + if err := srv.Start(config.SplitNetworkAddress()); err != nil { logErr.Fatalln(err) } @@ -84,6 +91,12 @@ 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) }