X-Git-Url: https://git.wh0rd.org/?p=chrome-ext%2Fmusic-player-client.git;a=blobdiff_plain;f=main.js;h=208f996183fdad1ea0ad87420a0d734b603e7be9;hp=9902b935d01e7042570268c13be9d07b82f337c1;hb=999ae517c6544938a712422c9dd3cc210a319ebd;hpb=9cb957ede33364c6ba1b19529050a24cd2aa8f5f diff --git a/main.js b/main.js index 9902b93..208f996 100644 --- a/main.js +++ b/main.js @@ -14,6 +14,10 @@ TcpClientSender.prototype.send = function(data, cb) { TcpClientSender.prototype.poll = function() { this.tcpclient.poll(); } +TcpClientSender.prototype.reconnect = function() { + this.tcpclient.disconnect(); + this.tcpclient.connect(); +} function tramp_mpc_recv(data) { mpc.recv(data); @@ -274,10 +278,15 @@ function pretty_time(time) { } function playlist_del() { - mpc.deleteid(this.title); + mpc.deleteid(this.song_id); this.parentNode.remove(); } +function playlist_play() { + mpc.playid(this.song_id); + this.parentNode.style.fontWeight = 'bold'; +} + function update_ui(state, cmd) { if (typeof(state) == 'string') { ui_mpc_status.innerText = ({ @@ -323,12 +332,16 @@ function update_ui(state, cmd) { cell = row.insertCell(-1); cell.id = 'playlist_del'; cell.innerHTML = '¤'; - cell.title = song.Id; + cell.song_id = song.Id; + cell.title = 'delete'; cell.onclick = playlist_del; cell = row.insertCell(-1); cell.innerText = song.Pos; cell.style.textAlign = 'right'; + cell.song_id = song.Id; + cell.title = 'play'; + cell.onclick = playlist_play; if ('Artist' in song) { row.insertCell(-1).innerText = song.Artist; @@ -343,20 +356,25 @@ function update_ui(state, cmd) { }); /* Update the status tab. */ - var time; - if ('time' in state) + var time, percent; + if ('time' in state) { // When stopped, there is no time field at all. time = state.time.split(':'); - else + percent = Math.floor((0.0 + time[0]) * 100 / (0.0 + time[1])); + } else { time = [0, 0]; + percent = 0; + } ui_mpc_seekcur.max = time[1]; ui_mpc_seekcur.value = time[0]; - percent = Math.floor((0.0 + time[0]) * 100 / (0.0 + time[1])); ui_mpc_seekcur.title = 'seekcur (' + percent + '%)'; ui_mpc_currtime.innerText = [pretty_time(time[0]), pretty_time(time[1]), percent + '%'].join(' / '); - ui_mpc_setvol.value = state.volume; - ui_mpc_setvol.title = 'setvol (' + state.volume + '%)'; + ui_mpc_setvol.title = 'setvol'; + if ('volume' in state) { + ui_mpc_setvol.value = state.volume; + ui_mpc_setvol.title += ' (' + state.volume + '%)'; + } [ 'consume', 'random', 'repeat', 'single',