From c16f3c1878ed34f4458dd600600f2cf601849e59 Mon Sep 17 00:00:00 2001 From: Marcel van der Veldt Date: Tue, 24 Nov 2020 16:17:26 +0100 Subject: [PATCH] add clear queue command --- music_assistant/managers/players.py | 24 ++++++++++++++---------- requirements.txt | 2 +- 2 files changed, 15 insertions(+), 11 deletions(-) diff --git a/music_assistant/managers/players.py b/music_assistant/managers/players.py index 2dc1e1a7..df367b46 100755 --- a/music_assistant/managers/players.py +++ b/music_assistant/managers/players.py @@ -633,6 +633,20 @@ class PlayerManager: return return await player_queue.async_set_repeat_enabled(enable_repeat) + @api_route("players/:queue_id/queue/cmd/clear") + async def async_player_queue_cmd_clear( + self, queue_id: str, enable_repeat: bool = False + ): + """ + Clear all items in player's queue. + + :param queue_id: player_id of the playerqueue to handle the command. + """ + player_queue = self.get_player_queue(queue_id) + if not player_queue: + return + return await player_queue.async_clear() + # OTHER/HELPER FUNCTIONS async def async_get_gain_correct( @@ -653,13 +667,3 @@ class PlayerManager: gain_correct = target_gain - track_loudness gain_correct = round(gain_correct, 2) return gain_correct - - # async def __handle_websocket_player_control_event(self, msg, msg_details): - # """Handle player controls over the websockets api.""" - # if msg in [EVENT_REGISTER_PLAYER_CONTROL, EVENT_PLAYER_CONTROL_UPDATED]: - # # create or update a playercontrol registered through the websockets api - # control = PlayerControl(**msg_details) - # await self.async_update_player_control(control) - # # send confirmation to the client that the register was successful - # if msg == EVENT_PLAYER_CONTROL_REGISTERED: - # self.mass.signal_event(EVENT_PLAYER_CONTROL_REGISTERED, control) diff --git a/requirements.txt b/requirements.txt index 10001700..cb48efd6 100644 --- a/requirements.txt +++ b/requirements.txt @@ -19,4 +19,4 @@ passlib==1.7.4 cryptography==3.2 ujson==4.0.1 mashumaro==1.13 -repath==0.9.0 + -- 2.34.1