gui functions nearly done

This commit is contained in:
XenGi 2023-12-30 15:02:13 +01:00
parent 114d6ba4da
commit f65918db8b
Signed by: xengi
SSH key fingerprint: SHA256:FGp51kRvGOcWnTHiOI39ImwVO4A3fpvR30nPX3LpV7g
6 changed files with 297 additions and 81 deletions

64
mpd.go
View file

@ -3,7 +3,6 @@ package main
import (
"github.com/fhs/gompd/v2/mpd"
"github.com/labstack/echo/v4"
"log"
"net/http"
"strconv"
"time"
@ -15,13 +14,13 @@ func updateDb(c echo.Context) error {
// Connect to MPD server
conn, err := mpd.Dial("tcp", "localhost:6600")
if err != nil {
log.Fatalln(err)
c.Logger().Error(err)
}
defer conn.Close()
jobId, err := conn.Update("")
if err != nil {
log.Fatalln(err)
c.Logger().Error(err)
}
return c.String(http.StatusOK, strconv.Itoa(jobId))
@ -31,13 +30,13 @@ func previousTrack(c echo.Context) error {
// Connect to MPD server
conn, err := mpd.Dial("tcp", "localhost:6600")
if err != nil {
log.Fatalln(err)
c.Logger().Error(err)
}
defer conn.Close()
err = conn.Previous()
if err != nil {
log.Fatalln(err)
c.Logger().Error(err)
}
return c.String(http.StatusOK, "")
@ -47,13 +46,13 @@ func nextTrack(c echo.Context) error {
// Connect to MPD server
conn, err := mpd.Dial("tcp", "localhost:6600")
if err != nil {
log.Fatalln(err)
c.Logger().Error(err)
}
defer conn.Close()
err = conn.Next()
if err != nil {
log.Fatalln(err)
c.Logger().Error(err)
}
return c.String(http.StatusOK, "")
@ -63,13 +62,13 @@ func stopPlayback(c echo.Context) error {
// Connect to MPD server
conn, err := mpd.Dial("tcp", "localhost:6600")
if err != nil {
log.Fatalln(err)
c.Logger().Error(err)
}
defer conn.Close()
err = conn.Stop()
if err != nil {
log.Fatalln(err)
c.Logger().Error(err)
}
return c.String(http.StatusOK, "")
@ -79,13 +78,24 @@ func resumePlayback(c echo.Context) error {
// Connect to MPD server
conn, err := mpd.Dial("tcp", "localhost:6600")
if err != nil {
log.Fatalln(err)
c.Logger().Error(err)
}
defer conn.Close()
err = conn.Pause(false)
status, err := conn.Status()
if err != nil {
log.Fatalln(err)
c.Logger().Error(err)
}
if status["state"] == "stop" {
err := conn.Play(-1)
if err != nil {
c.Logger().Error(err)
}
} else {
err = conn.Pause(false)
if err != nil {
c.Logger().Error(err)
}
}
return c.String(http.StatusOK, "")
@ -95,13 +105,13 @@ func pausePlayback(c echo.Context) error {
// Connect to MPD server
conn, err := mpd.Dial("tcp", "localhost:6600")
if err != nil {
log.Fatalln(err)
c.Logger().Error(err)
}
defer conn.Close()
err = conn.Pause(true)
if err != nil {
log.Fatalln(err)
c.Logger().Error(err)
}
return c.String(http.StatusOK, "")
@ -111,13 +121,13 @@ func seek(c echo.Context) error {
// Connect to MPD server
conn, err := mpd.Dial("tcp", "localhost:6600")
if err != nil {
log.Fatalln(err)
c.Logger().Error(err)
}
defer conn.Close()
seconds, err := strconv.Atoi(c.Param("seconds"))
if err != nil {
log.Fatalln(err)
c.Logger().Error(err)
}
if seconds < 0 {
@ -126,7 +136,7 @@ func seek(c echo.Context) error {
err = conn.SeekCur(time.Duration(seconds)*time.Second, false)
if err != nil {
log.Fatalln(err)
c.Logger().Error(err)
}
return c.String(http.StatusOK, "")
@ -136,13 +146,13 @@ func toggleRepeat(c echo.Context) error {
// Connect to MPD server
conn, err := mpd.Dial("tcp", "localhost:6600")
if err != nil {
log.Fatalln(err)
c.Logger().Error(err)
}
defer conn.Close()
status, err := conn.Status()
if err != nil {
log.Fatalln(err)
c.Logger().Error(err)
}
if status["repeat"] == "1" {
err = conn.Repeat(false)
@ -150,7 +160,7 @@ func toggleRepeat(c echo.Context) error {
err = conn.Repeat(true)
}
if err != nil {
log.Fatalln(err)
c.Logger().Error(err)
}
return c.String(http.StatusOK, "")
@ -160,21 +170,21 @@ func toggleRandom(c echo.Context) error {
// Connect to MPD server
conn, err := mpd.Dial("tcp", "localhost:6600")
if err != nil {
log.Fatalln(err)
c.Logger().Error(err)
}
defer conn.Close()
status, err := conn.Status()
if err != nil {
log.Fatalln(err)
c.Logger().Error(err)
}
if status["toggleRandom"] == "1" {
if status["random"] == "1" {
err = conn.Random(false)
} else {
err = conn.Random(true)
}
if err != nil {
log.Fatalln(err)
c.Logger().Error(err)
}
return c.String(http.StatusOK, "")
@ -184,13 +194,13 @@ func setVolume(c echo.Context) error {
// Connect to MPD server
conn, err := mpd.Dial("tcp", "localhost:6600")
if err != nil {
log.Fatalln(err)
c.Logger().Error(err)
}
defer conn.Close()
level, err := strconv.Atoi(c.Param("level"))
if err != nil {
log.Fatalln(err)
c.Logger().Error(err)
}
if level > 100 || level < 0 {
@ -199,7 +209,7 @@ func setVolume(c echo.Context) error {
err = conn.SetVolume(level)
if err != nil {
log.Fatalln(err)
c.Logger().Error(err)
}
return c.String(http.StatusOK, "")