aboutsummaryrefslogtreecommitdiff
path: root/tools/mpd-stats (unfollow)
Commit message (Collapse)AuthorFilesLines
2022-06-11mpd-stats: create and run the scrobblerFranck Cuny1-39/+4
2022-06-11scrobbler: add functions to create and run itFranck Cuny1-0/+66
Add a new function to create a scrobbler. The function takes care of creating the mpd client. Add a function to run the scrobbler, which takes care of creating a new record when needed. This will simplify the interface for the caller, as all they really care about is: create the scrobbler, close it when we're done, and collect songs information while we listen to our music.
2022-06-11mpd: export the type PlayerFranck Cuny1-4/+4
2022-06-11mpd: add function `Close` to the playerFranck Cuny2-2/+15
Let's close both the watcher and the client, instead of leaking this interface to the user.
2022-06-11mpd: rename function to create the playerFranck Cuny2-2/+2
2022-06-11scrobbler: create a record on new songFranck Cuny1-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.
2022-06-11scrobbler: initial log record typeFranck Cuny3-1/+40
Define the type for a log record and add an helper function to create a new record.
2022-06-11scrobbler: watch for events and print song detailsFranck Cuny4-0/+77
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.
2022-06-11README: add some information about loggingFranck Cuny1-1/+14
Describe what is being collected.
2022-06-11add initial go.modFranck Cuny1-0/+3
2022-06-11Add README.org, LICENSE.txtFranck Cuny2-0/+21