diff options
author | Florrie <towerofnix@gmail.com> | 2018-06-04 23:47:18 -0300 |
---|---|---|
committer | Florrie <towerofnix@gmail.com> | 2018-06-04 23:47:24 -0300 |
commit | 8207422459bce7fc3ca3f919ef426e54eaa826b0 (patch) | |
tree | 6746d637ae48c4fdc7a135c92db3f5f1b7a7b5d8 | |
parent | 8b4d67ddbbb8ea3eb2ad42d7c75a168bf809f33a (diff) |
Escape to stop playing current track
E.g. queue whatever album you want to play, press escape to stop playing the current track, press 2 to focus the queue, S to shuffle, then play the first track. (If you don't stop the current track first, that track won't be shuffled with the rest.)
-rw-r--r-- | README.md | 1 | ||||
-rw-r--r-- | ui.js | 10 |
2 files changed, 11 insertions, 0 deletions
diff --git a/README.md b/README.md index 2e9e26e..d971733 100644 --- a/README.md +++ b/README.md @@ -12,6 +12,7 @@ * <kbd><kbd>Shift</kbd>+<kbd>Up</kbd></kbd> - play previous track * <kbd><kbd>Shift</kbd>+<kbd>Down</kbd></kbd> - play next track * <kbd>Space</kbd>, <kbd>p</kbd>, or <kbd>k</kbd> - toggle pause +* <kbd>Escape</kbd> - stop playing the current track * <kbd>Right</kbd> or <kbd>l</kbd> - seek ahead * <kbd>Left</kbd> or <kbd>j</kbd> - seek back * **In the main listing:** diff --git a/ui.js b/ui.js index 6e7aad1..7a524ee 100644 --- a/ui.js +++ b/ui.js @@ -135,6 +135,8 @@ class AppElement extends FocusElement { this.seekBack(10) } else if (telc.isCaselessLetter(keyBuf, 'p') || telc.isCaselessLetter(keyBuf, 'k')) { this.togglePause() + } else if (telc.isEscape(keyBuf)) { + this.clearPlayingTrack() } else if (telc.isShiftUp(keyBuf)) { this.playPreviousTrack(this.playingTrack) } else if (telc.isShiftDown(keyBuf)) { @@ -190,6 +192,13 @@ class AppElement extends FocusElement { this.player.togglePause() } + stopPlaying() { + // We emit this so playTrack doesn't immediately start a new track. + // We aren't *actually* about to play a new track. + this.emit('playing new track') + this.player.kill() + } + async queueGrouplikeItem(topItem, play = true, afterItem = null) { const newTrackIndex = this.queueGrouplike.items.length @@ -367,6 +376,7 @@ class AppElement extends FocusElement { clearPlayingTrack() { this.playingTrack = null + this.stopPlaying() this.playbackInfoElement.clearInfo() } } |