From d91fc4b9ec5552885f5623277b9602dc2fa20f31 Mon Sep 17 00:00:00 2001 From: Dan Jones Date: Mon, 4 Sep 2023 08:54:00 -0500 Subject: [PATCH] =?UTF-8?q?=F0=9F=9A=A7=20App=20package=20to=20hold=20app?= =?UTF-8?q?=20state?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- app/choose.go | 27 +++++++++++++++++++++++++++ cmd/root.go | 5 ++--- 2 files changed, 29 insertions(+), 3 deletions(-) create mode 100644 app/choose.go diff --git a/app/choose.go b/app/choose.go new file mode 100644 index 0000000..486e62c --- /dev/null +++ b/app/choose.go @@ -0,0 +1,27 @@ +package app + +import ( + "codeberg.org/danjones000/strip-beats/files" + "codeberg.org/danjones000/strip-beats/media" +) + +var file *media.Probe + +func PickNewFile() media.Probe { + path := files.PickRandomFile() + f := media.ProbeFile(path) + file = &f + + return f +} + +func GetFile() media.Probe { + if file == nil { + return PickNewFile() + } + return *file +} + +func ForgetFile() { + file = nil +} diff --git a/cmd/root.go b/cmd/root.go index 3725ab8..14e9b96 100644 --- a/cmd/root.go +++ b/cmd/root.go @@ -7,7 +7,7 @@ import ( "fmt" "os" - "codeberg.org/danjones000/strip-beats/files" + "codeberg.org/danjones000/strip-beats/app" "codeberg.org/danjones000/strip-beats/input/boolean" "codeberg.org/danjones000/strip-beats/media" "github.com/spf13/cobra" @@ -20,8 +20,7 @@ var rootCmd = &cobra.Command{ // Uncomment the following line if your bare application // has an action associated with it: Run: func(cmd *cobra.Command, args []string) { - file := files.PickRandomFile() - out := media.ProbeFile(file) + out := app.GetFile() fmt.Printf("%+v\n", out) // media.Watch(out.Format.Path) show := boolean.Choose("Show stream?")