Node MPD, An MPD client for connecting to and controlling / querying the Linux Music Player Daemon.
JavaScript
Switch branches/tags
Nothing to show
Fetching latest commit…
Cannot retrieve the latest commit at this time.
Permalink
Failed to load latest commit information.
examples
lib
README.md

README.md

node-mpd

Node MPD, An MPD client for connecting to and controlling / querying the Linux Music Player Daemon.

See MPD Documentation for command references

var MPD = require('../lib');

var mpd = new MPD();

function dur(sec) {
  var h = Math.floor(sec / (60*60));
  var m = Math.floor(sec % (60*60) / 60);
  var s = Math.ceil(sec % (60*60) % 60);
  
  if (h < 10) h = '0' + h;
  if (m < 10) m = '0' + m;
  if (s < 10) s = '0' + s;
  
  return h + ':' + m + ':' + s;
}

mpd.on('connect', function() {
  var title = '';
  var artist = '';
  
  mpd.send('currentsong', function(cs) {
    console.log(cs);
  });
  
  mpd.on('Title', function(t) {
    title = t;
  });
  
  mpd.on('Artist', function(a) {
    artist = a;
  });
  
  mpd.on('time', function(time) {    
    var secs = time.split(':')[0];
    var total = time.split(':')[1];
    
    console.log(artist + ' - ' + title + ' / ' + dur(secs) + ' - ' + dur(total));
  });
});

Example output:

robin@robin-desktop:~/dev/node-mpd$ node examples/currentsong.js 
{ file: 'Linkin_Park-A_Thousand_Suns/13-linkin_park-fallout.mp3'
, Time: '83'
, Artist: 'Linkin Park'
, Title: 'Fallout'
, Album: 'A Thousand Suns'
, Track: '13/15'
, Date: '2010-09-14'
, Genre: 'Rock'
, Pos: '12'
, Id: '12'
}
Linkin Park - Fallout / 00:01:22 - 00:01:23
Linkin Park - Fallout / 00:01:23 - 00:01:23
Linkin Park - The Catalyst / 00:00:01 - 00:05:40
Linkin Park - The Catalyst / 00:00:02 - 00:05:40
    ^Crobin@robin-desktop:~/dev/node-mpd$