From 5472d7376abb5c66e3f5a76d140d9e6439b40699 Mon Sep 17 00:00:00 2001 From: Dan Jones Date: Wed, 6 Sep 2023 18:46:09 -0500 Subject: [PATCH] =?UTF-8?q?=F0=9F=9A=A7=20Ask=20for=20next=20step?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- app/choose.go | 11 ++--------- app/run.go | 7 ++++++- cmd/root.go | 1 - media/probe.go | 5 +++++ utils/utils.go | 13 +++++++++++++ 5 files changed, 26 insertions(+), 11 deletions(-) create mode 100644 utils/utils.go diff --git a/app/choose.go b/app/choose.go index 5fb118f..4d07959 100644 --- a/app/choose.go +++ b/app/choose.go @@ -3,11 +3,11 @@ package app import ( "fmt" "os" - p "path" "codeberg.org/danjones000/strip-beats/files" "codeberg.org/danjones000/strip-beats/input/boolean" "codeberg.org/danjones000/strip-beats/media" + "codeberg.org/danjones000/strip-beats/utils" "github.com/rkoesters/xdg/trash" ) @@ -37,7 +37,7 @@ func PickFileWithConf() media.Probe { good := false for !good { path = files.PickRandomFile() - msg = fmt.Sprintf("We've selected %s\nIs that ok?", getShortPath(path)) + msg = fmt.Sprintf("We've selected %s\nIs that ok?", utils.GetShortPath(path)) good = boolean.Choose(msg) if !good { good = boolean.Choose("Would you like to quit?") @@ -81,10 +81,3 @@ func Finish() { } PickAgain() } - -func getShortPath(path string) string { - base := p.Base(path) - dir := p.Dir(path) - dir = p.Base(dir) - return fmt.Sprintf("%s/%s", dir, base) -} diff --git a/app/run.go b/app/run.go index 8fad068..191b545 100644 --- a/app/run.go +++ b/app/run.go @@ -4,6 +4,7 @@ import ( "fmt" "os" + "codeberg.org/danjones000/strip-beats/input/boolean" "codeberg.org/danjones000/strip-beats/media" ) @@ -31,11 +32,15 @@ func Run(step AppStep) { if file == nil { quit() } + watch := boolean.Choose(fmt.Sprintf("Would you like to watch %s?", file.ShortPath())) + if watch { + step = Watch + } case Watch: media.Watch(file.Format.Path) + step = Quit // @todo case Quit: quit() } - step = (step + 1) % Restart } } diff --git a/cmd/root.go b/cmd/root.go index 3054835..4283dde 100644 --- a/cmd/root.go +++ b/cmd/root.go @@ -8,7 +8,6 @@ import ( "os" "codeberg.org/danjones000/strip-beats/app" - // "codeberg.org/danjones000/strip-beats/input/boolean" // "codeberg.org/danjones000/strip-beats/input/list" "github.com/spf13/cobra" ) diff --git a/media/probe.go b/media/probe.go index 4c576bf..28dd8c9 100644 --- a/media/probe.go +++ b/media/probe.go @@ -2,6 +2,7 @@ package media import ( "codeberg.org/danjones000/strip-beats/config" + "codeberg.org/danjones000/strip-beats/utils" "encoding/json" "github.com/akrennmair/slice" ffmpeg "github.com/u2takey/ffmpeg-go" @@ -62,6 +63,10 @@ func (p Probe) GetFirstAcceptableAudio() *Stream { return sts[0] } +func (pr Probe) ShortPath() string { + return utils.GetShortPath(pr.Format.Path) +} + func (pr Probe) WantedAudioStream() *Stream { count := pr.GetAudioCount() if count < 1 { diff --git a/utils/utils.go b/utils/utils.go new file mode 100644 index 0000000..b0d7c0c --- /dev/null +++ b/utils/utils.go @@ -0,0 +1,13 @@ +package utils + +import ( + "fmt" + p "path" +) + +func GetShortPath(path string) string { + base := p.Base(path) + dir := p.Dir(path) + dir = p.Base(dir) + return fmt.Sprintf("%s/%s", dir, base) +}