about summary refs log tree commit diff
path: root/tools/mpd-stats/cmd/mpd-scrobbler/main.go (follow)
Commit message (Collapse)AuthorAgeFilesLines
* mpd-scrobbler: proper default argumentsFranck Cuny2022-06-111-2/+31
| | | | | | | | The program needs two arguments: the mpd host and port, which can be passed as flags (default is to use the local instance of mpd). We store the database in `XDG_CONFIG_HOME/mpd-scrobbler`, and we create the path if needed.
* mpd-stats: pass database path to the scrobblerFranck Cuny2022-06-111-1/+4
| | | | | | | | When creating a scrobbler, we provide the path to the database. The scrobbler then get a handler to the database. When a new record is created, we persist it to the database using the `save` function.
* mpd-stats: create and run the scrobblerFranck Cuny2022-06-111-39/+4
|
* mpd: add function `Close` to the playerFranck Cuny2022-06-111-2/+5
| | | | | Let's close both the watcher and the client, instead of leaking this interface to the user.
* mpd: rename function to create the playerFranck Cuny2022-06-111-1/+1
|
* scrobbler: create a record on new songFranck Cuny2022-06-111-5/+27
| | | | | | When we receive an event from the player, we look if the song is different from the previous one, and we create a new record if that's the case. If the song is similar, there's nothing to do.
* scrobbler: watch for events and print song detailsFranck Cuny2022-06-111-0/+35
We create a module "mpd" to interact with our MPD instance. For now we only have a single function to create a new client, which creates an actual client for mpd (and we ping the instance every 30 seconds), and a watcher to receive new events. The tool "scrobbler" then wait for new events and display songs information.