77 lines
1.9 KiB
Markdown
77 lines
1.9 KiB
Markdown
# clementine scrobbler
|
|
|
|
so i made this python script that reads the song playing on clementine and scrobbles it to my custom scrobbling software hosted at `antisocial.moe`. it might be overkill, but it works for me.
|
|
|
|
## requirements
|
|
|
|
- linux (because dbus and clementine and stuff)
|
|
- python 3.x
|
|
- clementine music player
|
|
- `dbus-python`
|
|
- `Pillow` (for image processing)
|
|
- `requests` (for http requests)
|
|
|
|
## installation
|
|
|
|
install the required python packages:
|
|
|
|
```bash
|
|
pip install dbus-python Pillow requests
|
|
```
|
|
|
|
make sure you have clementine installed and running.
|
|
|
|
## environment variables
|
|
|
|
set the following environment variables:
|
|
|
|
- `IMAGE_SERVER`: the url of your image server (for album covers)
|
|
- `IMAGE_SERVER_AUTH`: your bearer token for the image server
|
|
|
|
export them in your shell or add to your `.bashrc`:
|
|
|
|
```bash
|
|
export IMAGE_SERVER="https://.../wp-json/image-scrobble/v1"
|
|
export IMAGE_SERVER_AUTH="your_auth_token"
|
|
```
|
|
|
|
## usage
|
|
|
|
just run the script:
|
|
|
|
```bash
|
|
python clementine_scrobbler.py
|
|
```
|
|
|
|
it connects to clementine via dbus, reads the currently playing song, uploads the album art to your image server, and sends the scrobble data.
|
|
|
|
## notes
|
|
|
|
- only works on linux. sorry windows and mac users.
|
|
- if clementine isn't running, it'll try to reconnect every 15 seconds.
|
|
- this script is tailored for my setup, but you can tweak it for yours.
|
|
|
|
# dbus
|
|
|
|
you might need to set the following env variable while running it.
|
|
|
|
`DBUS_SESSION_BUS_ADDRESS=unix:path=/run/user/1000/bus`
|
|
|
|
on my linux desktop, `1000` is my current uid (`id -u`)
|
|
|
|
## example
|
|
|
|
here's how it looks when running:
|
|
|
|
```bash
|
|
$ python clementine_scrobbler.py
|
|
Initializing.
|
|
Connected to Clementine.
|
|
Reading data from Clementine.
|
|
Updated status to: some album - some song by some artist
|
|
Successfully sent scrobble data to the server.
|
|
```
|
|
|
|
## disclaimer
|
|
|
|
i made this for myself, but feel free to use or modify it. no promises that it'll work for you. |