X-Git-Url: https://git.wh0rd.org/?a=blobdiff_plain;ds=sidebyside;f=js%2Fmpc.js;h=dce9fe04895e5781dc36df02a9f69da9bbde066d;hb=4d3d4e033797321526bac19c1b79b5753afacfea;hp=bf2d9697d3e639521efa131fb1667e0ce45ee67f;hpb=50dafc4c60cfd4183bdedcd86fcd9b6b932c6a0b;p=chrome-ext%2Fmusic-player-client.git diff --git a/js/mpc.js b/js/mpc.js index bf2d969..dce9fe0 100644 --- a/js/mpc.js +++ b/js/mpc.js @@ -1,26 +1,33 @@ // Written by Mike Frysinger . Released into the public domain. Suck it. -function Mpc(socket, cb_update_state) { +function Mpc(socket, cb_update_state, debug_enabled) { this._socket = socket; this._cb_update_state = cb_update_state; + this._debug_enabled = debug_enabled; this._queue = ['init']; this.state = {}; } -Mpc.log = function(msg, obj) { - console.log('mpc: ' + msg, obj); +Mpc.prototype.log = function(msg, obj) { + if (this._debug_enabled) + console.log('mpc: ' + msg, obj); +} + +Mpc.prototype.set_debug = function(val) { + this._debug_enabled = val; } Mpc.prototype.send = function(msg) { + var _this = this; this._queue.push(msg); this._socket.send(msg, function(x) { - Mpc.log('send: ' + msg + ':', x); + _this.log('send: ' + msg + ':', x); }); } Mpc.prototype.recv_msg = function(lines) { curr = this._queue.shift(); - Mpc.log('recv: [' + curr + ']:', lines.join('\n')); + this.log('recv: [' + curr + ']:', lines.join('\n')); curr = curr.split(' '); switch (curr[0]) { @@ -72,7 +79,7 @@ Mpc.__make_send_void = function(cmd) { Mpc.__make_send_arg1 = function(cmd) { return function(a1) { if (a1 === undefined) - Mpc.log(cmd + ': function requires one argument'); + this.log(cmd + ': function requires one argument'); else this.send(cmd + ' ' + a1); } @@ -81,7 +88,7 @@ Mpc.__make_send_arg1 = function(cmd) { Mpc.__make_send_arg2 = function(cmd) { return function(a1, a2) { if (a1 === undefined || a2 === undefined) - Mpc.log(cmd + ': function requires two arguments'); + this.log(cmd + ': function requires two arguments'); else this.send(cmd + ' ' + a1 + ' ' + a2); } @@ -102,7 +109,7 @@ Mpc.__make_send_range = function(cmd, min, max, def) { if (arg >= min && arg <= max) this.send(cmd + ' ' + arg); else - Mpc.log(cmd + ': arg must be [' + min + ',' + max + '] but got "' + arg + '"'); + this.log(cmd + ': arg must be [' + min + ',' + max + '] but got "' + arg + '"'); }; } @@ -130,7 +137,7 @@ Mpc.prototype.stats = Mpc.__make_send_void('stats'); // consume {STATE} Mpc.prototype.consume = Mpc.__make_send_range('consume', 0, 1, 1); // crossfade {SECONDS} -Mpc.prototype.consume = Mpc.__make_send_arg1('crossfade'); +Mpc.prototype.crossfade = Mpc.__make_send_arg1('crossfade'); // mixrampdb {deciBels} Mpc.prototype.mixrampdb = Mpc.__make_send_arg1('mixrampdb'); // mixrampdelay {SECONDS|nan}