From afa6c4a7eaf9bdcc17f6ad7d948557d3e982ae9a Mon Sep 17 00:00:00 2001 From: liam4 Date: Mon, 26 Jun 2017 22:16:59 -0300 Subject: Controls for pause/play, seek, and volume --- src/http-music.js | 37 +++++++++++++++++++++++++++++++++++++ 1 file changed, 37 insertions(+) (limited to 'src/http-music.js') diff --git a/src/http-music.js b/src/http-music.js index 48aff95..7686b45 100755 --- a/src/http-music.js +++ b/src/http-music.js @@ -281,6 +281,43 @@ Promise.resolve() process.stdin.setRawMode(true) process.stdin.on('data', data => { + const escModifier = Buffer.from('\x1b[') + const shiftModifier = Buffer.from('1;2') + + const esc = num => Buffer.concat([escModifier, Buffer.from([num])]) + + const shiftEsc = num => ( + Buffer.concat([escModifier, shiftModifier, Buffer.from([num])]) + ) + + if (Buffer.from([0x20]).equals(data)) { + play.togglePause() + } + + if (esc(0x43).equals(data)) { + play.seekAhead(5) + } + + if (esc(0x44).equals(data)) { + play.seekBack(5) + } + + if (shiftEsc(0x43).equals(data)) { + play.seekAhead(30) + } + + if (shiftEsc(0x44).equals(data)) { + play.seekBack(30) + } + + if (esc(0x41).equals(data)) { + play.volUp(10) + } + + if (esc(0x42).equals(data)) { + play.volDown(10) + } + if (Buffer.from('s').equals(data)) { // clearConsoleLine() // console.log( -- cgit 1.3.0-6-gf8a5