From bfd0bb866a13f885594fc70b58a852e0a6d28cd7 Mon Sep 17 00:00:00 2001 From: Pierre-Olivier Mercier Date: Wed, 15 Nov 2023 12:10:11 +0100 Subject: [PATCH] Quit by disabling all sources --- app.go | 22 ++++++++++++++++++++++ 1 file changed, 22 insertions(+) diff --git a/app.go b/app.go index b78923a..bf10470 100644 --- a/app.go +++ b/app.go @@ -10,6 +10,7 @@ import ( "git.nemunai.re/nemunaire/hathoris/api" "git.nemunai.re/nemunaire/hathoris/config" + "git.nemunai.re/nemunaire/hathoris/sources" "git.nemunai.re/nemunaire/hathoris/ui" ) @@ -60,6 +61,27 @@ func (app *App) Start() { } func (app *App) Stop() { + // Disable all sources + someEnabled := false + for k, src := range sources.SoundSources { + if src.IsEnabled() { + someEnabled = true + go func(k string, src sources.SoundSource) { + log.Printf("Stopping %s...", k) + err := src.Disable() + if err != nil { + log.Printf("Unable to disable %s source", k) + } + log.Printf("%s stopped", k) + }(k, src) + } + } + + // Wait for fadeout + if someEnabled { + time.Sleep(2000 * time.Millisecond) + } + ctx, cancel := context.WithTimeout(context.Background(), 5*time.Second) defer cancel() if err := app.srv.Shutdown(ctx); err != nil {