From 3a63301f01f6b4d3b279b85019da940b956464e2 Mon Sep 17 00:00:00 2001 From: Erica Date: Tue, 23 Nov 2021 23:15:09 +0000 Subject: [PATCH] Added repeat and shuffle commands --- bin/miniplayer | 28 +++++++++++++++++++++++++++- 1 file changed, 27 insertions(+), 1 deletion(-) diff --git a/bin/miniplayer b/bin/miniplayer index 5c673d2..6705147 100755 --- a/bin/miniplayer +++ b/bin/miniplayer @@ -56,7 +56,9 @@ default_bindings = {">": "next_track", "i": "toggle_info", "down": "select_down", "up": "select_up", - "enter": "select" + "enter": "select", + "x": "shuffle", + "r": "repeat" } if "keybindings" not in config.sections(): @@ -244,6 +246,15 @@ class Player: self.last_song = None + # Set repeat flag + current_status = self.client.status() + + if "repeat" in current_status.keys(): + self.repeat = current_status["repeat"] + + else: + self.repeat = 0 + # Album art HTTP server if art_config.get("http_base_url"): @@ -788,6 +799,13 @@ class Player: self.update_needed = True self.last_song = None + elif action == "repeat": + self.repeat = int(not self.repeat) + self.client.repeat(self.repeat) + + elif action == "shuffle": + self.client.shuffle() + key = self.stdscr.getch() @@ -838,6 +856,14 @@ class Player: curses.color_pair(2) ) + # Repeat string + if self.repeat: + repeat_string = "r" + self.art_win.addstr( + self.text_start + 3, 0, + repeat_string, + ) + self.art_win.refresh()