about summary refs log tree commit diff
path: root/tools (unfollow)
Commit message (Collapse)AuthorFilesLines
2022-06-11scrobbler: add a systemd unit fileFranck Cuny1-0/+43
As I want the scrobbler to be started automatically when I log into my session, the easiest way to do this is by having a systemd unit file that I run for my own user. The unit expects that the binary for the scrobbler is under my $GOPATH, which is hard coded for now. We also ensure that the binary exists before starting the unit. We harness the service with a number of directives.
2022-06-11scrobbler: read mpd status before processing songFranck Cuny1-4/+21
If the status of the player is "stop", we don't have a new song to handle. In this case, if there's a current song, let's update the status and clear our state. Closes #1.
2022-06-11scrobbler: record how long a song was playedFranck Cuny2-1/+16
Add a column `playtime` to the records table to keep track of how long a song was played. With this information, in the future, we will be able to sum up how long we listen to music, but also which songs were skipped.
2022-06-11mpd-scrobbler: proper default argumentsFranck Cuny1-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.
2022-06-11scrobbler: use helper function EqualAttrsFranck Cuny1-3/+1
To compare the current attributes with the current record, we can use the helper `EqualAttrs` which will tell us if we need to create a new record or not.
2022-06-11record: add some basic testingFranck Cuny2-0/+59
2022-06-11mpd-stats: pass database path to the scrobblerFranck Cuny2-5/+31
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.
2022-06-11scrobbler: add timestamp t