From ea3bd68107195a68b42d8f60387b344a15a93133 Mon Sep 17 00:00:00 2001 From: Seth Date: Thu, 13 Nov 2014 21:20:53 +0000 Subject: [PATCH 1/3] Update volume function Ensure volume does not go below 0 or above 100 --- winamp.js | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/winamp.js b/winamp.js index a02303a8..ec1de336 100755 --- a/winamp.js +++ b/winamp.js @@ -221,6 +221,10 @@ function Winamp () { // From 0-100 this.setVolume = function(volume) { + // Ensure volume does not go out of bounds + if(volume < 0){volume=0} + else if(volume > 100){volume=100;} + var percent = volume / 100; sprite = Math.round(percent * 28); offset = (sprite - 1) * 15; From 1b17757103ce3b6a5fcca78e09c8dee9cab67355 Mon Sep 17 00:00:00 2001 From: Seth Date: Thu, 13 Nov 2014 21:24:10 +0000 Subject: [PATCH 2/3] Issue #27 Support keyboard shortcuts listed in this issue with exception to: Toggle time remaining/elapsed. Jump 10 places in playlist Jump to file. --- winamp.js | 26 +++++++++++++++++++++++++- 1 file changed, 25 insertions(+), 1 deletion(-) diff --git a/winamp.js b/winamp.js index ec1de336..1bf35d29 100755 --- a/winamp.js +++ b/winamp.js @@ -396,7 +396,31 @@ keylog = []; trigger = [78,85,76,27,76,27,83,79,70,84]; // Easter Egg document.onkeyup = function(e){ - keylog.push(e.which); + key = e.keyCode; + keyboardAction = { + 66: winamp.nodes.next, 67: winamp.nodes.pause, + 76: winamp.nodes.eject, 86: winamp.nodes.stop, + 82: winamp.nodes.repeat, 83: winamp.nodes.shuffle, + 88: winamp.nodes.play, 90: winamp.nodes.previous, + 100: winamp.nodes.previous, 101: winamp.nodes.play, + 102: winamp.nodes.next, 96: winamp.nodes.eject + }; + if(keyboardAction[key]){ + keyboardAction[key].click(); + }else if(e.keyCode == 76 && e.ctrlKey){ //CTRL+L + winamp.nodes.option.click(); + }else{ + switch (key){ + case 38: winamp.setVolume((winamp.nodes.volume.value*1)+1); break; + case 104: winamp.setVolume((winamp.nodes.volume.value*1)+1); break; + case 40: winamp.setVolume((winamp.nodes.volume.value*1)-1); break; + case 98: winamp.setVolume((winamp.nodes.volume.value*1)-1); break; + case 103: winamp.media.audio.currentTime-=5; winamp.updateTime(); break; + case 105: winamp.media.audio.currentTime+=5; winamp.updateTime(); break; + } + } + + keylog.push(key); keylog = keylog.slice(-10); if(keylog.toString() == trigger.toString()) { document.getElementById('winamp').classList.toggle('llama'); From 674dff0e2ddbca7be219b8fe150298bf558a5c39 Mon Sep 17 00:00:00 2001 From: Seth Date: Thu, 13 Nov 2014 21:30:04 +0000 Subject: [PATCH 3/3] Issue #27 Patch 1 Almost forgot to add left and right arrow shortcuts. Added placeholders for jumping back/forth in playlist 10 songs for future implementation --- winamp.js | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/winamp.js b/winamp.js index 1bf35d29..21ec6914 100755 --- a/winamp.js +++ b/winamp.js @@ -415,8 +415,12 @@ document.onkeyup = function(e){ case 104: winamp.setVolume((winamp.nodes.volume.value*1)+1); break; case 40: winamp.setVolume((winamp.nodes.volume.value*1)-1); break; case 98: winamp.setVolume((winamp.nodes.volume.value*1)-1); break; + case 37: winamp.media.audio.currentTime-=5; winamp.updateTime(); break; case 103: winamp.media.audio.currentTime-=5; winamp.updateTime(); break; + case 39: winamp.media.audio.currentTime+=5; winamp.updateTime(); break; case 105: winamp.media.audio.currentTime+=5; winamp.updateTime(); break; + case 97: /* Placeholder for jump backwards 10 songs in playlist or to start of */ break; + case 99: /* Placeholder for jump forwards 10 songs in playlist or to start of */ break; } }