diff --git a/plugin/music/player.py b/plugin/music/player.py index 93fd2ed..6d1d653 100644 --- a/plugin/music/player.py +++ b/plugin/music/player.py @@ -32,7 +32,7 @@ class MusicPlayer: def _play_track(self, directory: str, track: str): ic("Playing", track) - self._draw_now_playing(track) + self._init_now_playing(track) player = MPV() player.play(path.join(directory, track)) return @@ -41,8 +41,26 @@ class MusicPlayer: ic("Resuming", directory) return - def _draw_now_playing(self, track_name: str): + def _init_now_playing(self, track_name: str): self._graphics.clear() - self._graphics.rect(0, 0, 128, 64, 1) - self._graphics.text(track_name, 2, 2, 1) + self._graphics.text(track_name, 0, 0, 1) + self._graphics.text("Pos:", 0, 1, 1) + self._draw_progress(0, 0) self._graphics.show() + + def _draw_progress(self, pos: int, length: int): + pos_str = self._convert_seconds(pos) + if length == 0: + self._graphics.text(pos_str, 5, 1, 1) + else: + len_str = self._convert_seconds(length) + progress_str = "%s / %s" % (pos_str, len_str) + self._graphics.text(progress_str, 5, 1, 1) + + def _convert_seconds(self, seconds: int): + seconds = seconds % (24 * 3600) + hours = seconds // 3600 + seconds %= 3600 + minutes = seconds // 60 + seconds %= 60 + return "%d:%02d:%02d" % (hours, minutes, seconds)