mpc: handle ACK responses
[chrome-ext/music-player-client.git] / main.js
diff --git a/main.js b/main.js
index fefb964e54b8974fe12f5949f18d0ed65f527881..88c146f850c6c271ff2caafa0aeb907282b779a7 100644 (file)
--- a/main.js
+++ b/main.js
@@ -11,6 +11,9 @@ function TcpClientSender(tcpclient) {
 TcpClientSender.prototype.send = function(data, cb) {
        this.tcpclient.sendMessage(data, cb);
 }
+TcpClientSender.prototype.poll = function() {
+       this.tcpclient.poll();
+}
 
 function tramp_mpc_recv(data) {
        mpc.recv(data);
@@ -189,7 +192,6 @@ function init_ui(local_keys, sync_keys, options) {
 
        /* Setup control tab */
        ui_mpc_status = document.getElementById('status');
-       ui_mpc_metadata = document.getElementById('metadata');
        [
                'consume', 'next', 'pause', 'play', 'previous', 'random', 'repeat',
                'seekcur', 'setvol', 'single', 'stop',
@@ -199,6 +201,13 @@ function init_ui(local_keys, sync_keys, options) {
                ele.title = id;
        });
 
+       /* Setup metadata tab */
+       [
+               'album', 'artist', 'date', 'file', 'title',
+       ].forEach(function(id) {
+               window['ui_mpc_metadata_' + id] = document.getElementById('metadata.' + id);
+       });
+
        /* Setup options tab */
        document.getElementById('connect').onclick = mpc_connect;
        local_keys.forEach(function(id) {
@@ -235,10 +244,12 @@ function update_ui(state, cmd) {
                return;
        }
 
-       if ('file' in state) {
-               // Hack: should be a real object.
-               ui_mpc_metadata.innerText = state.file;
-       }
+       // Hack: should be a real object.
+       ui_mpc_metadata_album.innerText = state.Album;
+       ui_mpc_metadata_artist.innerText = state.Artist;
+       ui_mpc_metadata_title.innerText = state.Title;
+       ui_mpc_metadata_date.innerText = state.Date;
+       ui_mpc_metadata_file.innerText = state.file;
 
        var time;
        if ('time' in state)