From c8ac9a48842fab4ba455d5a4d86cfcab75263a75 Mon Sep 17 00:00:00 2001 From: Ross Stewart Date: Sat, 22 Oct 2022 14:53:10 +0100 Subject: [PATCH] - Added NaviSonicRandomiseQueue - Resolves #9 --- alexa.json | 10 ++++++++++ skill/app.py | 18 ++++++++++++++++++ sphinx/index.rst | 4 +++- 3 files changed, 31 insertions(+), 1 deletion(-) diff --git a/alexa.json b/alexa.json index 80ab313..f7aebad 100644 --- a/alexa.json +++ b/alexa.json @@ -176,6 +176,16 @@ "Play random music", "Play random songs" ] + }, + { + "name": "NaviSonicRandomiseQueue", + "slots": [], + "samples": [ + "randomise the queue", + "randomise", + "shuffle", + "shuffle the queue" + ] } ], "types": [ diff --git a/skill/app.py b/skill/app.py index 6d3f375..5c70f66 100755 --- a/skill/app.py +++ b/skill/app.py @@ -631,6 +631,24 @@ class NaviSonicUnstarSong(AbstractRequestHandler): return handler_input.response_builder.response +class NaviSonicRandomiseQueue(AbstractRequestHandler): + """Handle NaviSonicRandomiseQueue Intent + + Shuffle the current play queue + """ + + def can_handle(self, handler_input: HandlerInput) -> bool: + return is_intent_name('NaviSonicRandomiseQueue')(handler_input) + + def handle(self, handler_input: HandlerInput) -> Response: + logger.debug('In NaviSonicRandomiseQueue Handler') + + play_queue.shuffle() + play_queue.sync() + + return handler_input.response_builder.response + + # # AudioPlayer Handlers # diff --git a/sphinx/index.rst b/sphinx/index.rst index 87f4d97..d066d40 100644 --- a/sphinx/index.rst +++ b/sphinx/index.rst @@ -98,6 +98,8 @@ Supported Intents +-------------------------------------------+--------------------------------------------+-------------------------------------+ | :class:`~app.NaviSonicPlayFavouriteSongs` | Play your starred / favourite songs | Play my favourite songs | +-------------------------------------------+--------------------------------------------+-------------------------------------+ +| :class:`~app.NaviSonicRandomiseQueue` | Shuffle / randomise the current play queue | Shuffle the queue | ++-------------------------------------------+--------------------------------------------+-------------------------------------+ | :class:`~app.NaviSonicSongDetails` | Give details on the playing track | What is playing | +-------------------------------------------+--------------------------------------------+-------------------------------------+ | :class:`~app.NaviSonicStarSong` | Star / favourite a song | Star this song | @@ -413,7 +415,7 @@ Code Documentation ****************** .. toctree:: - :maxdepth: 2 + :maxdepth: 1 :caption: Contents: AskNavidrome main