|
a/doc/sc2mpd.html |
|
b/doc/sc2mpd.html |
1 |
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.1//EN"
|
1 |
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.1//EN"
|
2 |
"http://www.w3.org/TR/xhtml11/DTD/xhtml11.dtd">
|
2 |
"http://www.w3.org/TR/xhtml11/DTD/xhtml11.dtd">
|
3 |
<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en">
|
3 |
<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en">
|
4 |
<head>
|
4 |
<head>
|
5 |
<meta http-equiv="Content-Type" content="application/xhtml+xml; charset=UTF-8" />
|
5 |
<meta http-equiv="Content-Type" content="application/xhtml+xml; charset=UTF-8" />
|
6 |
<meta name="generator" content="AsciiDoc 8.6.7" />
|
6 |
<meta name="generator" content="AsciiDoc 8.6.9" />
|
7 |
<title>upmpdcli Linn Songcast integration</title>
|
7 |
<title>upmpdcli Linn Songcast integration</title>
|
8 |
<style type="text/css">
|
8 |
<style type="text/css">
|
9 |
/* Shared CSS for AsciiDoc xhtml11 and html5 backends */
|
9 |
/* Shared CSS for AsciiDoc xhtml11 and html5 backends */
|
10 |
|
10 |
|
11 |
/* Default font. */
|
11 |
/* Default font. */
|
|
... |
|
... |
85 |
margin-top: 0;
|
85 |
margin-top: 0;
|
86 |
}
|
86 |
}
|
87 |
ul > li { color: #aaa; }
|
87 |
ul > li { color: #aaa; }
|
88 |
ul > li > * { color: black; }
|
88 |
ul > li > * { color: black; }
|
89 |
|
89 |
|
90 |
pre {
|
90 |
.monospaced, code, pre {
|
|
|
91 |
font-family: "Courier New", Courier, monospace;
|
|
|
92 |
font-size: inherit;
|
|
|
93 |
color: navy;
|
91 |
padding: 0;
|
94 |
padding: 0;
|
92 |
margin: 0;
|
95 |
margin: 0;
|
|
|
96 |
}
|
|
|
97 |
pre {
|
|
|
98 |
white-space: pre-wrap;
|
93 |
}
|
99 |
}
|
94 |
|
100 |
|
95 |
#author {
|
101 |
#author {
|
96 |
color: #527bbd;
|
102 |
color: #527bbd;
|
97 |
font-weight: bold;
|
103 |
font-weight: bold;
|
|
... |
|
... |
217 |
border-left: 3px solid #dddddd;
|
223 |
border-left: 3px solid #dddddd;
|
218 |
padding-left: 0.5em;
|
224 |
padding-left: 0.5em;
|
219 |
}
|
225 |
}
|
220 |
|
226 |
|
221 |
div.imageblock div.content { padding-left: 0; }
|
227 |
div.imageblock div.content { padding-left: 0; }
|
222 |
span.image img { border-style: none; }
|
228 |
span.image img { border-style: none; vertical-align: text-bottom; }
|
223 |
a.image:visited { color: white; }
|
229 |
a.image:visited { color: white; }
|
224 |
|
230 |
|
225 |
dl {
|
231 |
dl {
|
226 |
margin-top: 0.8em;
|
232 |
margin-top: 0.8em;
|
227 |
margin-bottom: 0.8em;
|
233 |
margin-bottom: 0.8em;
|
|
... |
|
... |
413 |
/*
|
419 |
/*
|
414 |
* xhtml11 specific
|
420 |
* xhtml11 specific
|
415 |
*
|
421 |
*
|
416 |
* */
|
422 |
* */
|
417 |
|
423 |
|
418 |
tt {
|
|
|
419 |
font-family: "Courier New", Courier, monospace;
|
|
|
420 |
font-size: inherit;
|
|
|
421 |
color: navy;
|
|
|
422 |
}
|
|
|
423 |
|
|
|
424 |
div.tableblock {
|
424 |
div.tableblock {
|
425 |
margin-top: 1.0em;
|
425 |
margin-top: 1.0em;
|
426 |
margin-bottom: 1.5em;
|
426 |
margin-bottom: 1.5em;
|
427 |
}
|
427 |
}
|
428 |
div.tableblock > table {
|
428 |
div.tableblock > table {
|
|
... |
|
... |
451 |
|
451 |
|
452 |
/*
|
452 |
/*
|
453 |
* html5 specific
|
453 |
* html5 specific
|
454 |
*
|
454 |
*
|
455 |
* */
|
455 |
* */
|
456 |
|
|
|
457 |
.monospaced {
|
|
|
458 |
font-family: "Courier New", Courier, monospace;
|
|
|
459 |
font-size: inherit;
|
|
|
460 |
color: navy;
|
|
|
461 |
}
|
|
|
462 |
|
456 |
|
463 |
table.tableblock {
|
457 |
table.tableblock {
|
464 |
margin-top: 1.0em;
|
458 |
margin-top: 1.0em;
|
465 |
margin-bottom: 1.5em;
|
459 |
margin-bottom: 1.5em;
|
466 |
}
|
460 |
}
|
|
... |
|
... |
537 |
}
|
531 |
}
|
538 |
|
532 |
|
539 |
@media print {
|
533 |
@media print {
|
540 |
body.manpage div#toc { display: none; }
|
534 |
body.manpage div#toc { display: none; }
|
541 |
}
|
535 |
}
|
|
|
536 |
|
|
|
537 |
|
542 |
</style>
|
538 |
</style>
|
543 |
<script type="text/javascript">
|
539 |
<script type="text/javascript">
|
544 |
/*<![CDATA[*/
|
540 |
/*<![CDATA[*/
|
545 |
var asciidoc = { // Namespace.
|
541 |
var asciidoc = { // Namespace.
|
546 |
|
542 |
|
|
... |
|
... |
742 |
<div id="content">
|
738 |
<div id="content">
|
743 |
<div id="preamble">
|
739 |
<div id="preamble">
|
744 |
<div class="sectionbody">
|
740 |
<div class="sectionbody">
|
745 |
<div class="paragraph"><p>The <strong>upmdcli</strong> UPnP front-end to MPD implements support for Linn Songcast with
|
741 |
<div class="paragraph"><p>The <strong>upmdcli</strong> UPnP front-end to MPD implements support for Linn Songcast with
|
746 |
help from the <strong>sc2mpd</strong> auxiliary process.</p></div>
|
742 |
help from the <strong>sc2mpd</strong> auxiliary process.</p></div>
|
|
|
743 |
<div class="paragraph"><p><strong><em>This only works with 16 bits sound for now. Don’t try it with
|
|
|
744 |
anything else, there is a risk of strange noises !</em></strong></p></div>
|
747 |
</div>
|
745 |
</div>
|
748 |
</div>
|
746 |
</div>
|
749 |
<div class="sect1">
|
747 |
<div class="sect1">
|
750 |
<h2 id="_what_is_songcast">What is Songcast</h2>
|
748 |
<h2 id="_what_is_songcast">What is Songcast</h2>
|
751 |
<div class="sectionbody">
|
749 |
<div class="sectionbody">
|
|
... |
|
... |
807 |
<div class="sectionbody">
|
805 |
<div class="sectionbody">
|
808 |
<div class="paragraph"><p>No configuration is necessary by default: if <strong>sc2mpd</strong> is present,
|
806 |
<div class="paragraph"><p>No configuration is necessary by default: if <strong>sc2mpd</strong> is present,
|
809 |
<strong>upmpdcli</strong> will advertise the Songcast capability, and any host with a
|
807 |
<strong>upmpdcli</strong> will advertise the Songcast capability, and any host with a
|
810 |
Songcast sender installed should be able to use it.</p></div>
|
808 |
Songcast sender installed should be able to use it.</p></div>
|
811 |
<div class="paragraph"><p>However, you can set a number of values in the upmpdcli configuration file
|
809 |
<div class="paragraph"><p>However, you can set a number of values in the upmpdcli configuration file
|
812 |
(you <strong>must</strong> set the <strong>upmpdcli</strong> <tt>-c</tt> option for <strong>sc2mpd</strong> to see them, the
|
810 |
(you <strong>must</strong> set the <strong>upmpdcli</strong> <code>-c</code> option for <strong>sc2mpd</strong> to see them, the
|
813 |
environment variable will not work):</p></div>
|
811 |
environment variable will not work):</p></div>
|
814 |
<div class="dlist"><dl>
|
812 |
<div class="dlist"><dl>
|
815 |
<dt class="hdlist1">
|
813 |
<dt class="hdlist1">
|
816 |
sclogfilename
|
814 |
sclogfilename
|
817 |
</dt>
|
815 |
</dt>
|
818 |
<dd>
|
816 |
<dd>
|
819 |
<p>
|
817 |
<p>
|
820 |
Name of the file which will receive <strong>sc2mpd</strong> log messages. <tt>stderr</tt> by
|
818 |
Name of the file which will receive <strong>sc2mpd</strong> log messages. <code>stderr</code> by
|
821 |
default. This <em>can’t be</em> the same file used by <strong>upmpdcli</strong>.
|
819 |
default. This <em>can’t be</em> the same file used by <strong>upmpdcli</strong>.
|
822 |
</p>
|
820 |
</p>
|
823 |
</dd>
|
821 |
</dd>
|
824 |
<dt class="hdlist1">
|
822 |
<dt class="hdlist1">
|
825 |
scloglevel
|
823 |
scloglevel
|
|
... |
|
... |
833 |
schttpport
|
831 |
schttpport
|
834 |
</dt>
|
832 |
</dt>
|
835 |
<dd>
|
833 |
<dd>
|
836 |
<p>
|
834 |
<p>
|
837 |
HTTP port used by <strong>mpd</strong> to connect to <strong>sc2mpd</strong>. 8888 by default. This must
|
835 |
HTTP port used by <strong>mpd</strong> to connect to <strong>sc2mpd</strong>. 8888 by default. This must
|
838 |
be an available port on <tt>localhost</tt>, and it will only accept connections from
|
836 |
be an available port on <code>localhost</code>, and it will only accept connections from
|
839 |
<tt>localhost</tt>.
|
837 |
<code>localhost</code>.
|
840 |
</p>
|
838 |
</p>
|
841 |
</dd>
|
839 |
</dd>
|
842 |
<dt class="hdlist1">
|
840 |
<dt class="hdlist1">
|
843 |
sc2mpd
|
841 |
sc2mpd
|
844 |
</dt>
|
842 |
</dt>
|
845 |
<dd>
|
843 |
<dd>
|
846 |
<p>
|
844 |
<p>
|
847 |
Path for the <strong>sc2mpd</strong> executable file (e.g. <tt>/usr/local/bin/sc2mpd</tt>). Only
|
845 |
Path for the <strong>sc2mpd</strong> executable file (e.g. <code>/usr/local/bin/sc2mpd</code>). Only
|
848 |
useful if <strong>sc2mpd</strong> was not installed to a location in the executable $PATH
|
846 |
useful if <strong>sc2mpd</strong> was not installed to a location in the executable $PATH
|
849 |
set for the init scripts. Typically only <tt>/bin</tt> and <tt>/usr/bin</tt> are in
|
847 |
set for the init scripts. Typically only <code>/bin</code> and <code>/usr/bin</code> are in
|
850 |
there.
|
848 |
there.
|
851 |
</p>
|
849 |
</p>
|
852 |
</dd>
|
850 |
</dd>
|
853 |
</dl></div>
|
851 |
</dl></div>
|
854 |
</div>
|
852 |
</div>
|
|
... |
|
... |
872 |
<div class="paragraph"><p>Building the Openhome libraries is a bit of a black art, and the sc2mpd
|
870 |
<div class="paragraph"><p>Building the Openhome libraries is a bit of a black art, and the sc2mpd
|
873 |
source comes with an <strong>ohbuild.sh</strong> script which will try to clone the
|
871 |
source comes with an <strong>ohbuild.sh</strong> script which will try to clone the
|
874 |
Openhome git repositories and build the libs:</p></div>
|
872 |
Openhome git repositories and build the libs:</p></div>
|
875 |
<div class="literalblock">
|
873 |
<div class="literalblock">
|
876 |
<div class="content">
|
874 |
<div class="content">
|
877 |
<pre><tt>mkdir /my/place/for/openhome
|
875 |
<pre><code>mkdir /my/place/for/openhome
|
878 |
sh ohbuild.sh /my/place/for/openhome</tt></pre>
|
876 |
sh ohbuild.sh /my/place/for/openhome</code></pre>
|
879 |
</div></div>
|
877 |
</div></div>
|
880 |
<div class="paragraph"><p>Miscellaneous error messages will be displayed during the build. Hope for
|
878 |
<div class="paragraph"><p>Miscellaneous error messages will be displayed during the build. Hope for
|
881 |
the best…</p></div>
|
879 |
the best…</p></div>
|
882 |
<div class="paragraph"><p>When this is done, extract the source for sc2mpd, or clone the github
|
880 |
<div class="paragraph"><p>When this is done, extract the source for sc2mpd, or clone the github
|
883 |
repository: <a href="http://www.github.com/medoc92/sc2mpd">http://www.github.com/medoc92/sc2mpd</a>. The <tt>autogen.sh</tt> step (and
|
881 |
repository: <a href="http://www.github.com/medoc92/sc2mpd">http://www.github.com/medoc92/sc2mpd</a>. The <code>autogen.sh</code> step (and
|
884 |
hence the autotools) is not needed for tar file extracts:</p></div>
|
882 |
hence the autotools) is not needed for tar file extracts:</p></div>
|
885 |
<div class="literalblock">
|
883 |
<div class="literalblock">
|
886 |
<div class="content">
|
884 |
<div class="content">
|
887 |
<pre><tt>sh autogen.sh
|
885 |
<pre><code>sh autogen.sh
|
888 |
./configure --prefix=/usr --with-openhome=/my/place/for/openhome
|
886 |
./configure --prefix=/usr --with-openhome=/my/place/for/openhome
|
889 |
make
|
887 |
make
|
890 |
sudo make install</tt></pre>
|
888 |
sudo make install</code></pre>
|
891 |
</div></div>
|
889 |
</div></div>
|
892 |
<div class="paragraph"><p>The build uses static libraries, so you can move the executable to another
|
890 |
<div class="paragraph"><p>The build uses static libraries, so you can move the executable to another
|
893 |
machine without needing the openhome directory.</p></div>
|
891 |
machine without needing the openhome directory.</p></div>
|
894 |
<div class="paragraph"><p>After restarting <strong>upmpdcli</strong>, it should advertise the <em>Receiver</em> service and
|
892 |
<div class="paragraph"><p>After restarting <strong>upmpdcli</strong>, it should advertise the <em>Receiver</em> service and
|
895 |
appear in the Songcast Sender menus.</p></div>
|
893 |
appear in the Songcast Sender menus.</p></div>
|
|
... |
|
... |
905 |
</div>
|
903 |
</div>
|
906 |
</div>
|
904 |
</div>
|
907 |
<div id="footnotes"><hr /></div>
|
905 |
<div id="footnotes"><hr /></div>
|
908 |
<div id="footer">
|
906 |
<div id="footer">
|
909 |
<div id="footer-text">
|
907 |
<div id="footer-text">
|
910 |
Last updated 2014-11-12 18:01:46 CET
|
908 |
Last updated 2014-11-21 18:51:58 CET
|
911 |
</div>
|
909 |
</div>
|
912 |
</div>
|
910 |
</div>
|
913 |
</body>
|
911 |
</body>
|
914 |
</html>
|
912 |
</html>
|