feat: Adding mpc list

This commit is contained in:
kar
2025-12-31 03:12:21 -06:00
parent 26b85266e2
commit b9a8303755
+27
View File
@@ -2,6 +2,7 @@ package main
import (
//"fmt"
"fmt"
"log"
"net"
"os"
@@ -50,11 +51,15 @@ func menuController(conn net.Conn) {
out = infoSong(conn)
case "next":
out = nextSong(conn)
case "addsong":
addSong(conn)
}
if out != "" {
_, err = conn.Write([]byte(out))
if err != nil {
log.Println("Error al enviar la informacion", err)
}
}
}
func playSong(conn net.Conn) string {
@@ -92,3 +97,25 @@ func nextSong(conn net.Conn) string {
}
return string(output)
}
func addSong(conn net.Conn) {
defer conn.Close()
cmd := exec.Command("mpc", "listall")
cmd.Stdout = conn
cmd.Run()
if tcpConn, ok := conn.(*net.TCPConn); ok {
tcpConn.CloseWrite()
}
bufSong := make([]byte, 1024)
n, err := conn.Read(bufSong)
if err != nil {
log.Println("Error al recibir cancion", err)
}
fmt.Printf("%s, agregado por %s", strings.TrimSpace(string(bufSong[:n])), conn.RemoteAddr())
cmdmpc := exec.Command("bash", "-c", fmt.Sprintf("mpc insert %q && mpc next >/dev/null && mpc play", strings.TrimSpace(string(bufSong[:n]))))
_, err = cmdmpc.CombinedOutput()
if err != nil {
log.Println("Error al reproducir cancion", err)
}
conn.Close()
}