strip-beats/app/choose.go

53 lines
876 B
Go
Raw Normal View History

2023-09-04 08:54:00 -05:00
package app
import (
"codeberg.org/danjones000/strip-beats/files"
2023-09-04 15:36:32 -05:00
"codeberg.org/danjones000/strip-beats/input/boolean"
2023-09-04 08:54:00 -05:00
"codeberg.org/danjones000/strip-beats/media"
2023-09-04 15:36:32 -05:00
"fmt"
p "path"
2023-09-04 08:54:00 -05:00
)
var file *media.Probe
func PickNewFile() media.Probe {
path := files.PickRandomFile()
2023-09-04 09:36:00 -05:00
return SetFile(path)
}
func SetFile(path string) media.Probe {
2023-09-04 08:54:00 -05:00
f := media.ProbeFile(path)
file = &f
return f
}
2023-09-04 15:36:32 -05:00
func PickFileWithConf() media.Probe {
var path string
var msg string
var base string
var dir string
good := false
for !good {
path = files.PickRandomFile()
base = p.Base(path)
dir = p.Dir(path)
dir = p.Base(dir)
msg = fmt.Sprintf("We've selected %s%s%s\nIs that ok?", dir, "/", base)
good = boolean.Choose(msg)
}
return SetFile(path)
}
2023-09-04 08:54:00 -05:00
func GetFile() media.Probe {
if file == nil {
return PickNewFile()
}
return *file
}
func ForgetFile() {
file = nil
}