subclient

Subsonic ncurses client
git clone https://git.e1e0.net/subclient.git
Log | Files | Refs | README

commit 218453048fdfe582abb5461eb397f01ef869c3a9
parent 4c09fb9ed5a12089d03be68cfc0887a1fbf304a3
Author: Paco Esteban <paco@e1e0.net>
Date:   Sat, 19 Jun 2021 20:16:45 +0200

update status bar and force stop before play

Diffstat:
Msubclient/playback.py | 3+++
Msubclient/subclient.py | 24+++++++++++++-----------
2 files changed, 16 insertions(+), 11 deletions(-)

diff --git a/subclient/playback.py b/subclient/playback.py @@ -26,3 +26,6 @@ class Player: def set_pause(self, state): self.player.pause = state + + def stop(self): + self.player.command('stop') diff --git a/subclient/subclient.py b/subclient/subclient.py @@ -75,8 +75,9 @@ class SubClient: self.play_scroll_cell.add_key_command(py_cui.keys.KEY_Q_LOWER, self.quit) - status_bar_text = ('Quit - q | Pause - space | ' - 'Select - enter | Cycle list - tab') + status_bar_text = ('Quit - q | Enter - play/pause | ' + 'j/k - up/down | h/l - back/forward' + 'Cycle windows - tab') self.nav_scroll_cell.set_focus_text(status_bar_text) self.play_scroll_cell.set_focus_text(status_bar_text) @@ -122,8 +123,18 @@ class SubClient: self._now_playing_format('Now Playing', self.playlist[0])) stream = self.subsonic.get_song_stream(self.playlist[0]) del self.playlist[0] + self.player.stop() self.player.play(stream) + def pause(self): + paused = self.player.is_paused() + state = 'Paused' + if paused: + state = 'Now Playing' + self.now_playing_block.set_title( + self._now_playing_format(state, self.current_song)) + self.player.set_pause(not paused) + def _now_playing_format(self, state, song): return (f'{state}:\n' f'{song.title} ({helpers.format_duration(song.duration)})') @@ -165,15 +176,6 @@ class SubClient: return self.update_nav() - def pause(self): - paused = self.player.is_paused() - state = 'Paused' - if paused: - state = 'Now Playing' - self.now_playing_block.set_title( - self._now_playing_format(state, self.current_song)) - self.player.set_pause(not paused) - def quit(self): self.master.stop()