From 0dde614fb9dd13295ee5c83b5124945b4a95e63f Mon Sep 17 00:00:00 2001
From: Ross Stewart
Date: Mon, 8 Sep 2025 13:46:00 +0000
Subject: [PATCH] Documentation update
---
docs/genindex.html | 6 ++++--
docs/index.html | 24 ++++++++++++++++++++++++
docs/objects.inv | Bin 1138 -> 1156 bytes
docs/searchindex.js | 2 +-
4 files changed, 29 insertions(+), 3 deletions(-)
diff --git a/docs/genindex.html b/docs/genindex.html
index 45a4360..72b20ff 100644
--- a/docs/genindex.html
+++ b/docs/genindex.html
@@ -628,6 +628,8 @@ document.write(`
S
@@ -2787,6 +2791,25 @@ during dispatch.
app.queueWorkerThread(connection, play_queue, song_id_list)
+
+-
+app.sanitise_speech_output(speech_string: str) → str
+Sanitise speech output inline with the SSML standard
+Speech Synthesis Markup Language (SSML) has certain ASCII characters that are
+reserved. This function replaces them with alternatives.
+
+- Parameters:
+speech_string (str) – The string to process
+
+- Returns:
+The processed SSML compliant string
+
+- Return type:
+str
+
+
+
+
AskNavidrome controller
@@ -3820,6 +3843,7 @@ is working
queueWorkerThread()
+sanitise_speech_output()
AskNavidrome controller
diff --git a/docs/objects.inv b/docs/objects.inv
index edae4d211816c7104c47f89d3380bb5980f84a25..223821e167701addfc2839f9dbd4612b354b3cef 100644
GIT binary patch
delta 1021
zcmVa*%TEoE#fK@s4VDCR
z)O5c)6JQ!qMT>+9d;<;&vo9|Mq@jX`d0(L-jISw#(cgi|Fn_0$ni1}%R2cCWwwyFS
z;mLwFVb+$A2#+AS&vb@_Jyq$nn!4HXW~VrBs4|!$KR@Qg96kEx!Rno4&`-^ign1
z9vE(SY;RA0wmW60HXBW^gAtSUKOzYNU-7fBiW+bwwT|&WCsR9cp^~6*XEh}$6EFi)
z{m(_x1>7d4Ab-Jq$6aZ@*GT1mI!>ITt@qef&IgGE-2bu2a2c6Y%ddO_>la5#h)=mx
z-!qL!zMmng;cp8zIK1anith`BNZR-KGZ;)+@P;@+Qv6QwSkz$U@nEMz{UnYbg2a@n&e5~&=Ifi9i3q*|51v-p;z*a+?)qf=)Tn`J1*?Xo}^{N%H{e}y`N`qe1Fl?M)%6EC%lXw0e0WC3XjKpG^hk=AT*
z`p8{sQ7Lh9*{I+~2{sJP)~nt!S>mcfnkWE{d@$8YSY9QWD1mpQfb@8OkC*Vtl0kBa
z>{JaQBghj}6r;|0dFOv`UJ$nFZd8pLy098I0e?b!dpPv-i;YoqZw;gg5#|oSYuym5
zlv~Z`u3c$rj2P~c&^+T+gF)vpyH;uJ@6#9(xdgNIwQ*Nrq1ud6h`1fVUa6xm!xo9d!4+ORWV&(7lwG~5bjwMwhPHd{Z{-L}
zT7Nzc|9ldhLw`~PZu%QCCH7C@8tq$zU*E}c_;aTLWffB0lTvrgB9>qNRTmu`h5F9C
zZySg4>HVGCsmG`7_iI8<-gC3G;&-a9jq3akm{-`1d^S-@`w$PYt
rZ^sY4+FgHn>zkc?-M}7NH!6Hi_Y*t^`?8*S?7u(Y8gBjr;{iq;CU5?*
delta 1003
zcmVZ
zPk1t*w4b#lB*5b$?uqicCafOVE_2*4@J+{STrMQXU@_m0mEcT4M9*(P->&b`GkN5U
z;0KD@11-(@&-NfSQF^26bueJC{zoK2;46COMiLG7Nv%Ts&&k*Tu2dov?u;ThW&mbj
ztpB-4yntQAB!5J>@3@`jdyQEBr{(xL*m{rcaz02z;O>tGrpw60T7KmtST{LhQhdtA
z`krY7^8E-A1%Deb-swH3VtijI1kx_z&!7>Z-V5RciSawdLs5;S!@Zpj?W1gtY#{d!
zQ-LloM2yb~?McFmcDY_6eDbTf7Kjk13$!2kfQ*7LtA9&KfY(Lb6CJ3pHnE}l@(j$g
zo?Qn+jIWCX3J^wA1682+ITd64N+FEC2PA15=Y5flh+tVKOv5cYIy8Ve6yf|zAQa|8
zgj=3MQI=-{p0I>x!i@@CQkJO@(<=&ov^~6;bKo+#$OJfE=Ka{m6QML<{d?0sz~@`m
zlWUcRbARCN%`z0?c3Hp=esa~_zg(U`{%Rzk$^l2iu#;Lq)QQ;=p_2S;t4hwavnFL%u!Vp3QGW1xTL5hH!RLX4y=o&P~$l~T*4JSx)4K##%gd8K%Su@sOX&MckcIQ
zp}$RcUscN?gw^r)5Gu{_*pDyLT9VReh!eupZhvHZ-C!f7ot2l+cA6S9hS_2=&G)K7
z7ng6gS80s*X-tV!g2`fS?2(qsHlb93?Fyh%2&NrXF>JT#6#Lvu67FOec1{V(>pIDV
zf6dvQI_f%Y3w}J>hkHMnYV0(nyJwYZ8TQstrc~~9T_8d7$Kjt(oH6Kk3eQDquJ>~274RmkpYsM}@>nqK}@w>Vm==!1FRK91uR`aAbik5|<1*M*qe
z%O>f?tyEnf)#W}ft+4&_$wUR|Z^)8}*}9aMB~3SC%GN-*=~FtnXxgbhs3uRRL09pV
z<7BJ$!tM_Nb;y>aVG*L;_LTn`>w}f0++;2S-IGk|>LW!Z(Cqd@Ha_jzWk1}{n@h8b
zW7lZX;-F6VW5?Nn!VAi}V{7)AV|&PE8o4-b>AskNavidrome Alexa Skill Documentation"],"titleterms":{"The":0,"about":0,"alexa":0,"api":0,"appear":0,"ar":0,"asknavidrom":0,"below":0,"cloudflar":0,"code":0,"configur":0,"connect":0,"contain":0,"control":0,"creat":0,"debug":0,"deploi":0,"devic":0,"displai":0,"docker":0,"document":0,"error":0,"follow":0,"gener":0,"have":0,"i":0,"insid":0,"instal":0,"intent":0,"issu":0,"known":0,"log":0,"main":0,"media":0,"multipl":0,"music":0,"option":0,"pc":0,"plai":0,"queue":0,"requir":0,"run":0,"servic":0,"setup":0,"similar":0,"skill":0,"subson":0,"support":0,"tip":0,"track":0,"trick":0,"troubl":0,"troubleshoot":0,"try":0,"us":0,"web":0,"when":0,"work":0,"you":0,"your":0}})
\ No newline at end of file
+Search.setIndex({"alltitles":{"About the AskNavidrome Skill":[[0,"about-the-asknavidrome-skill"]],"AskNavidrome Alexa Skill Documentation":[[0,null]],"AskNavidrome controller":[[0,"module-asknavidrome.controller"]],"AskNavidrome main":[[0,"module-app"]],"AskNavidrome media queue":[[0,"asknavidrome-media-queue"]],"AskNavidrome subsonic API":[[0,"asknavidrome-subsonic-api"]],"AskNavidrome track":[[0,"asknavidrome-track"]],"Code Documentation":[[0,"code-documentation"]],"Configuration":[[0,"configuration"]],"Creating the AskNavidrome Alexa Skill":[[0,"creating-the-asknavidrome-alexa-skill"]],"Debug Options":[[0,"debug-options"]],"Deploying the AskNavidrome Web Service":[[0,"deploying-the-asknavidrome-web-service"]],"General":[[0,"general"]],"Installation and Setup":[[0,"installation-and-setup"]],"Known Issues":[[0,"known-issues"]],"Playing Music on Multiple Devices":[[0,"playing-music-on-multiple-devices"]],"Requirements":[[0,"requirements"]],"Run inside a Docker container":[[0,"run-inside-a-docker-container"]],"Run on your PC":[[0,"run-on-your-pc"]],"Supported Intents":[[0,"supported-intents"]],"The following error is displayed when you try to run the Docker container":[[0,"the-following-error-is-displayed-when-you-try-to-run-the-docker-container"]],"The skill appears to work but no music is played. Errors similar to below appear in the web service log":[[0,"the-skill-appears-to-work-but-no-music-is-played-errors-similar-to-below-appear-in-the-web-service-log"]],"Tips & Tricks":[[0,"tips-tricks"]],"Troubleshooting":[[0,"troubleshooting"]],"You are having trouble connecting to the skill and use CloudFlare":[[0,"you-are-having-trouble-connecting-to-the-skill-and-use-cloudflare"]]},"docnames":["index"],"envversion":{"sphinx":65,"sphinx.domains.c":3,"sphinx.domains.changeset":1,"sphinx.domains.citation":1,"sphinx.domains.cpp":9,"sphinx.domains.index":1,"sphinx.domains.javascript":3,"sphinx.domains.math":2,"sphinx.domains.python":4,"sphinx.domains.rst":2,"sphinx.domains.std":2,"sphinx.ext.todo":2},"filenames":["index.rst"],"indexentries":{"add_screen_background() (in module asknavidrome.controller)":[[0,"asknavidrome.controller.add_screen_background",false]],"add_track() (asknavidrome.media_queue.mediaqueue method)":[[0,"asknavidrome.media_queue.MediaQueue.add_track",false]],"albums_by_artist() (asknavidrome.subsonic_api.subsonicconnection method)":[[0,"asknavidrome.subsonic_api.SubsonicConnection.albums_by_artist",false]],"app":[[0,"module-app",false]],"asknavidrome.controller":[[0,"module-asknavidrome.controller",false]],"buffer (asknavidrome.media_queue.mediaqueue attribute)":[[0,"asknavidrome.media_queue.MediaQueue.buffer",false]],"build_random_song_list() (asknavidrome.subsonic_api.subsonicconnection method)":[[0,"asknavidrome.subsonic_api.SubsonicConnection.build_random_song_list",false]],"build_song_list_from_albums() (asknavidrome.subsonic_api.subsonicconnection method)":[[0,"asknavidrome.subsonic_api.SubsonicConnection.build_song_list_from_albums",false]],"build_song_list_from_favourites() (asknavidrome.subsonic_api.subsonicconnection method)":[[0,"asknavidrome.subsonic_api.SubsonicConnection.build_song_list_from_favourites",false]],"build_song_list_from_genre() (asknavidrome.subsonic_api.subsonicconnection method)":[[0,"asknavidrome.subsonic_api.SubsonicConnection.build_song_list_from_genre",false]],"build_song_list_from_playlist() (asknavidrome.subsonic_api.subsonicconnection method)":[[0,"asknavidrome.subsonic_api.SubsonicConnection.build_song_list_from_playlist",false]],"can_handle() (app.checkaudiointerfacehandler method)":[[0,"app.CheckAudioInterfaceHandler.can_handle",false]],"can_handle() (app.generalexceptionhandler method)":[[0,"app.GeneralExceptionHandler.can_handle",false]],"can_handle() (app.helphandler method)":[[0,"app.HelpHandler.can_handle",false]],"can_handle() (app.launchrequesthandler method)":[[0,"app.LaunchRequestHandler.can_handle",false]],"can_handle() (app.navisonicplayalbumbyartist method)":[[0,"app.NaviSonicPlayAlbumByArtist.can_handle",false]],"can_handle() (app.navisonicplayfavouritesongs method)":[[0,"app.NaviSonicPlayFavouriteSongs.can_handle",false]],"can_handle() (app.navisonicplaymusicbyartist method)":[[0,"app.NaviSonicPlayMusicByArtist.can_handle",false]],"can_handle() (app.navisonicplaymusicbygenre method)":[[0,"app.NaviSonicPlayMusicByGenre.can_handle",false]],"can_handle() (app.navisonicplaymusicrandom method)":[[0,"app.NaviSonicPlayMusicRandom.can_handle",false]],"can_handle() (app.navisonicplayplaylist method)":[[0,"app.NaviSonicPlayPlaylist.can_handle",false]],"can_handle() (app.navisonicplaysongbyartist method)":[[0,"app.NaviSonicPlaySongByArtist.can_handle",false]],"can_handle() (app.navisonicrandomisequeue method)":[[0,"app.NaviSonicRandomiseQueue.can_handle",false]],"can_handle() (app.navisonicsongdetails method)":[[0,"app.NaviSonicSongDetails.can_handle",false]],"can_handle() (app.navisonicstarsong method)":[[0,"app.NaviSonicStarSong.can_handle",false]],"can_handle() (app.navisonicunstarsong method)":[[0,"app.NaviSonicUnstarSong.can_handle",false]],"can_handle() (app.nextplaybackhandler method)":[[0,"app.NextPlaybackHandler.can_handle",false]],"can_handle() (app.pauseplaybackhandler method)":[[0,"app.PausePlaybackHandler.can_handle",false]],"can_handle() (app.playbackfailedeventhandler method)":[[0,"app.PlaybackFailedEventHandler.can_handle",false]],"can_handle() (app.playbackfinishedhandler method)":[[0,"app.PlaybackFinishedHandler.can_handle",false]],"can_handle() (app.playbacknearlyfinishedhandler method)":[[0,"app.PlaybackNearlyFinishedHandler.can_handle",false]],"can_handle() (app.playbackstartedhandler method)":[[0,"app.PlaybackStartedHandler.can_handle",false]],"can_handle() (app.playbackstoppedhandler method)":[[0,"app.PlaybackStoppedHandler.can_handle",false]],"can_handle() (app.previousplaybackhandler method)":[[0,"app.PreviousPlaybackHandler.can_handle",false]],"can_handle() (app.resumeplaybackhandler method)":[[0,"app.ResumePlaybackHandler.can_handle",false]],"can_handle() (app.skilleventhandler method)":[[0,"app.SkillEventHandler.can_handle",false]],"can_handle() (app.systemexceptionhandler method)":[[0,"app.SystemExceptionHandler.can_handle",false]],"checkaudiointerfacehandler (class in app)":[[0,"app.CheckAudioInterfaceHandler",false]],"clear() (asknavidrome.media_queue.mediaqueue method)":[[0,"asknavidrome.media_queue.MediaQueue.clear",false]],"current_track (asknavidrome.media_queue.mediaqueue attribute)":[[0,"asknavidrome.media_queue.MediaQueue.current_track",false]],"enqueue_next_track() (asknavidrome.media_queue.mediaqueue method)":[[0,"asknavidrome.media_queue.MediaQueue.enqueue_next_track",false]],"enqueue_songs() (in module asknavidrome.controller)":[[0,"asknavidrome.controller.enqueue_songs",false]],"generalexceptionhandler (class in app)":[[0,"app.GeneralExceptionHandler",false]],"get_buffer() (asknavidrome.media_queue.mediaqueue method)":[[0,"asknavidrome.media_queue.MediaQueue.get_buffer",false]],"get_current_queue() (asknavidrome.media_queue.mediaqueue method)":[[0,"asknavidrome.media_queue.MediaQueue.get_current_queue",false]],"get_current_track() (asknavidrome.media_queue.mediaqueue method)":[[0,"asknavidrome.media_queue.MediaQueue.get_current_track",false]],"get_history() (asknavidrome.media_queue.mediaqueue method)":[[0,"asknavidrome.media_queue.MediaQueue.get_history",false]],"get_history_count() (asknavidrome.media_queue.mediaqueue method)":[[0,"asknavidrome.media_queue.MediaQueue.get_history_count",false]],"get_next_track() (asknavidrome.media_queue.mediaqueue method)":[[0,"asknavidrome.media_queue.MediaQueue.get_next_track",false]],"get_previous_track() (asknavidrome.media_queue.mediaqueue method)":[[0,"asknavidrome.media_queue.MediaQueue.get_previous_track",false]],"get_queue_count() (asknavidrome.media_queue.mediaqueue method)":[[0,"asknavidrome.media_queue.MediaQueue.get_queue_count",false]],"get_song_details() (asknavidrome.subsonic_api.subsonicconnection method)":[[0,"asknavidrome.subsonic_api.SubsonicConnection.get_song_details",false]],"get_song_uri() (asknavidrome.subsonic_api.subsonicconnection method)":[[0,"asknavidrome.subsonic_api.SubsonicConnection.get_song_uri",false]],"handle() (app.checkaudiointerfacehandler method)":[[0,"app.CheckAudioInterfaceHandler.handle",false]],"handle() (app.generalexceptionhandler method)":[[0,"app.GeneralExceptionHandler.handle",false]],"handle() (app.helphandler method)":[[0,"app.HelpHandler.handle",false]],"handle() (app.launchrequesthandler method)":[[0,"app.LaunchRequestHandler.handle",false]],"handle() (app.navisonicplayalbumbyartist method)":[[0,"app.NaviSonicPlayAlbumByArtist.handle",false]],"handle() (app.navisonicplayfavouritesongs method)":[[0,"app.NaviSonicPlayFavouriteSongs.handle",false]],"handle() (app.navisonicplaymusicbyartist method)":[[0,"app.NaviSonicPlayMusicByArtist.handle",false]],"handle() (app.navisonicplaymusicbygenre method)":[[0,"app.NaviSonicPlayMusicByGenre.handle",false]],"handle() (app.navisonicplaymusicrandom method)":[[0,"app.NaviSonicPlayMusicRandom.handle",false]],"handle() (app.navisonicplayplaylist method)":[[0,"app.NaviSonicPlayPlaylist.handle",false]],"handle() (app.navisonicplaysongbyartist method)":[[0,"app.NaviSonicPlaySongByArtist.handle",false]],"handle() (app.navisonicrandomisequeue method)":[[0,"app.NaviSonicRandomiseQueue.handle",false]],"handle() (app.navisonicsongdetails method)":[[0,"app.NaviSonicSongDetails.handle",false]],"handle() (app.navisonicstarsong method)":[[0,"app.NaviSonicStarSong.handle",false]],"handle() (app.navisonicunstarsong method)":[[0,"app.NaviSonicUnstarSong.handle",false]],"handle() (app.nextplaybackhandler method)":[[0,"app.NextPlaybackHandler.handle",false]],"handle() (app.pauseplaybackhandler method)":[[0,"app.PausePlaybackHandler.handle",false]],"handle() (app.playbackfailedeventhandler method)":[[0,"app.PlaybackFailedEventHandler.handle",false]],"handle() (app.playbackfinishedhandler method)":[[0,"app.PlaybackFinishedHandler.handle",false]],"handle() (app.playbacknearlyfinishedhandler method)":[[0,"app.PlaybackNearlyFinishedHandler.handle",false]],"handle() (app.playbackstartedhandler method)":[[0,"app.PlaybackStartedHandler.handle",false]],"handle() (app.playbackstoppedhandler method)":[[0,"app.PlaybackStoppedHandler.handle",false]],"handle() (app.previousplaybackhandler method)":[[0,"app.PreviousPlaybackHandler.handle",false]],"handle() (app.resumeplaybackhandler method)":[[0,"app.ResumePlaybackHandler.handle",false]],"handle() (app.skilleventhandler method)":[[0,"app.SkillEventHandler.handle",false]],"handle() (app.systemexceptionhandler method)":[[0,"app.SystemExceptionHandler.handle",false]],"helphandler (class in app)":[[0,"app.HelpHandler",false]],"history (asknavidrome.media_queue.mediaqueue attribute)":[[0,"asknavidrome.media_queue.MediaQueue.history",false]],"launchrequesthandler (class in app)":[[0,"app.LaunchRequestHandler",false]],"logger (asknavidrome.media_queue.mediaqueue attribute)":[[0,"asknavidrome.media_queue.MediaQueue.logger",false]],"loggingrequestinterceptor (class in app)":[[0,"app.LoggingRequestInterceptor",false]],"loggingresponseinterceptor (class in app)":[[0,"app.LoggingResponseInterceptor",false]],"mediaqueue (class in asknavidrome.media_queue)":[[0,"asknavidrome.media_queue.MediaQueue",false]],"module":[[0,"module-app",false],[0,"module-asknavidrome.controller",false]],"navisonicplayalbumbyartist (class in app)":[[0,"app.NaviSonicPlayAlbumByArtist",false]],"navisonicplayfavouritesongs (class in app)":[[0,"app.NaviSonicPlayFavouriteSongs",false]],"navisonicplaymusicbyartist (class in app)":[[0,"app.NaviSonicPlayMusicByArtist",false]],"navisonicplaymusicbygenre (class in app)":[[0,"app.NaviSonicPlayMusicByGenre",false]],"navisonicplaymusicrandom (class in app)":[[0,"app.NaviSonicPlayMusicRandom",false]],"navisonicplayplaylist (class in app)":[[0,"app.NaviSonicPlayPlaylist",false]],"navisonicplaysongbyartist (class in app)":[[0,"app.NaviSonicPlaySongByArtist",false]],"navisonicrandomisequeue (class in app)":[[0,"app.NaviSonicRandomiseQueue",false]],"navisonicsongdetails (class in app)":[[0,"app.NaviSonicSongDetails",false]],"navisonicstarsong (class in app)":[[0,"app.NaviSonicStarSong",false]],"navisonicunstarsong (class in app)":[[0,"app.NaviSonicUnstarSong",false]],"nextplaybackhandler (class in app)":[[0,"app.NextPlaybackHandler",false]],"pauseplaybackhandler (class in app)":[[0,"app.PausePlaybackHandler",false]],"ping() (asknavidrome.subsonic_api.subsonicconnection method)":[[0,"asknavidrome.subsonic_api.SubsonicConnection.ping",false]],"playbackfailedeventhandler (class in app)":[[0,"app.PlaybackFailedEventHandler",false]],"playbackfinishedhandler (class in app)":[[0,"app.PlaybackFinishedHandler",false]],"playbacknearlyfinishedhandler (class in app)":[[0,"app.PlaybackNearlyFinishedHandler",false]],"playbackstartedhandler (class in app)":[[0,"app.PlaybackStartedHandler",false]],"playbackstoppedhandler (class in app)":[[0,"app.PlaybackStoppedHandler",false]],"previousplaybackhandler (class in app)":[[0,"app.PreviousPlaybackHandler",false]],"process() (app.loggingrequestinterceptor method)":[[0,"app.LoggingRequestInterceptor.process",false]],"process() (app.loggingresponseinterceptor method)":[[0,"app.LoggingResponseInterceptor.process",false]],"queue (asknavidrome.media_queue.mediaqueue attribute)":[[0,"asknavidrome.media_queue.MediaQueue.queue",false]],"queueworkerthread() (in module app)":[[0,"app.queueWorkerThread",false]],"resumeplaybackhandler (class in app)":[[0,"app.ResumePlaybackHandler",false]],"sanitise_speech_output() (in module app)":[[0,"app.sanitise_speech_output",false]],"scrobble() (asknavidrome.subsonic_api.subsonicconnection method)":[[0,"asknavidrome.subsonic_api.SubsonicConnection.scrobble",false]],"search_album() (asknavidrome.subsonic_api.subsonicconnection method)":[[0,"asknavidrome.subsonic_api.SubsonicConnection.search_album",false]],"search_artist() (asknavidrome.subsonic_api.subsonicconnection method)":[[0,"asknavidrome.subsonic_api.SubsonicConnection.search_artist",false]],"search_playlist() (asknavidrome.subsonic_api.subsonicconnection method)":[[0,"asknavidrome.subsonic_api.SubsonicConnection.search_playlist",false]],"search_song() (asknavidrome.subsonic_api.subsonicconnection method)":[[0,"asknavidrome.subsonic_api.SubsonicConnection.search_song",false]],"set_current_track_offset() (asknavidrome.media_queue.mediaqueue method)":[[0,"asknavidrome.media_queue.MediaQueue.set_current_track_offset",false]],"shuffle() (asknavidrome.media_queue.mediaqueue method)":[[0,"asknavidrome.media_queue.MediaQueue.shuffle",false]],"skilleventhandler (class in app)":[[0,"app.SkillEventHandler",false]],"star_entry() (asknavidrome.subsonic_api.subsonicconnection method)":[[0,"asknavidrome.subsonic_api.SubsonicConnection.star_entry",false]],"start_playback() (in module asknavidrome.controller)":[[0,"asknavidrome.controller.start_playback",false]],"stop() (in module asknavidrome.controller)":[[0,"asknavidrome.controller.stop",false]],"subsonicconnection (class in asknavidrome.subsonic_api)":[[0,"asknavidrome.subsonic_api.SubsonicConnection",false]],"sync() (asknavidrome.media_queue.mediaqueue method)":[[0,"asknavidrome.media_queue.MediaQueue.sync",false]],"systemexceptionhandler (class in app)":[[0,"app.SystemExceptionHandler",false]],"track (class in asknavidrome.track)":[[0,"asknavidrome.track.Track",false]],"unstar_entry() (asknavidrome.subsonic_api.subsonicconnection method)":[[0,"asknavidrome.subsonic_api.SubsonicConnection.unstar_entry",false]]},"objects":{"":[[0,0,0,"-","app"]],"app":[[0,1,1,"","CheckAudioInterfaceHandler"],[0,1,1,"","GeneralExceptionHandler"],[0,1,1,"","HelpHandler"],[0,1,1,"","LaunchRequestHandler"],[0,1,1,"","LoggingRequestInterceptor"],[0,1,1,"","LoggingResponseInterceptor"],[0,1,1,"","NaviSonicPlayAlbumByArtist"],[0,1,1,"","NaviSonicPlayFavouriteSongs"],[0,1,1,"","NaviSonicPlayMusicByArtist"],[0,1,1,"","NaviSonicPlayMusicByGenre"],[0,1,1,"","NaviSonicPlayMusicRandom"],[0,1,1,"","NaviSonicPlayPlaylist"],[0,1,1,"","NaviSonicPlaySongByArtist"],[0,1,1,"","NaviSonicRandomiseQueue"],[0,1,1,"","NaviSonicSongDetails"],[0,1,1,"","NaviSonicStarSong"],[0,1,1,"","NaviSonicUnstarSong"],[0,1,1,"","NextPlaybackHandler"],[0,1,1,"","PausePlaybackHandler"],[0,1,1,"","PlaybackFailedEventHandler"],[0,1,1,"","PlaybackFinishedHandler"],[0,1,1,"","PlaybackNearlyFinishedHandler"],[0,1,1,"","PlaybackStartedHandler"],[0,1,1,"","PlaybackStoppedHandler"],[0,1,1,"","PreviousPlaybackHandler"],[0,1,1,"","ResumePlaybackHandler"],[0,1,1,"","SkillEventHandler"],[0,1,1,"","SystemExceptionHandler"],[0,3,1,"","queueWorkerThread"],[0,3,1,"","sanitise_speech_output"]],"app.CheckAudioInterfaceHandler":[[0,2,1,"","can_handle"],[0,2,1,"","handle"]],"app.GeneralExceptionHandler":[[0,2,1,"","can_handle"],[0,2,1,"","handle"]],"app.HelpHandler":[[0,2,1,"","can_handle"],[0,2,1,"","handle"]],"app.LaunchRequestHandler":[[0,2,1,"","can_handle"],[0,2,1,"","handle"]],"app.LoggingRequestInterceptor":[[0,2,1,"","process"]],"app.LoggingResponseInterceptor":[[0,2,1,"","process"]],"app.NaviSonicPlayAlbumByArtist":[[0,2,1,"","can_handle"],[0,2,1,"","handle"]],"app.NaviSonicPlayFavouriteSongs":[[0,2,1,"","can_handle"],[0,2,1,"","handle"]],"app.NaviSonicPlayMusicByArtist":[[0,2,1,"","can_handle"],[0,2,1,"","handle"]],"app.NaviSonicPlayMusicByGenre":[[0,2,1,"","can_handle"],[0,2,1,"","handle"]],"app.NaviSonicPlayMusicRandom":[[0,2,1,"","can_handle"],[0,2,1,"","handle"]],"app.NaviSonicPlayPlaylist":[[0,2,1,"","can_handle"],[0,2,1,"","handle"]],"app.NaviSonicPlaySongByArtist":[[0,2,1,"","can_handle"],[0,2,1,"","handle"]],"app.NaviSonicRandomiseQueue":[[0,2,1,"","can_handle"],[0,2,1,"","handle"]],"app.NaviSonicSongDetails":[[0,2,1,"","can_handle"],[0,2,1,"","handle"]],"app.NaviSonicStarSong":[[0,2,1,"","can_handle"],[0,2,1,"","handle"]],"app.NaviSonicUnstarSong":[[0,2,1,"","can_handle"],[0,2,1,"","handle"]],"app.NextPlaybackHandler":[[0,2,1,"","can_handle"],[0,2,1,"","handle"]],"app.PausePlaybackHandler":[[0,2,1,"","can_handle"],[0,2,1,"","handle"]],"app.PlaybackFailedEventHandler":[[0,2,1,"","can_handle"],[0,2,1,"","handle"]],"app.PlaybackFinishedHandler":[[0,2,1,"","can_handle"],[0,2,1,"","handle"]],"app.PlaybackNearlyFinishedHandler":[[0,2,1,"","can_handle"],[0,2,1,"","handle"]],"app.PlaybackStartedHandler":[[0,2,1,"","can_handle"],[0,2,1,"","handle"]],"app.PlaybackStoppedHandler":[[0,2,1,"","can_handle"],[0,2,1,"","handle"]],"app.PreviousPlaybackHandler":[[0,2,1,"","can_handle"],[0,2,1,"","handle"]],"app.ResumePlaybackHandler":[[0,2,1,"","can_handle"],[0,2,1,"","handle"]],"app.SkillEventHandler":[[0,2,1,"","can_handle"],[0,2,1,"","handle"]],"app.SystemExceptionHandler":[[0,2,1,"","can_handle"],[0,2,1,"","handle"]],"asknavidrome":[[0,0,0,"-","controller"]],"asknavidrome.controller":[[0,3,1,"","add_screen_background"],[0,3,1,"","enqueue_songs"],[0,3,1,"","start_playback"],[0,3,1,"","stop"]],"asknavidrome.media_queue":[[0,1,1,"","MediaQueue"]],"asknavidrome.media_queue.MediaQueue":[[0,2,1,"","add_track"],[0,4,1,"","buffer"],[0,2,1,"","clear"],[0,4,1,"","current_track"],[0,2,1,"","enqueue_next_track"],[0,2,1,"","get_buffer"],[0,2,1,"","get_current_queue"],[0,2,1,"","get_current_track"],[0,2,1,"","get_history"],[0,2,1,"","get_history_count"],[0,2,1,"","get_next_track"],[0,2,1,"","get_previous_track"],[0,2,1,"","get_queue_count"],[0,4,1,"","history"],[0,4,1,"","logger"],[0,4,1,"","queue"],[0,2,1,"","set_current_track_offset"],[0,2,1,"","shuffle"],[0,2,1,"","sync"]],"asknavidrome.subsonic_api":[[0,1,1,"","SubsonicConnection"]],"asknavidrome.subsonic_api.SubsonicConnection":[[0,2,1,"","albums_by_artist"],[0,2,1,"","build_random_song_list"],[0,2,1,"","build_song_list_from_albums"],[0,2,1,"","build_song_list_from_favourites"],[0,2,1,"","build_song_list_from_genre"],[0,2,1,"","build_song_list_from_playlist"],[0,2,1,"","get_song_details"],[0,2,1,"","get_song_uri"],[0,2,1,"","ping"],[0,2,1,"","scrobble"],[0,2,1,"","search_album"],[0,2,1,"","search_artist"],[0,2,1,"","search_playlist"],[0,2,1,"","search_song"],[0,2,1,"","star_entry"],[0,2,1,"","unstar_entry"]],"asknavidrome.track":[[0,1,1,"","Track"]]},"objnames":{"0":["py","module","Python module"],"1":["py","class","Python class"],"2":["py","method","Python method"],"3":["py","function","Python function"],"4":["py","attribute","Python attribute"]},"objtypes":{"0":"py:module","1":"py:class","2":"py:method","3":"py:function","4":"py:attribute"},"terms":{"":0,"0":0,"1":0,"10":0,"11":0,"13":0,"16":0,"17":0,"19":0,"2":0,"200":0,"2022":0,"3":0,"405":0,"44":0,"443":0,"45":0,"478":0,"479":0,"48":0,"480":0,"50":0,"5000":0,"599":0,"600":0,"62":0,"A":0,"As":0,"For":0,"If":0,"In":0,"It":0,"No":0,"Not":0,"One":0,"Then":0,"There":0,"To":0,"abil":0,"abl":0,"accept":0,"access":0,"account":0,"accur":0,"action":0,"actual":0,"ad":0,"add":0,"add_screen_background":0,"add_track":0,"addit":0,"administr":0,"advert":0,"afraid":0,"after":0,"again":0,"against":0,"album":0,"album_id":0,"albums_by_artist":0,"all":0,"allow":0,"along":0,"alreadi":0,"also":0,"altern":0,"amazon":0,"amd64":0,"amzn1":0,"an":0,"android":0,"ani":0,"anyon":0,"anyth":0,"apach":0,"api_loc":0,"api_vers":0,"app":0,"append":0,"applic":0,"architectur":0,"arm":0,"articl":0,"artist":0,"artist_id":0,"ascii":0,"ask":0,"ask_sdk_model":0,"asknavison":0,"askson":0,"attribut":0,"audio":0,"audioitemmetadata":0,"audioplay":0,"authent":0,"author":0,"automat":0,"avail":0,"avoid":0,"awar":0,"back":0,"backend":0,"background":0,"backward":0,"base":0,"basemanag":0,"beatl":0,"becaus":0,"been":0,"befor":0,"began":0,"begin":0,"behind":0,"being":0,"best":0,"between":0,"bin":0,"bit":0,"bitrat":0,"block":0,"blue":0,"bob":0,"bool":0,"boolean":0,"box":0,"brows":0,"browser":0,"buffer":0,"build":0,"build_random_song_list":0,"build_song_list_from_album":0,"build_song_list_from_favourit":0,"build_song_list_from_genr":0,"build_song_list_from_playlist":0,"builder":0,"button":0,"caddi":0,"call":0,"can":0,"can_handl":0,"cancel":0,"cannot":0,"car":0,"card":0,"card_data":0,"catalog":0,"caus":0,"cd":0,"certain":0,"certif":0,"chanc":0,"chang":0,"charact":0,"check":0,"checkaudiointerfacehandl":0,"choos":0,"class":0,"clear":0,"click":0,"clone":0,"close":0,"cn":0,"collect":0,"com":0,"command":0,"common":0,"commun":0,"compat":0,"complet":0,"compliant":0,"compromis":0,"confirm":0,"consist":0,"consol":0,"content":0,"continu":0,"contribut":0,"convert":0,"correct":0,"correctli":0,"cost":0,"could":0,"count":0,"credenti":0,"current":0,"current_track":0,"custom":0,"data":0,"default":0,"defeat":0,"delet":0,"depend":0,"dequ":0,"descript":0,"detail":0,"develop":0,"dict":0,"dictat":0,"dictionari":0,"differ":0,"difficult":0,"difficulti":0,"digit":0,"direct":0,"directli":0,"directori":0,"disabl":0,"disconnect":0,"dispatch":0,"distribut":0,"dn":0,"do":0,"doc":0,"dockerfil":0,"doe":0,"domain":0,"done":0,"down":0,"due":0,"durat":0,"dure":0,"dwebb8272":0,"dynam":0,"e":0,"each":0,"earli":0,"easiest":0,"echo":0,"editor":0,"effect":0,"embed":0,"enabl":0,"encrypt":0,"end":0,"endpoint":0,"enqueu":0,"enqueue_next_track":0,"enqueue_song":0,"ensur":0,"enter":0,"entiti":0,"entri":0,"env":0,"envelop":0,"environ":0,"equal":0,"etc":0,"event":0,"everyth":0,"exampl":0,"except":0,"exceptionencount":0,"exec":0,"execut":0,"exist":0,"experi":0,"explain":0,"extrem":0,"face":0,"fail":0,"fals":0,"favourit":0,"featur":0,"feel":0,"few":0,"field":0,"file":0,"find":0,"finish":0,"firewal":0,"first":0,"flask":0,"flavour":0,"folder":0,"forc":0,"format":0,"forward":0,"found":0,"free":0,"from":0,"front":0,"frustrat":0,"full":0,"function":0,"generalexceptionhandl":0,"genr":0,"get":0,"get_buff":0,"get_current_queu":0,"get_current_track":0,"get_histori":0,"get_history_count":0,"get_next_track":0,"get_previous_track":0,"get_queue_count":0,"get_song_detail":0,"get_song_uri":0,"getgenr":0,"ghcr":0,"git":0,"github":0,"give":0,"given":0,"go":0,"good":0,"greater":0,"group":0,"ha":0,"had":0,"handl":0,"handler":0,"handler_input":0,"handlerinput":0,"happen":0,"hard":0,"haven":0,"help":0,"helphandl":0,"helpint":0,"here":0,"hidden":0,"higher":0,"histori":0,"hold":0,"host":0,"hour":0,"how":0,"howev":0,"html":0,"http":0,"id":0,"idea":0,"identifi":0,"imag":0,"immedi":0,"implement":0,"import":0,"includ":0,"individu":0,"info":0,"inform":0,"ingress":0,"inlin":0,"input":0,"inspir":0,"instanc":0,"instead":0,"instruct":0,"int":0,"interact":0,"intercept":0,"interceptor":0,"interfac":0,"internet":0,"interv":0,"invoc":0,"invok":0,"io":0,"isn":0,"jame25":0,"jazz":0,"json":0,"just":0,"kbp":0,"keep":0,"kit":0,"know":0,"kubernet":0,"languag":0,"last":0,"launchrequest":0,"launchrequesthandl":0,"least":0,"length":0,"let":0,"level":0,"licens":0,"like":0,"limit":0,"list":0,"listen":0,"littl":0,"live":0,"local":0,"locat":0,"logger":0,"loggingrequestinterceptor":0,"loggingresponseinterceptor":0,"login":0,"look":0,"lose":0,"made":0,"mai":0,"maintain":0,"make":0,"mani":0,"manual":0,"markup":0,"match":0,"me":0,"mean":0,"media_error_internal_device_error":0,"media_error_unknown":0,"media_queu":0,"mediaqueu":0,"meet":0,"messag":0,"method":0,"microphon":0,"might":0,"millisecond":0,"mind":0,"minimum":0,"minut":0,"mismatch":0,"miss":0,"mit":0,"mix":0,"mobil":0,"mode":0,"model":0,"more":0,"mp3":0,"much":0,"multi":0,"musicbrainz":0,"must":0,"my":0,"name":0,"navi_api_path":0,"navi_api_v":0,"navi_debug":0,"navi_pass":0,"navi_port":0,"navi_skill_id":0,"navi_song_count":0,"navi_url":0,"navi_us":0,"navidrom":0,"navig":0,"navigatehomeint":0,"navison":0,"navisonicplayalbumbyartist":0,"navisonicplayfavouritesong":0,"navisonicplaymusicbyartist":0,"navisonicplaymusicbygenr":0,"navisonicplaymusicrandom":0,"navisonicplayplaylist":0,"navisonicplaysongbyartist":0,"navisonicrandomisequeu":0,"navisonicsongdetail":0,"navisonicstarsong":0,"navisonicunstarsong":0,"need":0,"new":0,"next":0,"nextint":0,"nextplaybackhandl":0,"nginx":0,"ngrok":0,"non":0,"none":0,"normal":0,"note":0,"noth":0,"nov":0,"now":0,"number":0,"object":0,"object_typ":0,"obviou":0,"offset":0,"onc":0,"onli":0,"open":0,"oper":0,"opt":0,"order":0,"org":0,"other":0,"out":0,"output":0,"overcom":0,"overwrit":0,"own":0,"p":0,"page":0,"pai":0,"paid":0,"paramet":0,"part":0,"pass":0,"passwd":0,"password":0,"past":0,"path":0,"paus":0,"pausecommandissu":0,"pauseplaybackhandl":0,"perform":0,"phrase":0,"pi":0,"picard":0,"pick":0,"ping":0,"pixi":0,"place":0,"platform":0,"play_queu":0,"playaudio":0,"playback":0,"playbackfail":0,"playbackfailedeventhandl":0,"playbackfailedhandl":0,"playbackfinish":0,"playbackfinishedhandl":0,"playbacknearlyfinish":0,"playbacknearlyfinishedhandl":0,"playbackstart":0,"playbackstartedhandl":0,"playbackstop":0,"playbackstoppedhandl":0,"playbehaviour":0,"player":0,"playlist":0,"playlist_nam":0,"pleas":0,"plug":0,"pod":0,"port":0,"portal":0,"posit":0,"possibl":0,"post":0,"power":0,"practic":0,"prebuilt":0,"present":0,"prevent":0,"previou":0,"previous_id":0,"previousint":0,"previousplaybackhandl":0,"primari":0,"print":0,"problem":0,"process":0,"project":0,"properli":0,"properti":0,"provid":0,"provis":0,"proxi":0,"publicli":0,"publish":0,"purpos":0,"py":0,"python":0,"python3":0,"queu":0,"queueworkerthread":0,"quit":0,"rais":0,"random":0,"randomis":0,"raspberri":0,"rate":0,"raul824":0,"read":0,"real":0,"reason":0,"reboot":0,"receiv":0,"recent":0,"recommend":0,"record":0,"refer":0,"region":0,"regular":0,"releas":0,"rememb":0,"remov":0,"renew":0,"replac":0,"replace_al":0,"report":0,"repositori":0,"repres":0,"request":0,"reserv":0,"reset":0,"resolv":0,"resourc":0,"respond":0,"respons":0,"rest":0,"restart":0,"restrict":0,"result":0,"resum":0,"resumeplaybackhandl":0,"retriev":0,"return":0,"revers":0,"review":0,"rock":0,"root":0,"rosskouk":0,"rule":0,"rusty77":0,"sai":0,"same":0,"sanitis":0,"sanitise_speech_output":0,"save":0,"scm":0,"scratch":0,"screen":0,"screenshot":0,"scrobbl":0,"scroll":0,"sdk":0,"search":0,"search_album":0,"search_artist":0,"search_playlist":0,"search_song":0,"second":0,"section":0,"see":0,"seem":0,"select":0,"self":0,"send":0,"sent":0,"serv":0,"server":0,"server_url":0,"session":0,"set":0,"set_current_track_offset":0,"sever":0,"should":0,"show":0,"shuffl":0,"side":0,"sign":0,"similarli":0,"simpl":0,"simul":0,"simultan":0,"singl":0,"skilldis":0,"skillen":0,"skilleventhandl":0,"skip":0,"slot":0,"so":0,"softwar":0,"some":0,"someth":0,"song":0,"song_count":0,"song_id_list":0,"specif":0,"specifi":0,"speech":0,"speech_str":0,"spoken":0,"spotifi":0,"ssl":0,"ssml":0,"ssword":0,"standard":0,"star":0,"star_entri":0,"start":0,"start_playback":0,"step":0,"still":0,"stop":0,"store":0,"str":0,"stream":0,"string":0,"sub":0,"subscript":0,"subsonic_api":0,"subsonicconnect":0,"success":0,"sup3rstrongp":0,"sure":0,"sync":0,"synchronis":0,"synthesi":0,"system":0,"systemexceptionhandl":0,"t":0,"tag":0,"take":0,"task":0,"tell":0,"templat":0,"term":0,"test":0,"text":0,"than":0,"thank":0,"thei":0,"them":0,"thi":0,"thing":0,"those":0,"though":0,"thought":0,"thread":0,"three":0,"through":0,"thrown":0,"thu":0,"tick":0,"time":0,"timestamp":0,"titl":0,"tl":0,"too":0,"tool":0,"track_detail":0,"track_id":0,"track_no":0,"transcod":0,"translat":0,"true":0,"trust":0,"tutori":0,"two":0,"type":0,"u":0,"ui":0,"unabl":0,"uncov":0,"under":0,"understand":0,"unfavourit":0,"union":0,"unix":0,"unless":0,"unstar":0,"unstar_entri":0,"unsupport":0,"until":0,"up":0,"updat":0,"upload":0,"uri":0,"url":0,"urllib":0,"user":0,"usernam":0,"valid":0,"valu":0,"variabl":0,"veri":0,"verifi":0,"version":0,"via":0,"viabl":0,"view":0,"viewabl":0,"voic":0,"wa":0,"waf":0,"wai":0,"wait":0,"want":0,"warn":0,"warranti":0,"websit":0,"well":0,"were":0,"werkzeug":0,"what":0,"where":0,"whether":0,"which":0,"whichev":0,"while":0,"why":0,"wildcard":0,"wish":0,"without":0,"word":0,"would":0,"written":0,"wrong":0,"x509":0,"xxxx":0,"xxxxxxxx":0,"xxxxxxxxxxxx":0,"year":0},"titles":["AskNavidrome Alexa Skill Documentation"],"titleterms":{"The":0,"about":0,"alexa":0,"api":0,"appear":0,"ar":0,"asknavidrom":0,"below":0,"cloudflar":0,"code":0,"configur":0,"connect":0,"contain":0,"control":0,"creat":0,"debug":0,"deploi":0,"devic":0,"displai":0,"docker":0,"document":0,"error":0,"follow":0,"gener":0,"have":0,"i":0,"insid":0,"instal":0,"intent":0,"issu":0,"known":0,"log":0,"main":0,"media":0,"multipl":0,"music":0,"option":0,"pc":0,"plai":0,"queue":0,"requir":0,"run":0,"servic":0,"setup":0,"similar":0,"skill":0,"subson":0,"support":0,"tip":0,"track":0,"trick":0,"troubl":0,"troubleshoot":0,"try":0,"us":0,"web":0,"when":0,"work":0,"you":0,"your":0}})
\ No newline at end of file