giof71 / mpd-subsonic-scrobbler Goto Github PK
View Code? Open in Web Editor NEWA Subsonic Scrobbler for Music Player Daemon, written in Python
License: MIT License
A Subsonic Scrobbler for Music Player Daemon, written in Python
License: MIT License
Hi!
Thank you for you hard work!
I'm pretty sure I have setup everything correctly. I can run the program and see this output:
subsonic-scrobbler | mpd-subsonic-scrobbler version 0.2.0
subsonic-scrobbler | SLEEP_TIME: [1000] msec
subsonic-scrobbler | MIN_COVERAGE: [10%]
subsonic-scrobbler | ENOUGH_PLAYBACK_SEC: [10 sec]
subsonic-scrobbler | VERBOSE: [True]
subsonic-scrobbler | server[0].friendly_name=[navidrome]
subsonic-scrobbler | server[0].base_url=[http://192.168.191.61]
subsonic-scrobbler | server[0].port=[4533]
subsonic-scrobbler | server[0].user=[****]
subsonic-scrobbler | server[0].password=[****]
subsonic-scrobbler | mpd[0].friendly_name=[mpd]
subsonic-scrobbler | mpd[0].host=[localhost]
subsonic-scrobbler | mpd[0].port=[6600]
subsonic-scrobbler | Current mpd state for index 0 [mpd] is [stop]
subsonic-scrobbler | Current mpd state for index 0 [mpd] is [play]
But Navidrome doesn't update the "recently played" page with what I play via MPD, neither does it show mpd-subsonic-scrobbler in the list of players (not sure if it should). I would also imagine that the scrobbling event should show up in the verbose output when it happens. The only events that seem to be registered are play / pause and stop. When I stop it says
subsonic-scrobbler | Remove some data from context for index 0 ...
subsonic-scrobbler | Data removal for index 0 complete.
I have tried to change the subsonic base url to http://localhost but to no avail.
Here is my docker-compose:
---
version: "3"
services:
scrobbler:
image: giof71/mpd-subsonic-scrobbler:latest
container_name: subsonic-scrobbler
network_mode: "host"
environment:
- MPD_FRIENDLY_NAME=mpd
- MPD_HOST=localhost
- MPD_PORT=6600
- SUBSONIC_FRIENDLY_NAME=navidrome
- SUBSONIC_BASE_URL=http://192.168.191.61
- SUBSONIC_PORT=4533
- SUBSONIC_USER=****
- SUBSONIC_PASSWORD=****
- MIN_COVERAGE=10
- ENOUGH_PLAYBACK_SEC=10
- VERBOSE=1
- REDACT_CREDENTIALS=0
restart: unless-stopped
Am I missing something?
We have changed the strategy so we can avoid to continuously reconnect to mpd.
But now we have to handle disconnections.
The repo was named differently. Use new repo with corresponding name.
Latest subsonic-connector supported legacy authentication.
Change code accordingly
CPU usage is not excessively high, but it is not as low as I would like it to be, especially when connecting to many players, as some might (and will be) offline.
Maybe we can put let the algorithm skip a few iterations when a device appears to be offline. That should reduce the cpu load, we'll see by how much.
In order to avoid errors in multi-server configuration, we need to check that the song we find does actually belong to the current server configuration.
Optimal configuration should include restrictions on proxy ip/port anyway, for better safety.
Use python slim and pip with --no-cache-dir
Add new variables
SUBSONIC_UPMPDCLI_BASE_URL
SUBSONIC_UPMPDCLI_PORT
If set, these will determine if a upmpdcli server will be considered as a valid proxy for the subsonic configuration.
Sometimes the scrobbler stops when exceptions happen on the mpd connection.
Apparently trying to connect is not always enough.
Recreating the connection might solve the issue.
Missing semicolon somewhere
Code is unnecessarily convoluted, we need to make it simpler
A declarative, efficient, and flexible JavaScript library for building user interfaces.
๐ Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
An Open Source Machine Learning Framework for Everyone
The Web framework for perfectionists with deadlines.
A PHP framework for web artisans
Bring data to life with SVG, Canvas and HTML. ๐๐๐
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
Some thing interesting about web. New door for the world.
A server is a program made to process requests and deliver data to clients.
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
Some thing interesting about visualization, use data art
Some thing interesting about game, make everyone happy.
We are working to build community through open source technology. NB: members must have two-factor auth.
Open source projects and samples from Microsoft.
Google โค๏ธ Open Source for everyone.
Alibaba Open Source for everyone
Data-Driven Documents codes.
China tencent open source team.