added readme
This commit is contained in:
parent
e954c28aa5
commit
5037dc8fa6
77
readme.md
77
readme.md
@ -0,0 +1,77 @@
|
|||||||
|
# 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.
|
Loading…
Reference in New Issue
Block a user