diff --git a/progressBar.go b/progressBar.go index 2fcac98..c73fffd 100644 --- a/progressBar.go +++ b/progressBar.go @@ -5,6 +5,7 @@ import ( "github.com/gdamore/tcell/v2" "github.com/fhs/gompd/mpd" "strconv" + "fmt" ) // The progressBar is just a string which is separated by the color formatting String @@ -58,6 +59,10 @@ func (s *progressBar) updateProgress(conn mpd.Client){ du , err := strconv.ParseFloat(_status["duration"], 8) percentage := el / du * 100 if err == nil && err1 == nil{ + s.t.SetTitle(fmt.Sprintf("[[::i] %s [-:-:-]Shuffle: %s Repeat: %s Single: %s Volume: %s ]", formatString(_status["state"]),formatString(_status["random"]), formatString(_status["repeat"]), formatString(_status["single"]), _status["volume"] )).SetTitleAlign(tview.AlignRight) s.t.GetCell(1,0).Text = getText(float64(_width), percentage, strTime(el) + "/" + strTime(du) + "(" + strconv.FormatFloat(percentage, 'f', 2, 32) + "%" + ")") + } else { + s.t.SetTitle(fmt.Sprintf("[[::i] %s [-:-:-]Shuffle: %s Repeat: %s Single: %s]", formatString(_status["state"]),formatString(_status["random"]), formatString(_status["repeat"]), formatString(_status["single"]))).SetTitleAlign(tview.AlignRight) + s.t.GetCell(1,0).Text = "" } } diff --git a/utils.go b/utils.go index 556cb3f..fb83b08 100644 --- a/utils.go +++ b/utils.go @@ -28,7 +28,7 @@ func insertAt(inputString, stringTobeInserted string, index int) string{ } func getText(width , percentage float64, eta string) string{ - q := "[#000000:#ffffff]" + q := "[#000000:#ffffff:bl]" var a string a += strings.Repeat(" ", int(width) - len(eta)) a = insertAt(a, eta, int(width/2) - 10) @@ -36,3 +36,17 @@ func getText(width , percentage float64, eta string) string{ q += a return q } + +func formatString(a interface{}) string { + if a == "play" { + return "Playing" + } else if a == "1" { + return "On" + } else if a == "0" { + return "Off" + } else if a == "stop" { + return "Stopped" + } else { + return "Paused" + } +}