Tuesday 3 March 2020

MUSE + MPD.JS

Although it is fine to use mpd clients to choose and play music on MUSE (music server) it can be a bit fiddly. The album structure on music player apps isn't reliable due to incorrect mp3tags and we use a variety of playlists for radio stations and some albums.
I want to be able to choose and play my music from any source (files, playlists, internet radio) using the same interface.  This requirement can be met using a wonderful javascript app called MPD.js.  It provides an interface to MPD using websockets.  The client sends instructions to the MPD server using websockets.  Unfortunately MPD doesn't have a direct interface and a utility websockify is needed on the MPD server to send info from the browser to MPD on port 6600.
Using MPD.js I can start / stop music, choose a playlist, see what is playing, or queued up, select albums, files or internet radio stations to listen to.

Radio-stations : Play a single URL playlist, UK stations I listen to can be found at radiofeeds

Albums: Javascript is to display music directory structure and to choose a sub-directory containing the album to be played. A JS function then adds the tracks into MPD.

Noad/chart radio: These are playlists created on my app server and saved within mpd/playlists.


Buttons are an important feature of the app.  I use websocketd to allow me to associate batch files with a button so that I can use a combination of mpc and OS commands within the button function.

Status updates, e.g. for Album name and bluetooth connect are achieved by saving the status in an html snippet and updating the screen,.






No comments:

Post a Comment