beetbox / beetbox/beets

bpd: support client channels

Open
#3,291 0 comments 0 reactions 0 assignees View on GitHub
bpd feature
Dominant language
Python
Stars
15.7k
Forks
2.1k
Avg merge
4d 21h
Merged PRs (30d)
31

Description

The MPD protocol has a client channels feature which allows MPD clients to talk directly to each other. It allows clients to cooperate to implement features that the underlying MPD implementation doesn't support, and can potentially be backed by persistent storage with stickers (#3290).

The mpdscribble client (a client for lastfm scrobbling, maintained by the MPD developer) uses this feature to implement lastfm's "love" action. If a client sends it the appropriate message on its channel then it'll love the currently playing track on lastfm. I don't know whether any clients actually use this feature, but it does show the promise of client channels anyway.

The implementation should be straightforward. The BPD server just needs to track client subscriptions to channels (possible now that we track the list of connected clients) and send them messages as they arrive.

Contributor guide

Open the contributing guide

Assessment

This issue has not been assessed yet.

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.