# HG changeset patch # User Emmanuel Gil Peyrot # Date 1329939629 -3600 # Node ID 617063bc96f73ecee9777ced632f367621af5395 # Parent 156c2fd7c62654c8b6f210be4de01d91d605e16a Fix some sync issues. diff --git a/isshouni.js b/isshouni.js --- a/isshouni.js +++ b/isshouni.js @@ -28,6 +28,7 @@ var spawn = require('child_process').spa var cl = new xmpp.Client(config); var mplayer = spawn('mplayer', args); +var paused = false; var connect = function() { cl.send(new xmpp.Element('presence', {to: config.muc + '/' + config.nick}) @@ -81,9 +82,10 @@ cl.on('stanza', function(stanza) { //send_command('osd_show_text "' + from.resource + ' did ' + payload.name + '"'); - if (payload.name === 'pause') + if (payload.name === 'pause') { send_command('pause'); - else if (payload.name === 'seek') + paused = !paused; + } else if (payload.name === 'seek') send_command('seek ' + payload.getText()); else if (payload.name === 'synchro') send_command('seek ' + payload.getText() + ' 2'); @@ -99,7 +101,10 @@ var commands = { 'm': 'mute', ' ': function() { send_message('pause'); - send_command('get_time_pos'); + paused = !paused; + console.log(paused); + if (paused) + send_command('get_time_pos'); return 'pause'; }, 'q': function() { @@ -109,18 +114,23 @@ var commands = { }, }; +var seek = function(time) { + send_message('seek', time); + send_command('seek ' + time); +}; + process.stdin.resume(); tty.setRawMode(true); process.stdin.on('keypress', function(char, key) { if (!char) { if (key.name == 'right') - send_command('seek 10'); + seek(10); else if (key.name == 'left') - send_command('seek -10'); + seek(-10); else if (key.name == 'up') - send_command('seek 60'); + seek(60); else if (key.name == 'down') - send_command('seek -60'); + seek(-60); } else if (char in commands) { var command = commands[char]; if (typeof command === 'function')