🚧 Step through app

This commit is contained in:
Dan Jones 2023-09-06 16:56:55 -05:00
commit c941ed3302
3 changed files with 72 additions and 24 deletions

View file

@ -39,6 +39,12 @@ func PickFileWithConf() media.Probe {
path = files.PickRandomFile()
msg = fmt.Sprintf("We've selected %s\nIs that ok?", getShortPath(path))
good = boolean.Choose(msg)
if !good {
good = boolean.Choose("Would you like to quit?")
if good {
return media.Probe{}
}
}
}
return SetFile(path)
@ -58,7 +64,7 @@ func GetTmpFile() media.Probe {
return *tmpfile
}
func BailOut() {
func PickAgain() {
if tmpfile != nil {
os.Remove(tmpfile.Format.Path)
}
@ -73,7 +79,7 @@ func Finish() {
panic(err)
}
}
BailOut()
PickAgain()
}
func getShortPath(path string) string {

41
app/run.go Normal file
View file

@ -0,0 +1,41 @@
package app
import (
"fmt"
"os"
"codeberg.org/danjones000/strip-beats/media"
)
type AppStep int
const (
Pick AppStep = iota
Watch
Restart
Quit
)
func quit() {
PickAgain()
fmt.Println("Goodbye!")
os.Exit(0)
}
func Run(step AppStep) {
for step < Quit {
switch step {
case Pick:
PickAgain()
PickFileWithConf()
if file == nil {
quit()
}
case Watch:
media.Watch(file.Format.Path)
case Quit:
quit()
}
step = (step + 1) % Restart
}
}

View file

@ -4,12 +4,12 @@ Copyright © 2023 NAME HERE <EMAIL ADDRESS>
package cmd
import (
"fmt"
// "fmt"
"os"
"codeberg.org/danjones000/strip-beats/app"
// "codeberg.org/danjones000/strip-beats/input/boolean"
"codeberg.org/danjones000/strip-beats/input/list"
// "codeberg.org/danjones000/strip-beats/input/list"
"github.com/spf13/cobra"
)
@ -20,27 +20,28 @@ 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) {
opt := list.List([]list.Option{
list.SimpleItem("Yes", "", 'y'),
list.SimpleItem("No", "", 'n'),
list.SimpleItem("Maybe", "perhaps", 'm'),
}, nil)
fmt.Printf("%+v\n", opt)
// out := app.PickFileWithConf()
out := app.SetFile("/home/drj/nothing.mkv")
fmt.Println("first", out.Format.Path)
// tmp, _ := os.CreateTemp("", "audio.*.mka")
// defer os.Remove(tmp.Name())
// fmt.Println("temp", tmp.Name())
app.Finish()
app.Run(0)
/*
fmt.Printf("%+v\n", out)
// media.Watch(out.Format.Path)
show := boolean.Choose("Show stream?")
if show {
stream := out.WantedAudioStream()
fmt.Printf("Stream %d of %s: %+v\n", stream.Index, out.Format.Path, stream)
}
opt := list.List([]list.Option{
list.SimpleItem("Yes", "", 'y'),
list.SimpleItem("No", "", 'n'),
list.SimpleItem("Maybe", "perhaps", 'm'),
}, nil)
fmt.Printf("%+v\n", opt)
// out := app.PickFileWithConf()
out := app.SetFile("/home/drj/nothing.mkv")
fmt.Println("first", out.Format.Path)
// tmp, _ := os.CreateTemp("", "audio.*.mka")
// defer os.Remove(tmp.Name())
// fmt.Println("temp", tmp.Name())
app.Finish()
fmt.Printf("%+v\n", out)
// media.Watch(out.Format.Path)
show := boolean.Choose("Show stream?")
if show {
stream := out.WantedAudioStream()
fmt.Printf("Stream %d of %s: %+v\n", stream.Index, out.Format.Path, stream)
}
*/
},
}