Documentation update
This commit is contained in:
134
docs/_static/_sphinx_javascript_frameworks_compat.js
vendored
134
docs/_static/_sphinx_javascript_frameworks_compat.js
vendored
@@ -1,134 +0,0 @@
|
||||
/*
|
||||
* _sphinx_javascript_frameworks_compat.js
|
||||
* ~~~~~~~~~~
|
||||
*
|
||||
* Compatability shim for jQuery and underscores.js.
|
||||
*
|
||||
* WILL BE REMOVED IN Sphinx 6.0
|
||||
* xref RemovedInSphinx60Warning
|
||||
*
|
||||
*/
|
||||
|
||||
/**
|
||||
* select a different prefix for underscore
|
||||
*/
|
||||
$u = _.noConflict();
|
||||
|
||||
|
||||
/**
|
||||
* small helper function to urldecode strings
|
||||
*
|
||||
* See https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/decodeURIComponent#Decoding_query_parameters_from_a_URL
|
||||
*/
|
||||
jQuery.urldecode = function(x) {
|
||||
if (!x) {
|
||||
return x
|
||||
}
|
||||
return decodeURIComponent(x.replace(/\+/g, ' '));
|
||||
};
|
||||
|
||||
/**
|
||||
* small helper function to urlencode strings
|
||||
*/
|
||||
jQuery.urlencode = encodeURIComponent;
|
||||
|
||||
/**
|
||||
* This function returns the parsed url parameters of the
|
||||
* current request. Multiple values per key are supported,
|
||||
* it will always return arrays of strings for the value parts.
|
||||
*/
|
||||
jQuery.getQueryParameters = function(s) {
|
||||
if (typeof s === 'undefined')
|
||||
s = document.location.search;
|
||||
var parts = s.substr(s.indexOf('?') + 1).split('&');
|
||||
var result = {};
|
||||
for (var i = 0; i < parts.length; i++) {
|
||||
var tmp = parts[i].split('=', 2);
|
||||
var key = jQuery.urldecode(tmp[0]);
|
||||
var value = jQuery.urldecode(tmp[1]);
|
||||
if (key in result)
|
||||
result[key].push(value);
|
||||
else
|
||||
result[key] = [value];
|
||||
}
|
||||
return result;
|
||||
};
|
||||
|
||||
/**
|
||||
* highlight a given string on a jquery object by wrapping it in
|
||||
* span elements with the given class name.
|
||||
*/
|
||||
jQuery.fn.highlightText = function(text, className) {
|
||||
function highlight(node, addItems) {
|
||||
if (node.nodeType === 3) {
|
||||
var val = node.nodeValue;
|
||||
var pos = val.toLowerCase().indexOf(text);
|
||||
if (pos >= 0 &&
|
||||
!jQuery(node.parentNode).hasClass(className) &&
|
||||
!jQuery(node.parentNode).hasClass("nohighlight")) {
|
||||
var span;
|
||||
var isInSVG = jQuery(node).closest("body, svg, foreignObject").is("svg");
|
||||
if (isInSVG) {
|
||||
span = document.createElementNS("http://www.w3.org/2000/svg", "tspan");
|
||||
} else {
|
||||
span = document.createElement("span");
|
||||
span.className = className;
|
||||
}
|
||||
span.appendChild(document.createTextNode(val.substr(pos, text.length)));
|
||||
node.parentNode.insertBefore(span, node.parentNode.insertBefore(
|
||||
document.createTextNode(val.substr(pos + text.length)),
|
||||
node.nextSibling));
|
||||
node.nodeValue = val.substr(0, pos);
|
||||
if (isInSVG) {
|
||||
var rect = document.createElementNS("http://www.w3.org/2000/svg", "rect");
|
||||
var bbox = node.parentElement.getBBox();
|
||||
rect.x.baseVal.value = bbox.x;
|
||||
rect.y.baseVal.value = bbox.y;
|
||||
rect.width.baseVal.value = bbox.width;
|
||||
rect.height.baseVal.value = bbox.height;
|
||||
rect.setAttribute('class', className);
|
||||
addItems.push({
|
||||
"parent": node.parentNode,
|
||||
"target": rect});
|
||||
}
|
||||
}
|
||||
}
|
||||
else if (!jQuery(node).is("button, select, textarea")) {
|
||||
jQuery.each(node.childNodes, function() {
|
||||
highlight(this, addItems);
|
||||
});
|
||||
}
|
||||
}
|
||||
var addItems = [];
|
||||
var result = this.each(function() {
|
||||
highlight(this, addItems);
|
||||
});
|
||||
for (var i = 0; i < addItems.length; ++i) {
|
||||
jQuery(addItems[i].parent).before(addItems[i].target);
|
||||
}
|
||||
return result;
|
||||
};
|
||||
|
||||
/*
|
||||
* backward compatibility for jQuery.browser
|
||||
* This will be supported until firefox bug is fixed.
|
||||
*/
|
||||
if (!jQuery.browser) {
|
||||
jQuery.uaMatch = function(ua) {
|
||||
ua = ua.toLowerCase();
|
||||
|
||||
var match = /(chrome)[ \/]([\w.]+)/.exec(ua) ||
|
||||
/(webkit)[ \/]([\w.]+)/.exec(ua) ||
|
||||
/(opera)(?:.*version|)[ \/]([\w.]+)/.exec(ua) ||
|
||||
/(msie) ([\w.]+)/.exec(ua) ||
|
||||
ua.indexOf("compatible") < 0 && /(mozilla)(?:.*? rv:([\w.]+)|)/.exec(ua) ||
|
||||
[];
|
||||
|
||||
return {
|
||||
browser: match[ 1 ] || "",
|
||||
version: match[ 2 ] || "0"
|
||||
};
|
||||
};
|
||||
jQuery.browser = {};
|
||||
jQuery.browser[jQuery.uaMatch(navigator.userAgent).browser] = true;
|
||||
}
|
||||
5
docs/_static/basic.css
vendored
5
docs/_static/basic.css
vendored
@@ -4,7 +4,7 @@
|
||||
*
|
||||
* Sphinx stylesheet -- basic theme.
|
||||
*
|
||||
* :copyright: Copyright 2007-2022 by the Sphinx team, see AUTHORS.
|
||||
* :copyright: Copyright 2007-2023 by the Sphinx team, see AUTHORS.
|
||||
* :license: BSD, see LICENSE for details.
|
||||
*
|
||||
*/
|
||||
@@ -324,6 +324,7 @@ aside.sidebar {
|
||||
p.sidebar-title {
|
||||
font-weight: bold;
|
||||
}
|
||||
|
||||
nav.contents,
|
||||
aside.topic,
|
||||
div.admonition, div.topic, blockquote {
|
||||
@@ -331,6 +332,7 @@ div.admonition, div.topic, blockquote {
|
||||
}
|
||||
|
||||
/* -- topics ---------------------------------------------------------------- */
|
||||
|
||||
nav.contents,
|
||||
aside.topic,
|
||||
div.topic {
|
||||
@@ -606,6 +608,7 @@ ol.simple p,
|
||||
ul.simple p {
|
||||
margin-bottom: 0;
|
||||
}
|
||||
|
||||
aside.footnote > span,
|
||||
div.citation > span {
|
||||
float: left;
|
||||
|
||||
2
docs/_static/doctools.js
vendored
2
docs/_static/doctools.js
vendored
@@ -4,7 +4,7 @@
|
||||
*
|
||||
* Base JavaScript utilities for all Sphinx HTML documentation.
|
||||
*
|
||||
* :copyright: Copyright 2007-2022 by the Sphinx team, see AUTHORS.
|
||||
* :copyright: Copyright 2007-2023 by the Sphinx team, see AUTHORS.
|
||||
* :license: BSD, see LICENSE for details.
|
||||
*
|
||||
*/
|
||||
|
||||
10881
docs/_static/jquery-3.6.0.js
vendored
10881
docs/_static/jquery-3.6.0.js
vendored
File diff suppressed because it is too large
Load Diff
2
docs/_static/jquery.js
vendored
2
docs/_static/jquery.js
vendored
File diff suppressed because one or more lines are too long
2
docs/_static/language_data.js
vendored
2
docs/_static/language_data.js
vendored
@@ -5,7 +5,7 @@
|
||||
* This script contains the language-specific data used by searchtools.js,
|
||||
* namely the list of stopwords, stemmer, scorer and splitter.
|
||||
*
|
||||
* :copyright: Copyright 2007-2022 by the Sphinx team, see AUTHORS.
|
||||
* :copyright: Copyright 2007-2023 by the Sphinx team, see AUTHORS.
|
||||
* :license: BSD, see LICENSE for details.
|
||||
*
|
||||
*/
|
||||
|
||||
2
docs/_static/searchtools.js
vendored
2
docs/_static/searchtools.js
vendored
@@ -4,7 +4,7 @@
|
||||
*
|
||||
* Sphinx JavaScript utilities for the full-text search.
|
||||
*
|
||||
* :copyright: Copyright 2007-2022 by the Sphinx team, see AUTHORS.
|
||||
* :copyright: Copyright 2007-2023 by the Sphinx team, see AUTHORS.
|
||||
* :license: BSD, see LICENSE for details.
|
||||
*
|
||||
*/
|
||||
|
||||
2042
docs/_static/underscore-1.13.1.js
vendored
2042
docs/_static/underscore-1.13.1.js
vendored
File diff suppressed because it is too large
Load Diff
6
docs/_static/underscore.js
vendored
6
docs/_static/underscore.js
vendored
File diff suppressed because one or more lines are too long
@@ -11,9 +11,6 @@
|
||||
<link rel="stylesheet" type="text/css" href="_static/css/custom.css" />
|
||||
<link rel="stylesheet" href="../_static/css/functions.css" type="text/css" />
|
||||
<script data-url_root="./" id="documentation_options" src="_static/documentation_options.js"></script>
|
||||
<script src="_static/jquery.js"></script>
|
||||
<script src="_static/underscore.js"></script>
|
||||
<script src="_static/_sphinx_javascript_frameworks_compat.js"></script>
|
||||
<script src="_static/doctools.js"></script>
|
||||
<script src="_static/sphinx_highlight.js"></script>
|
||||
<link rel="index" title="Index" href="#" />
|
||||
@@ -471,7 +468,7 @@
|
||||
</div>
|
||||
<div class="footer" role="contentinfo">
|
||||
© Copyright 2022, Ross Stewart.
|
||||
Created using <a href="https://www.sphinx-doc.org/">Sphinx</a> 5.3.0.
|
||||
Created using <a href="https://www.sphinx-doc.org/">Sphinx</a> 6.1.3.
|
||||
</div>
|
||||
</body>
|
||||
</html>
|
||||
@@ -12,9 +12,6 @@
|
||||
<link rel="stylesheet" type="text/css" href="_static/css/custom.css" />
|
||||
<link rel="stylesheet" href="../_static/css/functions.css" type="text/css" />
|
||||
<script data-url_root="./" id="documentation_options" src="_static/documentation_options.js"></script>
|
||||
<script src="_static/jquery.js"></script>
|
||||
<script src="_static/underscore.js"></script>
|
||||
<script src="_static/_sphinx_javascript_frameworks_compat.js"></script>
|
||||
<script src="_static/doctools.js"></script>
|
||||
<script src="_static/sphinx_highlight.js"></script>
|
||||
<link rel="index" title="Index" href="genindex.html" />
|
||||
@@ -298,28 +295,28 @@ accessible.</p>
|
||||
</li>
|
||||
<li><p>Create a directory for the web service</p></li>
|
||||
<li><p>Change to the directory and clone the repository from GitHub</p>
|
||||
<div class="highlight-bash notranslate"><div class="highlight"><pre><span></span><span class="nb">cd</span> directory
|
||||
git clone https://github.com/rosskouk/asknavidrome.git
|
||||
<div class="highlight-bash notranslate"><div class="highlight"><pre><span></span><span class="nb">cd</span><span class="w"> </span>directory
|
||||
git<span class="w"> </span>clone<span class="w"> </span>https://github.com/rosskouk/asknavidrome.git
|
||||
</pre></div>
|
||||
</div>
|
||||
</li>
|
||||
<li><p>Change directory to the skill folder</p>
|
||||
<div class="highlight-bash notranslate"><div class="highlight"><pre><span></span><span class="nb">cd</span> asknavidrome/skill
|
||||
<div class="highlight-bash notranslate"><div class="highlight"><pre><span></span><span class="nb">cd</span><span class="w"> </span>asknavidrome/skill
|
||||
</pre></div>
|
||||
</div>
|
||||
</li>
|
||||
<li><p>Start the skill by setting the required environment variables and executing the application
|
||||
you can find details of what each option does in the <em>configuration</em> section.</p>
|
||||
<div class="highlight-bash notranslate"><div class="highlight"><pre><span></span><span class="nv">NAVI_SKILL_ID</span><span class="o">=</span><your-skill-id> <span class="se">\</span>
|
||||
<span class="nv">NAVI_SONG_COUNT</span><span class="o">=</span><span class="m">50</span> <span class="se">\</span>
|
||||
<span class="nv">NAVI_URL</span><span class="o">=</span>https://your-navidrome-server.test <span class="se">\</span>
|
||||
<span class="nv">NAVI_USER</span><span class="o">=</span><username> <span class="se">\</span>
|
||||
<span class="nv">NAVI_PASS</span><span class="o">=</span><password> <span class="se">\</span>
|
||||
<span class="nv">NAVI_PORT</span><span class="o">=</span><span class="m">443</span> <span class="se">\</span>
|
||||
<span class="nv">NAVI_API_PATH</span><span class="o">=</span>/rest <span class="se">\</span>
|
||||
<span class="nv">NAVI_API_VER</span><span class="o">=</span><span class="m">1</span>.16.1 <span class="se">\</span>
|
||||
<span class="nv">NAVI_DEBUG</span><span class="o">=</span><span class="m">0</span> <span class="se">\</span>
|
||||
python3 app.py
|
||||
<div class="highlight-bash notranslate"><div class="highlight"><pre><span></span><span class="nv">NAVI_SKILL_ID</span><span class="o">=</span><your-skill-id><span class="w"> </span><span class="se">\</span>
|
||||
<span class="nv">NAVI_SONG_COUNT</span><span class="o">=</span><span class="m">50</span><span class="w"> </span><span class="se">\</span>
|
||||
<span class="nv">NAVI_URL</span><span class="o">=</span>https://your-navidrome-server.test<span class="w"> </span><span class="se">\</span>
|
||||
<span class="nv">NAVI_USER</span><span class="o">=</span><username><span class="w"> </span><span class="se">\</span>
|
||||
<span class="nv">NAVI_PASS</span><span class="o">=</span><password><span class="w"> </span><span class="se">\</span>
|
||||
<span class="nv">NAVI_PORT</span><span class="o">=</span><span class="m">443</span><span class="w"> </span><span class="se">\</span>
|
||||
<span class="nv">NAVI_API_PATH</span><span class="o">=</span>/rest<span class="w"> </span><span class="se">\</span>
|
||||
<span class="nv">NAVI_API_VER</span><span class="o">=</span><span class="m">1</span>.16.1<span class="w"> </span><span class="se">\</span>
|
||||
<span class="nv">NAVI_DEBUG</span><span class="o">=</span><span class="m">0</span><span class="w"> </span><span class="se">\</span>
|
||||
python3<span class="w"> </span>app.py
|
||||
</pre></div>
|
||||
</div>
|
||||
</li>
|
||||
@@ -330,16 +327,16 @@ python3 app.py
|
||||
<p>A Dockerfile has been provided and a prebuilt container is hosted on github.com. <strong>Please note that the prebuilt container was created on an amd64 platform</strong>. If you
|
||||
require a different architecture such as arm for a Raspberry Pi, you will need to build a new image using the Dockerfile provided with the repository.</p>
|
||||
<p>You can configure the service by passing environment variables to the <em>docker run</em> command.</p>
|
||||
<div class="highlight-bash notranslate"><div class="highlight"><pre><span></span>docker run -p <span class="m">5000</span>:5000 <span class="se">\</span>
|
||||
-e <span class="nv">NAVI_SKILL_ID</span><span class="o">=</span><your-skill-id> <span class="se">\</span>
|
||||
-e <span class="nv">NAVI_SONG_COUNT</span><span class="o">=</span><span class="m">50</span> <span class="se">\</span>
|
||||
-e <span class="nv">NAVI_URL</span><span class="o">=</span>https://your-navidrome-server.test <span class="se">\</span>
|
||||
-e <span class="nv">NAVI_USER</span><span class="o">=</span><username> <span class="se">\</span>
|
||||
-e <span class="nv">NAVI_PASS</span><span class="o">=</span><password> <span class="se">\</span>
|
||||
-e <span class="nv">NAVI_PORT</span><span class="o">=</span><span class="m">443</span> <span class="se">\</span>
|
||||
-e <span class="nv">NAVI_API_PATH</span><span class="o">=</span>/rest <span class="se">\</span>
|
||||
-e <span class="nv">NAVI_API_VER</span><span class="o">=</span><span class="m">1</span>.16.1 <span class="se">\</span>
|
||||
-e <span class="nv">NAVI_DEBUG</span><span class="o">=</span><span class="m">0</span> <span class="se">\</span>
|
||||
<div class="highlight-bash notranslate"><div class="highlight"><pre><span></span>docker<span class="w"> </span>run<span class="w"> </span>-p<span class="w"> </span><span class="m">5000</span>:5000<span class="w"> </span><span class="se">\</span>
|
||||
-e<span class="w"> </span><span class="nv">NAVI_SKILL_ID</span><span class="o">=</span><your-skill-id><span class="w"> </span><span class="se">\</span>
|
||||
-e<span class="w"> </span><span class="nv">NAVI_SONG_COUNT</span><span class="o">=</span><span class="m">50</span><span class="w"> </span><span class="se">\</span>
|
||||
-e<span class="w"> </span><span class="nv">NAVI_URL</span><span class="o">=</span>https://your-navidrome-server.test<span class="w"> </span><span class="se">\</span>
|
||||
-e<span class="w"> </span><span class="nv">NAVI_USER</span><span class="o">=</span><username><span class="w"> </span><span class="se">\</span>
|
||||
-e<span class="w"> </span><span class="nv">NAVI_PASS</span><span class="o">=</span><password><span class="w"> </span><span class="se">\</span>
|
||||
-e<span class="w"> </span><span class="nv">NAVI_PORT</span><span class="o">=</span><span class="m">443</span><span class="w"> </span><span class="se">\</span>
|
||||
-e<span class="w"> </span><span class="nv">NAVI_API_PATH</span><span class="o">=</span>/rest<span class="w"> </span><span class="se">\</span>
|
||||
-e<span class="w"> </span><span class="nv">NAVI_API_VER</span><span class="o">=</span><span class="m">1</span>.16.1<span class="w"> </span><span class="se">\</span>
|
||||
-e<span class="w"> </span><span class="nv">NAVI_DEBUG</span><span class="o">=</span><span class="m">0</span><span class="w"> </span><span class="se">\</span>
|
||||
ghcr.io/rosskouk/asknavidrome:<tag>
|
||||
</pre></div>
|
||||
</div>
|
||||
@@ -470,11 +467,11 @@ will be <strong>publicly</strong> available while this is enabled.</p></li>
|
||||
<h3>Known Issues<a class="headerlink" href="#known-issues" title="Permalink to this heading">¶</a></h3>
|
||||
<ol class="arabic">
|
||||
<li><p>The skill appears to work but no music is played. Errors similar to below appear in the web service log</p>
|
||||
<div class="highlight-bash notranslate"><div class="highlight"><pre><span></span><span class="m">2022</span>-11-19 <span class="m">13</span>:16:45,478 - root - DEBUG - In PlaybackFailedHandler
|
||||
<span class="m">2022</span>-11-19 <span class="m">13</span>:16:45,479 - root - ERROR - Playback Failed: <span class="o">{</span><span class="s1">'message'</span>: <span class="s1">'Device playback error'</span>, <span class="s1">'object_type'</span>: <span class="s1">'MEDIA_ERROR_UNKNOWN'</span><span class="o">}</span>
|
||||
<span class="m">2022</span>-11-19 <span class="m">13</span>:16:45,480 - werkzeug - INFO - <span class="m">10</span>.44.17.62 - - <span class="o">[</span><span class="m">19</span>/Nov/2022 <span class="m">13</span>:16:45<span class="o">]</span> <span class="s2">"POST / HTTP/1.1"</span> <span class="m">200</span> -
|
||||
<span class="m">2022</span>-11-19 <span class="m">13</span>:16:48,599 - root - DEBUG - In PlaybackFailedHandler
|
||||
<span class="m">2022</span>-11-19 <span class="m">13</span>:16:48,600 - root - ERROR - Playback Failed: <span class="o">{</span><span class="s1">'message'</span>: <span class="s1">'Device playback error'</span>,<span class="s1">'object_type'</span>: <span class="s1">'MEDIA_ERROR_INTERNAL_DEVICE_ERROR'</span><span class="o">}</span>
|
||||
<div class="highlight-bash notranslate"><div class="highlight"><pre><span></span><span class="m">2022</span>-11-19<span class="w"> </span><span class="m">13</span>:16:45,478<span class="w"> </span>-<span class="w"> </span>root<span class="w"> </span>-<span class="w"> </span>DEBUG<span class="w"> </span>-<span class="w"> </span>In<span class="w"> </span>PlaybackFailedHandler
|
||||
<span class="m">2022</span>-11-19<span class="w"> </span><span class="m">13</span>:16:45,479<span class="w"> </span>-<span class="w"> </span>root<span class="w"> </span>-<span class="w"> </span>ERROR<span class="w"> </span>-<span class="w"> </span>Playback<span class="w"> </span>Failed:<span class="w"> </span><span class="o">{</span><span class="s1">'message'</span>:<span class="w"> </span><span class="s1">'Device playback error'</span>,<span class="w"> </span><span class="s1">'object_type'</span>:<span class="w"> </span><span class="s1">'MEDIA_ERROR_UNKNOWN'</span><span class="o">}</span>
|
||||
<span class="m">2022</span>-11-19<span class="w"> </span><span class="m">13</span>:16:45,480<span class="w"> </span>-<span class="w"> </span>werkzeug<span class="w"> </span>-<span class="w"> </span>INFO<span class="w"> </span>-<span class="w"> </span><span class="m">10</span>.44.17.62<span class="w"> </span>-<span class="w"> </span>-<span class="w"> </span><span class="o">[</span><span class="m">19</span>/Nov/2022<span class="w"> </span><span class="m">13</span>:16:45<span class="o">]</span><span class="w"> </span><span class="s2">"POST / HTTP/1.1"</span><span class="w"> </span><span class="m">200</span><span class="w"> </span>-
|
||||
<span class="m">2022</span>-11-19<span class="w"> </span><span class="m">13</span>:16:48,599<span class="w"> </span>-<span class="w"> </span>root<span class="w"> </span>-<span class="w"> </span>DEBUG<span class="w"> </span>-<span class="w"> </span>In<span class="w"> </span>PlaybackFailedHandler
|
||||
<span class="m">2022</span>-11-19<span class="w"> </span><span class="m">13</span>:16:48,600<span class="w"> </span>-<span class="w"> </span>root<span class="w"> </span>-<span class="w"> </span>ERROR<span class="w"> </span>-<span class="w"> </span>Playback<span class="w"> </span>Failed:<span class="w"> </span><span class="o">{</span><span class="s1">'message'</span>:<span class="w"> </span><span class="s1">'Device playback error'</span>,<span class="s1">'object_type'</span>:<span class="w"> </span><span class="s1">'MEDIA_ERROR_INTERNAL_DEVICE_ERROR'</span><span class="o">}</span>
|
||||
</pre></div>
|
||||
</div>
|
||||
<ul class="simple">
|
||||
@@ -483,7 +480,7 @@ Disconnect the power for a minute and plug it back in then try again and music s
|
||||
</ul>
|
||||
</li>
|
||||
<li><p>The following error is displayed when you try to run the Docker container</p>
|
||||
<div class="highlight-bash notranslate"><div class="highlight"><pre><span></span><span class="nb">exec</span> /opt/env/bin/python3: <span class="nb">exec</span> format error
|
||||
<div class="highlight-bash notranslate"><div class="highlight"><pre><span></span><span class="nb">exec</span><span class="w"> </span>/opt/env/bin/python3:<span class="w"> </span><span class="nb">exec</span><span class="w"> </span>format<span class="w"> </span>error
|
||||
</pre></div>
|
||||
</div>
|
||||
<ul class="simple">
|
||||
@@ -2164,7 +2161,7 @@ during dispatch.</p>
|
||||
</table>
|
||||
<dl class="py function">
|
||||
<dt class="sig sig-object py" id="asknavidrome.controller.add_screen_background">
|
||||
<span class="sig-prename descclassname"><span class="pre">asknavidrome.controller.</span></span><span class="sig-name descname"><span class="pre">add_screen_background</span></span><span class="sig-paren">(</span><em class="sig-param"><span class="n"><span class="pre">card_data</span></span><span class="p"><span class="pre">:</span></span><span class="w"> </span><span class="n"><span class="pre">dict</span></span></em><span class="sig-paren">)</span> <span class="sig-return"><span class="sig-return-icon">→</span> <span class="sig-return-typehint"><span class="pre">Optional</span><span class="p"><span class="pre">[</span></span><span class="pre">AudioItemMetadata</span><span class="p"><span class="pre">]</span></span></span></span><a class="headerlink" href="#asknavidrome.controller.add_screen_background" title="Permalink to this definition">¶</a></dt>
|
||||
<span class="sig-prename descclassname"><span class="pre">asknavidrome.controller.</span></span><span class="sig-name descname"><span class="pre">add_screen_background</span></span><span class="sig-paren">(</span><em class="sig-param"><span class="n"><span class="pre">card_data</span></span><span class="p"><span class="pre">:</span></span><span class="w"> </span><span class="n"><span class="pre">dict</span></span></em><span class="sig-paren">)</span> <span class="sig-return"><span class="sig-return-icon">→</span> <span class="sig-return-typehint"><span class="pre">AudioItemMetadata</span><span class="w"> </span><span class="p"><span class="pre">|</span></span><span class="w"> </span><span class="pre">None</span></span></span><a class="headerlink" href="#asknavidrome.controller.add_screen_background" title="Permalink to this definition">¶</a></dt>
|
||||
<dd><p>Add background to card.</p>
|
||||
<p>Cards are viewable on devices with screens and in the Alexa
|
||||
app.</p>
|
||||
@@ -2584,7 +2581,7 @@ queue.</p>
|
||||
|
||||
<dl class="py method">
|
||||
<dt class="sig sig-object py" id="asknavidrome.subsonic_api.SubsonicConnection.build_random_song_list">
|
||||
<span class="sig-name descname"><span class="pre">build_random_song_list</span></span><span class="sig-paren">(</span><em class="sig-param"><span class="n"><span class="pre">count</span></span><span class="p"><span class="pre">:</span></span><span class="w"> </span><span class="n"><span class="pre">int</span></span></em><span class="sig-paren">)</span> <span class="sig-return"><span class="sig-return-icon">→</span> <span class="sig-return-typehint"><span class="pre">Optional</span><span class="p"><span class="pre">[</span></span><span class="pre">list</span><span class="p"><span class="pre">]</span></span></span></span><a class="headerlink" href="#asknavidrome.subsonic_api.SubsonicConnection.build_random_song_list" title="Permalink to this definition">¶</a></dt>
|
||||
<span class="sig-name descname"><span class="pre">build_random_song_list</span></span><span class="sig-paren">(</span><em class="sig-param"><span class="n"><span class="pre">count</span></span><span class="p"><span class="pre">:</span></span><span class="w"> </span><span class="n"><span class="pre">int</span></span></em><span class="sig-paren">)</span> <span class="sig-return"><span class="sig-return-icon">→</span> <span class="sig-return-typehint"><span class="pre">list</span><span class="w"> </span><span class="p"><span class="pre">|</span></span><span class="w"> </span><span class="pre">None</span></span></span><a class="headerlink" href="#asknavidrome.subsonic_api.SubsonicConnection.build_random_song_list" title="Permalink to this definition">¶</a></dt>
|
||||
<dd><p>Build a shuffled list of random songs</p>
|
||||
<dl class="field-list simple">
|
||||
<dt class="field-odd">Parameters<span class="colon">:</span></dt>
|
||||
@@ -2623,7 +2620,7 @@ until song_count is greater than of equal to length</p>
|
||||
|
||||
<dl class="py method">
|
||||
<dt class="sig sig-object py" id="asknavidrome.subsonic_api.SubsonicConnection.build_song_list_from_favourites">
|
||||
<span class="sig-name descname"><span class="pre">build_song_list_from_favourites</span></span><span class="sig-paren">(</span><span class="sig-paren">)</span> <span class="sig-return"><span class="sig-return-icon">→</span> <span class="sig-return-typehint"><span class="pre">Optional</span><span class="p"><span class="pre">[</span></span><span class="pre">list</span><span class="p"><span class="pre">]</span></span></span></span><a class="headerlink" href="#asknavidrome.subsonic_api.SubsonicConnection.build_song_list_from_favourites" title="Permalink to this definition">¶</a></dt>
|
||||
<span class="sig-name descname"><span class="pre">build_song_list_from_favourites</span></span><span class="sig-paren">(</span><span class="sig-paren">)</span> <span class="sig-return"><span class="sig-return-icon">→</span> <span class="sig-return-typehint"><span class="pre">list</span><span class="w"> </span><span class="p"><span class="pre">|</span></span><span class="w"> </span><span class="pre">None</span></span></span><a class="headerlink" href="#asknavidrome.subsonic_api.SubsonicConnection.build_song_list_from_favourites" title="Permalink to this definition">¶</a></dt>
|
||||
<dd><p>Build a shuffled list favourite songs</p>
|
||||
<dl class="field-list simple">
|
||||
<dt class="field-odd">Returns<span class="colon">:</span></dt>
|
||||
@@ -2637,7 +2634,7 @@ until song_count is greater than of equal to length</p>
|
||||
|
||||
<dl class="py method">
|
||||
<dt class="sig sig-object py" id="asknavidrome.subsonic_api.SubsonicConnection.build_song_list_from_genre">
|
||||
<span class="sig-name descname"><span class="pre">build_song_list_from_genre</span></span><span class="sig-paren">(</span><em class="sig-param"><span class="n"><span class="pre">genre</span></span><span class="p"><span class="pre">:</span></span><span class="w"> </span><span class="n"><span class="pre">str</span></span></em>, <em class="sig-param"><span class="n"><span class="pre">count</span></span><span class="p"><span class="pre">:</span></span><span class="w"> </span><span class="n"><span class="pre">int</span></span></em><span class="sig-paren">)</span> <span class="sig-return"><span class="sig-return-icon">→</span> <span class="sig-return-typehint"><span class="pre">Optional</span><span class="p"><span class="pre">[</span></span><span class="pre">list</span><span class="p"><span class="pre">]</span></span></span></span><a class="headerlink" href="#asknavidrome.subsonic_api.SubsonicConnection.build_song_list_from_genre" title="Permalink to this definition">¶</a></dt>
|
||||
<span class="sig-name descname"><span class="pre">build_song_list_from_genre</span></span><span class="sig-paren">(</span><em class="sig-param"><span class="n"><span class="pre">genre</span></span><span class="p"><span class="pre">:</span></span><span class="w"> </span><span class="n"><span class="pre">str</span></span></em>, <em class="sig-param"><span class="n"><span class="pre">count</span></span><span class="p"><span class="pre">:</span></span><span class="w"> </span><span class="n"><span class="pre">int</span></span></em><span class="sig-paren">)</span> <span class="sig-return"><span class="sig-return-icon">→</span> <span class="sig-return-typehint"><span class="pre">list</span><span class="w"> </span><span class="p"><span class="pre">|</span></span><span class="w"> </span><span class="pre">None</span></span></span><a class="headerlink" href="#asknavidrome.subsonic_api.SubsonicConnection.build_song_list_from_genre" title="Permalink to this definition">¶</a></dt>
|
||||
<dd><p>Build a shuffled list songs of songs from the given genre.</p>
|
||||
<dl class="field-list simple">
|
||||
<dt class="field-odd">Parameters<span class="colon">:</span></dt>
|
||||
@@ -2726,7 +2723,7 @@ is working</p>
|
||||
|
||||
<dl class="py method">
|
||||
<dt class="sig sig-object py" id="asknavidrome.subsonic_api.SubsonicConnection.search_album">
|
||||
<span class="sig-name descname"><span class="pre">search_album</span></span><span class="sig-paren">(</span><em class="sig-param"><span class="n"><span class="pre">term</span></span><span class="p"><span class="pre">:</span></span><span class="w"> </span><span class="n"><span class="pre">str</span></span></em><span class="sig-paren">)</span> <span class="sig-return"><span class="sig-return-icon">→</span> <span class="sig-return-typehint"><span class="pre">Optional</span><span class="p"><span class="pre">[</span></span><span class="pre">dict</span><span class="p"><span class="pre">]</span></span></span></span><a class="headerlink" href="#asknavidrome.subsonic_api.SubsonicConnection.search_album" title="Permalink to this definition">¶</a></dt>
|
||||
<span class="sig-name descname"><span class="pre">search_album</span></span><span class="sig-paren">(</span><em class="sig-param"><span class="n"><span class="pre">term</span></span><span class="p"><span class="pre">:</span></span><span class="w"> </span><span class="n"><span class="pre">str</span></span></em><span class="sig-paren">)</span> <span class="sig-return"><span class="sig-return-icon">→</span> <span class="sig-return-typehint"><span class="pre">dict</span><span class="w"> </span><span class="p"><span class="pre">|</span></span><span class="w"> </span><span class="pre">None</span></span></span><a class="headerlink" href="#asknavidrome.subsonic_api.SubsonicConnection.search_album" title="Permalink to this definition">¶</a></dt>
|
||||
<dd><p>Search the media server for the given album</p>
|
||||
<dl class="field-list simple">
|
||||
<dt class="field-odd">Parameters<span class="colon">:</span></dt>
|
||||
@@ -2743,7 +2740,7 @@ is working</p>
|
||||
|
||||
<dl class="py method">
|
||||
<dt class="sig sig-object py" id="asknavidrome.subsonic_api.SubsonicConnection.search_artist">
|
||||
<span class="sig-name descname"><span class="pre">search_artist</span></span><span class="sig-paren">(</span><em class="sig-param"><span class="n"><span class="pre">term</span></span><span class="p"><span class="pre">:</span></span><span class="w"> </span><span class="n"><span class="pre">str</span></span></em><span class="sig-paren">)</span> <span class="sig-return"><span class="sig-return-icon">→</span> <span class="sig-return-typehint"><span class="pre">Optional</span><span class="p"><span class="pre">[</span></span><span class="pre">dict</span><span class="p"><span class="pre">]</span></span></span></span><a class="headerlink" href="#asknavidrome.subsonic_api.SubsonicConnection.search_artist" title="Permalink to this definition">¶</a></dt>
|
||||
<span class="sig-name descname"><span class="pre">search_artist</span></span><span class="sig-paren">(</span><em class="sig-param"><span class="n"><span class="pre">term</span></span><span class="p"><span class="pre">:</span></span><span class="w"> </span><span class="n"><span class="pre">str</span></span></em><span class="sig-paren">)</span> <span class="sig-return"><span class="sig-return-icon">→</span> <span class="sig-return-typehint"><span class="pre">dict</span><span class="w"> </span><span class="p"><span class="pre">|</span></span><span class="w"> </span><span class="pre">None</span></span></span><a class="headerlink" href="#asknavidrome.subsonic_api.SubsonicConnection.search_artist" title="Permalink to this definition">¶</a></dt>
|
||||
<dd><p>Search the media server for the given artist</p>
|
||||
<dl class="field-list simple">
|
||||
<dt class="field-odd">Parameters<span class="colon">:</span></dt>
|
||||
@@ -2760,7 +2757,7 @@ is working</p>
|
||||
|
||||
<dl class="py method">
|
||||
<dt class="sig sig-object py" id="asknavidrome.subsonic_api.SubsonicConnection.search_playlist">
|
||||
<span class="sig-name descname"><span class="pre">search_playlist</span></span><span class="sig-paren">(</span><em class="sig-param"><span class="n"><span class="pre">term</span></span><span class="p"><span class="pre">:</span></span><span class="w"> </span><span class="n"><span class="pre">str</span></span></em><span class="sig-paren">)</span> <span class="sig-return"><span class="sig-return-icon">→</span> <span class="sig-return-typehint"><span class="pre">Optional</span><span class="p"><span class="pre">[</span></span><span class="pre">str</span><span class="p"><span class="pre">]</span></span></span></span><a class="headerlink" href="#asknavidrome.subsonic_api.SubsonicConnection.search_playlist" title="Permalink to this definition">¶</a></dt>
|
||||
<span class="sig-name descname"><span class="pre">search_playlist</span></span><span class="sig-paren">(</span><em class="sig-param"><span class="n"><span class="pre">term</span></span><span class="p"><span class="pre">:</span></span><span class="w"> </span><span class="n"><span class="pre">str</span></span></em><span class="sig-paren">)</span> <span class="sig-return"><span class="sig-return-icon">→</span> <span class="sig-return-typehint"><span class="pre">str</span><span class="w"> </span><span class="p"><span class="pre">|</span></span><span class="w"> </span><span class="pre">None</span></span></span><a class="headerlink" href="#asknavidrome.subsonic_api.SubsonicConnection.search_playlist" title="Permalink to this definition">¶</a></dt>
|
||||
<dd><p>Search the media server for the given playlist</p>
|
||||
<dl class="field-list simple">
|
||||
<dt class="field-odd">Parameters<span class="colon">:</span></dt>
|
||||
@@ -2777,7 +2774,7 @@ is working</p>
|
||||
|
||||
<dl class="py method">
|
||||
<dt class="sig sig-object py" id="asknavidrome.subsonic_api.SubsonicConnection.search_song">
|
||||
<span class="sig-name descname"><span class="pre">search_song</span></span><span class="sig-paren">(</span><em class="sig-param"><span class="n"><span class="pre">term</span></span><span class="p"><span class="pre">:</span></span><span class="w"> </span><span class="n"><span class="pre">str</span></span></em><span class="sig-paren">)</span> <span class="sig-return"><span class="sig-return-icon">→</span> <span class="sig-return-typehint"><span class="pre">Optional</span><span class="p"><span class="pre">[</span></span><span class="pre">dict</span><span class="p"><span class="pre">]</span></span></span></span><a class="headerlink" href="#asknavidrome.subsonic_api.SubsonicConnection.search_song" title="Permalink to this definition">¶</a></dt>
|
||||
<span class="sig-name descname"><span class="pre">search_song</span></span><span class="sig-paren">(</span><em class="sig-param"><span class="n"><span class="pre">term</span></span><span class="p"><span class="pre">:</span></span><span class="w"> </span><span class="n"><span class="pre">str</span></span></em><span class="sig-paren">)</span> <span class="sig-return"><span class="sig-return-icon">→</span> <span class="sig-return-typehint"><span class="pre">dict</span><span class="w"> </span><span class="p"><span class="pre">|</span></span><span class="w"> </span><span class="pre">None</span></span></span><a class="headerlink" href="#asknavidrome.subsonic_api.SubsonicConnection.search_song" title="Permalink to this definition">¶</a></dt>
|
||||
<dd><p>Search the media server for the given song</p>
|
||||
<dl class="field-list simple">
|
||||
<dt class="field-odd">Parameters<span class="colon">:</span></dt>
|
||||
@@ -3130,7 +3127,7 @@ is working</p>
|
||||
</div>
|
||||
<div class="footer" role="contentinfo">
|
||||
© Copyright 2022, Ross Stewart.
|
||||
Created using <a href="https://www.sphinx-doc.org/">Sphinx</a> 5.3.0.
|
||||
Created using <a href="https://www.sphinx-doc.org/">Sphinx</a> 6.1.3.
|
||||
</div>
|
||||
</body>
|
||||
</html>
|
||||
@@ -11,9 +11,6 @@
|
||||
<link rel="stylesheet" type="text/css" href="_static/css/custom.css" />
|
||||
<link rel="stylesheet" href="../_static/css/functions.css" type="text/css" />
|
||||
<script data-url_root="./" id="documentation_options" src="_static/documentation_options.js"></script>
|
||||
<script src="_static/jquery.js"></script>
|
||||
<script src="_static/underscore.js"></script>
|
||||
<script src="_static/_sphinx_javascript_frameworks_compat.js"></script>
|
||||
<script src="_static/doctools.js"></script>
|
||||
<script src="_static/sphinx_highlight.js"></script>
|
||||
<link rel="index" title="Index" href="genindex.html" />
|
||||
@@ -106,7 +103,7 @@
|
||||
</div>
|
||||
<div class="footer" role="contentinfo">
|
||||
© Copyright 2022, Ross Stewart.
|
||||
Created using <a href="https://www.sphinx-doc.org/">Sphinx</a> 5.3.0.
|
||||
Created using <a href="https://www.sphinx-doc.org/">Sphinx</a> 6.1.3.
|
||||
</div>
|
||||
</body>
|
||||
</html>
|
||||
@@ -12,9 +12,6 @@
|
||||
<link rel="stylesheet" href="../_static/css/functions.css" type="text/css" />
|
||||
|
||||
<script data-url_root="./" id="documentation_options" src="_static/documentation_options.js"></script>
|
||||
<script src="_static/jquery.js"></script>
|
||||
<script src="_static/underscore.js"></script>
|
||||
<script src="_static/_sphinx_javascript_frameworks_compat.js"></script>
|
||||
<script src="_static/doctools.js"></script>
|
||||
<script src="_static/sphinx_highlight.js"></script>
|
||||
<script src="_static/searchtools.js"></script>
|
||||
@@ -100,7 +97,7 @@
|
||||
</div>
|
||||
<div class="footer" role="contentinfo">
|
||||
© Copyright 2022, Ross Stewart.
|
||||
Created using <a href="https://www.sphinx-doc.org/">Sphinx</a> 5.3.0.
|
||||
Created using <a href="https://www.sphinx-doc.org/">Sphinx</a> 6.1.3.
|
||||
</div>
|
||||
</body>
|
||||
</html>
|
||||
Reference in New Issue
Block a user