Merge branch 'main' of github.com:rosskouk/asknavidrome into main

This commit is contained in:
Ross Stewart
2022-08-27 15:30:00 +01:00
6 changed files with 1862 additions and 32 deletions

View File

@@ -3,7 +3,7 @@
You can adapt this file completely to your liking, but it should at least You can adapt this file completely to your liking, but it should at least
contain the root `toctree` directive. contain the root `toctree` directive.
**AskNavidrome Alexa Skill Documentation - TEST==** **AskNavidrome Alexa Skill Documentation**
========================================== ==========================================
**AskNavidrome** is an Alexa skill which allows you to play music hosted on a SubSonic API compatible media server, like Navidrome. **AskNavidrome** is an Alexa skill which allows you to play music hosted on a SubSonic API compatible media server, like Navidrome.

View File

@@ -49,11 +49,14 @@
| <a href="#H"><strong>H</strong></a> | <a href="#H"><strong>H</strong></a>
| <a href="#L"><strong>L</strong></a> | <a href="#L"><strong>L</strong></a>
| <a href="#M"><strong>M</strong></a> | <a href="#M"><strong>M</strong></a>
| <a href="#N"><strong>N</strong></a>
| <a href="#P"><strong>P</strong></a> | <a href="#P"><strong>P</strong></a>
| <a href="#Q"><strong>Q</strong></a> | <a href="#Q"><strong>Q</strong></a>
| <a href="#R"><strong>R</strong></a>
| <a href="#S"><strong>S</strong></a> | <a href="#S"><strong>S</strong></a>
| <a href="#T"><strong>T</strong></a> | <a href="#T"><strong>T</strong></a>
| <a href="#U"><strong>U</strong></a> | <a href="#U"><strong>U</strong></a>
| <a href="#V"><strong>V</strong></a>
</div> </div>
<h2 id="A">A</h2> <h2 id="A">A</h2>
@@ -63,10 +66,17 @@
</li> </li>
<li><a href="index.html#asknavidrome.media_queue.MediaQueue.add_track">add_track() (asknavidrome.media_queue.MediaQueue method)</a> <li><a href="index.html#asknavidrome.media_queue.MediaQueue.add_track">add_track() (asknavidrome.media_queue.MediaQueue method)</a>
</li> </li>
</ul></td>
<td style="width: 33%; vertical-align: top;"><ul>
<li><a href="index.html#asknavidrome.subsonic_api.SubsonicConnection.albums_by_artist">albums_by_artist() (asknavidrome.subsonic_api.SubsonicConnection method)</a> <li><a href="index.html#asknavidrome.subsonic_api.SubsonicConnection.albums_by_artist">albums_by_artist() (asknavidrome.subsonic_api.SubsonicConnection method)</a>
</li> </li>
</ul></td>
<td style="width: 33%; vertical-align: top;"><ul>
<li>
app
<ul>
<li><a href="index.html#module-app">module</a>
</li>
</ul></li>
<li> <li>
asknavidrome.controller asknavidrome.controller
@@ -100,10 +110,64 @@
<h2 id="C">C</h2> <h2 id="C">C</h2>
<table style="width: 100%" class="indextable genindextable"><tr> <table style="width: 100%" class="indextable genindextable"><tr>
<td style="width: 33%; vertical-align: top;"><ul> <td style="width: 33%; vertical-align: top;"><ul>
<li><a href="index.html#asknavidrome.media_queue.MediaQueue.clear">clear() (asknavidrome.media_queue.MediaQueue method)</a> <li><a href="index.html#app.CheckAudioInterfaceHandler.can_handle">can_handle() (app.CheckAudioInterfaceHandler method)</a>
<ul>
<li><a href="index.html#app.GeneralExceptionHandler.can_handle">(app.GeneralExceptionHandler method)</a>
</li> </li>
<li><a href="index.html#app.HelpHandler.can_handle">(app.HelpHandler method)</a>
</li>
<li><a href="index.html#app.LaunchRequestHandler.can_handle">(app.LaunchRequestHandler method)</a>
</li>
<li><a href="index.html#app.NaviSonicPlayAlbumByArtist.can_handle">(app.NaviSonicPlayAlbumByArtist method)</a>
</li>
<li><a href="index.html#app.NaviSonicPlayFavouriteSongs.can_handle">(app.NaviSonicPlayFavouriteSongs method)</a>
</li>
<li><a href="index.html#app.NaviSonicPlayMusicByArtist.can_handle">(app.NaviSonicPlayMusicByArtist method)</a>
</li>
<li><a href="index.html#app.NaviSonicPlayMusicByGenre.can_handle">(app.NaviSonicPlayMusicByGenre method)</a>
</li>
<li><a href="index.html#app.NaviSonicPlayMusicRandom.can_handle">(app.NaviSonicPlayMusicRandom method)</a>
</li>
<li><a href="index.html#app.NaviSonicPlayPlaylist.can_handle">(app.NaviSonicPlayPlaylist method)</a>
</li>
<li><a href="index.html#app.NaviSonicPlaySongByArtist.can_handle">(app.NaviSonicPlaySongByArtist method)</a>
</li>
<li><a href="index.html#app.NaviSonicSongDetails.can_handle">(app.NaviSonicSongDetails method)</a>
</li>
<li><a href="index.html#app.NaviSonicStarSong.can_handle">(app.NaviSonicStarSong method)</a>
</li>
<li><a href="index.html#app.NaviSonicUnstarSong.can_handle">(app.NaviSonicUnstarSong method)</a>
</li>
<li><a href="index.html#app.NextPlaybackHandler.can_handle">(app.NextPlaybackHandler method)</a>
</li>
<li><a href="index.html#app.PausePlaybackHandler.can_handle">(app.PausePlaybackHandler method)</a>
</li>
<li><a href="index.html#app.PlaybackFailedEventHandler.can_handle">(app.PlaybackFailedEventHandler method)</a>
</li>
<li><a href="index.html#app.PlaybackFinishedHandler.can_handle">(app.PlaybackFinishedHandler method)</a>
</li>
<li><a href="index.html#app.PlaybackNearlyFinishedHandler.can_handle">(app.PlaybackNearlyFinishedHandler method)</a>
</li>
<li><a href="index.html#app.PlaybackStartedHandler.can_handle">(app.PlaybackStartedHandler method)</a>
</li>
<li><a href="index.html#app.PlaybackStoppedHandler.can_handle">(app.PlaybackStoppedHandler method)</a>
</li>
<li><a href="index.html#app.PreviousPlaybackHandler.can_handle">(app.PreviousPlaybackHandler method)</a>
</li>
<li><a href="index.html#app.ResumePlaybackHandler.can_handle">(app.ResumePlaybackHandler method)</a>
</li>
<li><a href="index.html#app.SkillEventHandler.can_handle">(app.SkillEventHandler method)</a>
</li>
<li><a href="index.html#app.SystemExceptionHandler.can_handle">(app.SystemExceptionHandler method)</a>
</li>
</ul></li>
</ul></td> </ul></td>
<td style="width: 33%; vertical-align: top;"><ul> <td style="width: 33%; vertical-align: top;"><ul>
<li><a href="index.html#app.CheckAudioInterfaceHandler">CheckAudioInterfaceHandler (class in app)</a>
</li>
<li><a href="index.html#asknavidrome.media_queue.MediaQueue.clear">clear() (asknavidrome.media_queue.MediaQueue method)</a>
</li>
<li><a href="index.html#asknavidrome.media_queue.MediaQueue.current_track">current_track (asknavidrome.media_queue.MediaQueue attribute)</a> <li><a href="index.html#asknavidrome.media_queue.MediaQueue.current_track">current_track (asknavidrome.media_queue.MediaQueue attribute)</a>
</li> </li>
</ul></td> </ul></td>
@@ -124,14 +188,16 @@
<h2 id="G">G</h2> <h2 id="G">G</h2>
<table style="width: 100%" class="indextable genindextable"><tr> <table style="width: 100%" class="indextable genindextable"><tr>
<td style="width: 33%; vertical-align: top;"><ul> <td style="width: 33%; vertical-align: top;"><ul>
<li><a href="index.html#app.GeneralExceptionHandler">GeneralExceptionHandler (class in app)</a>
</li>
<li><a href="index.html#asknavidrome.media_queue.MediaQueue.get_history_count">get_history_count() (asknavidrome.media_queue.MediaQueue method)</a> <li><a href="index.html#asknavidrome.media_queue.MediaQueue.get_history_count">get_history_count() (asknavidrome.media_queue.MediaQueue method)</a>
</li> </li>
<li><a href="index.html#asknavidrome.media_queue.MediaQueue.get_next_track">get_next_track() (asknavidrome.media_queue.MediaQueue method)</a> <li><a href="index.html#asknavidrome.media_queue.MediaQueue.get_next_track">get_next_track() (asknavidrome.media_queue.MediaQueue method)</a>
</li>
<li><a href="index.html#asknavidrome.media_queue.MediaQueue.get_prevous_track">get_prevous_track() (asknavidrome.media_queue.MediaQueue method)</a>
</li> </li>
</ul></td> </ul></td>
<td style="width: 33%; vertical-align: top;"><ul> <td style="width: 33%; vertical-align: top;"><ul>
<li><a href="index.html#asknavidrome.media_queue.MediaQueue.get_prevous_track">get_prevous_track() (asknavidrome.media_queue.MediaQueue method)</a>
</li>
<li><a href="index.html#asknavidrome.media_queue.MediaQueue.get_queue_count">get_queue_count() (asknavidrome.media_queue.MediaQueue method)</a> <li><a href="index.html#asknavidrome.media_queue.MediaQueue.get_queue_count">get_queue_count() (asknavidrome.media_queue.MediaQueue method)</a>
</li> </li>
<li><a href="index.html#asknavidrome.subsonic_api.SubsonicConnection.get_song_details">get_song_details() (asknavidrome.subsonic_api.SubsonicConnection method)</a> <li><a href="index.html#asknavidrome.subsonic_api.SubsonicConnection.get_song_details">get_song_details() (asknavidrome.subsonic_api.SubsonicConnection method)</a>
@@ -144,6 +210,62 @@
<h2 id="H">H</h2> <h2 id="H">H</h2>
<table style="width: 100%" class="indextable genindextable"><tr> <table style="width: 100%" class="indextable genindextable"><tr>
<td style="width: 33%; vertical-align: top;"><ul> <td style="width: 33%; vertical-align: top;"><ul>
<li><a href="index.html#app.CheckAudioInterfaceHandler.handle">handle() (app.CheckAudioInterfaceHandler method)</a>
<ul>
<li><a href="index.html#app.GeneralExceptionHandler.handle">(app.GeneralExceptionHandler method)</a>
</li>
<li><a href="index.html#app.HelpHandler.handle">(app.HelpHandler method)</a>
</li>
<li><a href="index.html#app.LaunchRequestHandler.handle">(app.LaunchRequestHandler method)</a>
</li>
<li><a href="index.html#app.NaviSonicPlayAlbumByArtist.handle">(app.NaviSonicPlayAlbumByArtist method)</a>
</li>
<li><a href="index.html#app.NaviSonicPlayFavouriteSongs.handle">(app.NaviSonicPlayFavouriteSongs method)</a>
</li>
<li><a href="index.html#app.NaviSonicPlayMusicByArtist.handle">(app.NaviSonicPlayMusicByArtist method)</a>
</li>
<li><a href="index.html#app.NaviSonicPlayMusicByGenre.handle">(app.NaviSonicPlayMusicByGenre method)</a>
</li>
<li><a href="index.html#app.NaviSonicPlayMusicRandom.handle">(app.NaviSonicPlayMusicRandom method)</a>
</li>
<li><a href="index.html#app.NaviSonicPlayPlaylist.handle">(app.NaviSonicPlayPlaylist method)</a>
</li>
<li><a href="index.html#app.NaviSonicPlaySongByArtist.handle">(app.NaviSonicPlaySongByArtist method)</a>
</li>
<li><a href="index.html#app.NaviSonicSongDetails.handle">(app.NaviSonicSongDetails method)</a>
</li>
<li><a href="index.html#app.NaviSonicStarSong.handle">(app.NaviSonicStarSong method)</a>
</li>
<li><a href="index.html#app.NaviSonicUnstarSong.handle">(app.NaviSonicUnstarSong method)</a>
</li>
<li><a href="index.html#app.NextPlaybackHandler.handle">(app.NextPlaybackHandler method)</a>
</li>
<li><a href="index.html#app.PausePlaybackHandler.handle">(app.PausePlaybackHandler method)</a>
</li>
<li><a href="index.html#app.PlaybackFailedEventHandler.handle">(app.PlaybackFailedEventHandler method)</a>
</li>
<li><a href="index.html#app.PlaybackFinishedHandler.handle">(app.PlaybackFinishedHandler method)</a>
</li>
<li><a href="index.html#app.PlaybackNearlyFinishedHandler.handle">(app.PlaybackNearlyFinishedHandler method)</a>
</li>
<li><a href="index.html#app.PlaybackStartedHandler.handle">(app.PlaybackStartedHandler method)</a>
</li>
<li><a href="index.html#app.PlaybackStoppedHandler.handle">(app.PlaybackStoppedHandler method)</a>
</li>
<li><a href="index.html#app.PreviousPlaybackHandler.handle">(app.PreviousPlaybackHandler method)</a>
</li>
<li><a href="index.html#app.ResumePlaybackHandler.handle">(app.ResumePlaybackHandler method)</a>
</li>
<li><a href="index.html#app.SkillEventHandler.handle">(app.SkillEventHandler method)</a>
</li>
<li><a href="index.html#app.SystemExceptionHandler.handle">(app.SystemExceptionHandler method)</a>
</li>
</ul></li>
</ul></td>
<td style="width: 33%; vertical-align: top;"><ul>
<li><a href="index.html#app.HelpHandler">HelpHandler (class in app)</a>
</li>
<li><a href="index.html#asknavidrome.media_queue.MediaQueue.history">history (asknavidrome.media_queue.MediaQueue attribute)</a> <li><a href="index.html#asknavidrome.media_queue.MediaQueue.history">history (asknavidrome.media_queue.MediaQueue attribute)</a>
</li> </li>
</ul></td> </ul></td>
@@ -152,7 +274,15 @@
<h2 id="L">L</h2> <h2 id="L">L</h2>
<table style="width: 100%" class="indextable genindextable"><tr> <table style="width: 100%" class="indextable genindextable"><tr>
<td style="width: 33%; vertical-align: top;"><ul> <td style="width: 33%; vertical-align: top;"><ul>
<li><a href="index.html#app.LaunchRequestHandler">LaunchRequestHandler (class in app)</a>
</li>
<li><a href="index.html#asknavidrome.media_queue.MediaQueue.logger">logger (asknavidrome.media_queue.MediaQueue attribute)</a> <li><a href="index.html#asknavidrome.media_queue.MediaQueue.logger">logger (asknavidrome.media_queue.MediaQueue attribute)</a>
</li>
</ul></td>
<td style="width: 33%; vertical-align: top;"><ul>
<li><a href="index.html#app.LoggingRequestInterceptor">LoggingRequestInterceptor (class in app)</a>
</li>
<li><a href="index.html#app.LoggingResponseInterceptor">LoggingResponseInterceptor (class in app)</a>
</li> </li>
</ul></td> </ul></td>
</tr></table> </tr></table>
@@ -162,23 +292,75 @@
<td style="width: 33%; vertical-align: top;"><ul> <td style="width: 33%; vertical-align: top;"><ul>
<li><a href="index.html#asknavidrome.media_queue.MediaQueue">MediaQueue (class in asknavidrome.media_queue)</a> <li><a href="index.html#asknavidrome.media_queue.MediaQueue">MediaQueue (class in asknavidrome.media_queue)</a>
</li> </li>
</ul></td>
<td style="width: 33%; vertical-align: top;"><ul>
<li> <li>
module module
<ul> <ul>
<li><a href="index.html#module-app">app</a>
</li>
<li><a href="index.html#module-asknavidrome.controller">asknavidrome.controller</a> <li><a href="index.html#module-asknavidrome.controller">asknavidrome.controller</a>
</li> </li>
</ul></li> </ul></li>
</ul></td> </ul></td>
</tr></table> </tr></table>
<h2 id="N">N</h2>
<table style="width: 100%" class="indextable genindextable"><tr>
<td style="width: 33%; vertical-align: top;"><ul>
<li><a href="index.html#app.NaviSonicPlayAlbumByArtist">NaviSonicPlayAlbumByArtist (class in app)</a>
</li>
<li><a href="index.html#app.NaviSonicPlayFavouriteSongs">NaviSonicPlayFavouriteSongs (class in app)</a>
</li>
<li><a href="index.html#app.NaviSonicPlayMusicByArtist">NaviSonicPlayMusicByArtist (class in app)</a>
</li>
<li><a href="index.html#app.NaviSonicPlayMusicByGenre">NaviSonicPlayMusicByGenre (class in app)</a>
</li>
<li><a href="index.html#app.NaviSonicPlayMusicRandom">NaviSonicPlayMusicRandom (class in app)</a>
</li>
</ul></td>
<td style="width: 33%; vertical-align: top;"><ul>
<li><a href="index.html#app.NaviSonicPlayPlaylist">NaviSonicPlayPlaylist (class in app)</a>
</li>
<li><a href="index.html#app.NaviSonicPlaySongByArtist">NaviSonicPlaySongByArtist (class in app)</a>
</li>
<li><a href="index.html#app.NaviSonicSongDetails">NaviSonicSongDetails (class in app)</a>
</li>
<li><a href="index.html#app.NaviSonicStarSong">NaviSonicStarSong (class in app)</a>
</li>
<li><a href="index.html#app.NaviSonicUnstarSong">NaviSonicUnstarSong (class in app)</a>
</li>
<li><a href="index.html#app.NextPlaybackHandler">NextPlaybackHandler (class in app)</a>
</li>
</ul></td>
</tr></table>
<h2 id="P">P</h2> <h2 id="P">P</h2>
<table style="width: 100%" class="indextable genindextable"><tr> <table style="width: 100%" class="indextable genindextable"><tr>
<td style="width: 33%; vertical-align: top;"><ul> <td style="width: 33%; vertical-align: top;"><ul>
<li><a href="index.html#app.PausePlaybackHandler">PausePlaybackHandler (class in app)</a>
</li>
<li><a href="index.html#asknavidrome.subsonic_api.SubsonicConnection.ping">ping() (asknavidrome.subsonic_api.SubsonicConnection method)</a> <li><a href="index.html#asknavidrome.subsonic_api.SubsonicConnection.ping">ping() (asknavidrome.subsonic_api.SubsonicConnection method)</a>
</li> </li>
<li><a href="index.html#app.PlaybackFailedEventHandler">PlaybackFailedEventHandler (class in app)</a>
</li>
<li><a href="index.html#app.PlaybackFinishedHandler">PlaybackFinishedHandler (class in app)</a>
</li>
<li><a href="index.html#app.PlaybackNearlyFinishedHandler">PlaybackNearlyFinishedHandler (class in app)</a>
</li>
</ul></td>
<td style="width: 33%; vertical-align: top;"><ul>
<li><a href="index.html#app.PlaybackStartedHandler">PlaybackStartedHandler (class in app)</a>
</li>
<li><a href="index.html#app.PlaybackStoppedHandler">PlaybackStoppedHandler (class in app)</a>
</li>
<li><a href="index.html#app.PreviousPlaybackHandler">PreviousPlaybackHandler (class in app)</a>
</li>
<li><a href="index.html#app.LoggingRequestInterceptor.process">process() (app.LoggingRequestInterceptor method)</a>
<ul>
<li><a href="index.html#app.LoggingResponseInterceptor.process">(app.LoggingResponseInterceptor method)</a>
</li>
</ul></li>
</ul></td> </ul></td>
</tr></table> </tr></table>
@@ -190,6 +372,14 @@
</ul></td> </ul></td>
</tr></table> </tr></table>
<h2 id="R">R</h2>
<table style="width: 100%" class="indextable genindextable"><tr>
<td style="width: 33%; vertical-align: top;"><ul>
<li><a href="index.html#app.ResumePlaybackHandler">ResumePlaybackHandler (class in app)</a>
</li>
</ul></td>
</tr></table>
<h2 id="S">S</h2> <h2 id="S">S</h2>
<table style="width: 100%" class="indextable genindextable"><tr> <table style="width: 100%" class="indextable genindextable"><tr>
<td style="width: 33%; vertical-align: top;"><ul> <td style="width: 33%; vertical-align: top;"><ul>
@@ -202,6 +392,8 @@
<li><a href="index.html#asknavidrome.subsonic_api.SubsonicConnection.search_song">search_song() (asknavidrome.subsonic_api.SubsonicConnection method)</a> <li><a href="index.html#asknavidrome.subsonic_api.SubsonicConnection.search_song">search_song() (asknavidrome.subsonic_api.SubsonicConnection method)</a>
</li> </li>
<li><a href="index.html#asknavidrome.media_queue.MediaQueue.shuffle">shuffle() (asknavidrome.media_queue.MediaQueue method)</a> <li><a href="index.html#asknavidrome.media_queue.MediaQueue.shuffle">shuffle() (asknavidrome.media_queue.MediaQueue method)</a>
</li>
<li><a href="index.html#app.SkillEventHandler">SkillEventHandler (class in app)</a>
</li> </li>
</ul></td> </ul></td>
<td style="width: 33%; vertical-align: top;"><ul> <td style="width: 33%; vertical-align: top;"><ul>
@@ -214,6 +406,8 @@
<li><a href="index.html#asknavidrome.subsonic_api.SubsonicConnection">SubsonicConnection (class in asknavidrome.subsonic_api)</a> <li><a href="index.html#asknavidrome.subsonic_api.SubsonicConnection">SubsonicConnection (class in asknavidrome.subsonic_api)</a>
</li> </li>
<li><a href="index.html#asknavidrome.media_queue.MediaQueue.sync">sync() (asknavidrome.media_queue.MediaQueue method)</a> <li><a href="index.html#asknavidrome.media_queue.MediaQueue.sync">sync() (asknavidrome.media_queue.MediaQueue method)</a>
</li>
<li><a href="index.html#app.SystemExceptionHandler">SystemExceptionHandler (class in app)</a>
</li> </li>
</ul></td> </ul></td>
</tr></table> </tr></table>
@@ -234,6 +428,20 @@
</ul></td> </ul></td>
</tr></table> </tr></table>
<h2 id="V">V</h2>
<table style="width: 100%" class="indextable genindextable"><tr>
<td style="width: 33%; vertical-align: top;"><ul>
<li><a href="index.html#app.view_buffer">view_buffer() (in module app)</a>
</li>
</ul></td>
<td style="width: 33%; vertical-align: top;"><ul>
<li><a href="index.html#app.view_history">view_history() (in module app)</a>
</li>
<li><a href="index.html#app.view_queue">view_queue() (in module app)</a>
</li>
</ul></td>
</tr></table>
<div class="clearer"></div> <div class="clearer"></div>

File diff suppressed because it is too large Load Diff

Binary file not shown.

View File

@@ -51,6 +51,11 @@
<tr class="pcap"><td></td><td>&#160;</td><td></td></tr> <tr class="pcap"><td></td><td>&#160;</td><td></td></tr>
<tr class="cap" id="cap-a"><td></td><td> <tr class="cap" id="cap-a"><td></td><td>
<strong>a</strong></td><td></td></tr> <strong>a</strong></td><td></td></tr>
<tr>
<td></td>
<td>
<a href="index.html#module-app"><code class="xref">app</code></a></td><td>
<em></em></td></tr>
<tr> <tr>
<td><img src="_static/minus.png" class="toggler" <td><img src="_static/minus.png" class="toggler"
id="toggle-1" style="display: none" alt="-" /></td> id="toggle-1" style="display: none" alt="-" /></td>

File diff suppressed because one or more lines are too long