mpdsocket is a node.js client for MPD. It is loosely based on (but aims to be more usable than) robinduckett/node-mpd.
var mpdSocket = require('mpdsocket');
var mpd = new mpdSocket('localhost','6600');
mpd.on('connect',function() {
mpd.send('status',function(r) {
console.log(r);
});
});
mpdSocket.on(event,fn)adds event handlers to the net.Socket object directly.mpdSocket.send(req,callback)sends a request to MPD with a callback function.
mpdsocket parses the output from the MPD protocol into a JavaScript object. This object has three meta-attributes that mpdsocket adds:
_OKdenotes that the request was completed successfully._erroris the error returned if_OKis false._ordered_listdenotes that the object is an ordered list (see section below).
Some MPD commands, like listplaylists, will return an ordered list of objects. The structure of these objects looks like this:
{ '1':
{ playlist: 'playlist-1',
'Last-Modified': '2011-03-19T06:39:44Z' },
'2':
{ playlist: 'playlist-2',
'Last-Modified': '2011-03-19T06:41:08Z' },
_ordered_list: true,
_OK: true
}
node-mpdsocket is made available under the MIT License. A copy of the license is distributed with this software.
Copyright (c) 2011 Eli Wenig