aboutsummaryrefslogblamecommitdiff
path: root/tools/mpd-stats/cmd/mpd-scrobbler/main.go
blob: 99292257845b9629a521899154bf5991704bfeee (plain) (tree)


































                                                                                                         
package main

import (
	"log"

	"golang.fcuny.net/mpd-stats/internal/mpd"
)

func main() {
	net := "tcp"
	addr := "localhost:6600"

	c, err := mpd.NewMPD(net, addr)
	if err != nil {
		log.Fatalf("failed to create a client: %v", err)
	}

	defer c.Watcher.Close()
	defer c.Client.Close()

	for {
		e := <-c.Watcher.Event
		if e != "" {
			attrs, err := c.Client.CurrentSong()
			if err != nil {
				log.Fatalf("could not get current song: %v", err)
			}
			currentAlbum := attrs["Album"]
			artist := attrs["Artist"]
			song := attrs["Title"]
			duration := attrs["duration"]
			log.Printf("we're playing %s/%s/%s [%s]\n", artist, currentAlbum, song, duration)
		}
	}
}