The server-client model means you can run the server (MPD, Rockbox Zig, whatever) on your homelab, and stream music to multiple clients. So you don't have to copy all your music onto your phone, you can just run an MPD client like M.A.L.P. and it will stream from the files on your server. Then there's just one copy of your music collection, tags, etc.: no more keeping tags up-to-date between the copies on your home server, your laptop, your phone... (Do make sure your files are backed up, of course).
MPD doesn't really do streaming. If you install MPD on your server and then install an MPD client on your phone, the music will play on your server when you press play on your phone. You can re-encode the playback as an audio stream and stream that to your phone, but it's not really what MPD is built for.
I like having the music player be separate from the client that controls it. I'm currently listening to music on my home desktop PC while using my work laptop, and I can control the music playback from the work laptop by just connecting to the daemon.
You can also use multiple clients if you want. Some TUI, some graphical, some utility like mpdscrobble (that just watches what you listen to and scrobbles it to Last.fm).
Our IT department has a machine called jukebox hooked up to a sound system. Since it runs a music player daemon everybody in the IT department can control the jukebox from their own frontend, phone or whatever.
Technically you could achieve the same with a web frontend, but then you're limited to that UI. A music player daemon is agnostic to the UI, meaning there can be different UIs or you can add music via command line, text interfaces etc.
Nice! I have a real soft spot in my heart for Rockbox, glad to see it still having some life.
The interface and performance are just so well thought out and refined.
Plus it contains the earliest published code I ever wrote: https://github.com/tsirysndr/rockbox-zig/tree/master/apps/pl... , so that's fun for me.
This is brilliant. The forcing function of limited hardware is one of the things that made Rockbox great, and now it gets new life on the desktop.
https://rockboxzig.mintlify.app
Out of curiosity, since I've never understood it, what is the point of music player daemons? What makes them different from any old media player?
> Rockbox Zig exposes the full Rockbox audio engine — gapless playback, DSP, 20+ codecs, tag database — through gRPC, GraphQL, HTTP, and MPD APIs
The server-client model means you can run the server (MPD, Rockbox Zig, whatever) on your homelab, and stream music to multiple clients. So you don't have to copy all your music onto your phone, you can just run an MPD client like M.A.L.P. and it will stream from the files on your server. Then there's just one copy of your music collection, tags, etc.: no more keeping tags up-to-date between the copies on your home server, your laptop, your phone... (Do make sure your files are backed up, of course).
MPD doesn't really do streaming. If you install MPD on your server and then install an MPD client on your phone, the music will play on your server when you press play on your phone. You can re-encode the playback as an audio stream and stream that to your phone, but it's not really what MPD is built for.
You got it 180 degrees wrong. MPD means many clients can control one playback server.
I like having the music player be separate from the client that controls it. I'm currently listening to music on my home desktop PC while using my work laptop, and I can control the music playback from the work laptop by just connecting to the daemon.
You can also use multiple clients if you want. Some TUI, some graphical, some utility like mpdscrobble (that just watches what you listen to and scrobbles it to Last.fm).
Our IT department has a machine called jukebox hooked up to a sound system. Since it runs a music player daemon everybody in the IT department can control the jukebox from their own frontend, phone or whatever.
Technically you could achieve the same with a web frontend, but then you're limited to that UI. A music player daemon is agnostic to the UI, meaning there can be different UIs or you can add music via command line, text interfaces etc.