|
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.9" />
|
6 |
<meta name="generator" content="AsciiDoc 8.6.7" />
|
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 |
.monospaced, code, pre {
|
90 |
pre {
|
91 |
font-family: "Courier New", Courier, monospace;
|
|
|
92 |
font-size: inherit;
|
|
|
93 |
color: navy;
|
|
|
94 |
padding: 0;
|
91 |
padding: 0;
|
95 |
margin: 0;
|
92 |
margin: 0;
|
96 |
}
|
|
|
97 |
pre {
|
|
|
98 |
white-space: pre-wrap;
|
|
|
99 |
}
|
93 |
}
|
100 |
|
94 |
|
101 |
#author {
|
95 |
#author {
|
102 |
color: #527bbd;
|
96 |
color: #527bbd;
|
103 |
font-weight: bold;
|
97 |
font-weight: bold;
|
|
... |
|
... |
223 |
border-left: 3px solid #dddddd;
|
217 |
border-left: 3px solid #dddddd;
|
224 |
padding-left: 0.5em;
|
218 |
padding-left: 0.5em;
|
225 |
}
|
219 |
}
|
226 |
|
220 |
|
227 |
div.imageblock div.content { padding-left: 0; }
|
221 |
div.imageblock div.content { padding-left: 0; }
|
228 |
span.image img { border-style: none; vertical-align: text-bottom; }
|
222 |
span.image img { border-style: none; }
|
229 |
a.image:visited { color: white; }
|
223 |
a.image:visited { color: white; }
|
230 |
|
224 |
|
231 |
dl {
|
225 |
dl {
|
232 |
margin-top: 0.8em;
|
226 |
margin-top: 0.8em;
|
233 |
margin-bottom: 0.8em;
|
227 |
margin-bottom: 0.8em;
|
|
... |
|
... |
419 |
/*
|
413 |
/*
|
420 |
* xhtml11 specific
|
414 |
* xhtml11 specific
|
421 |
*
|
415 |
*
|
422 |
* */
|
416 |
* */
|
423 |
|
417 |
|
|
|
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 |
}
|
456 |
|
462 |
|
457 |
table.tableblock {
|
463 |
table.tableblock {
|
458 |
margin-top: 1.0em;
|
464 |
margin-top: 1.0em;
|
459 |
margin-bottom: 1.5em;
|
465 |
margin-bottom: 1.5em;
|
460 |
}
|
466 |
}
|
|
... |
|
... |
531 |
}
|
537 |
}
|
532 |
|
538 |
|
533 |
@media print {
|
539 |
@media print {
|
534 |
body.manpage div#toc { display: none; }
|
540 |
body.manpage div#toc { display: none; }
|
535 |
}
|
541 |
}
|
536 |
|
|
|
537 |
|
|
|
538 |
</style>
|
542 |
</style>
|
539 |
<script type="text/javascript">
|
543 |
<script type="text/javascript">
|
540 |
/*<![CDATA[*/
|
544 |
/*<![CDATA[*/
|
541 |
var asciidoc = { // Namespace.
|
545 |
var asciidoc = { // Namespace.
|
542 |
|
546 |
|
|
... |
|
... |
738 |
<div id="content">
|
742 |
<div id="content">
|
739 |
<div id="preamble">
|
743 |
<div id="preamble">
|
740 |
<div class="sectionbody">
|
744 |
<div class="sectionbody">
|
741 |
<div class="paragraph"><p>The <strong>upmdcli</strong> UPnP front-end to MPD implements support for Linn Songcast with
|
745 |
<div class="paragraph"><p>The <strong>upmdcli</strong> UPnP front-end to MPD implements support for Linn Songcast with
|
742 |
help from the <strong>sc2mpd</strong> auxiliary process.</p></div>
|
746 |
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
|
747 |
<div class="paragraph"><p><strong><em>This has mostly been tested with 16 bits sound but a recent change seems
|
|
|
748 |
to have fixed 24 bits sound, so this should be now usable for MACs. This
|
|
|
749 |
needs mpd 0.19 on the renderer. Still be a bit careful as this is quite new
|
744 |
anything else, there is a risk of strange noises !</em></strong></p></div>
|
750 |
and there is a risk of strange noises !</em></strong></p></div>
|
|
|
751 |
<div class="paragraph"><p><strong><em>Do not try 24 bits sound with MPD 0.18 !</em></strong> (or turn the volume very
|
|
|
752 |
low…). Using Songcast from a Mac (24 bits audio) needs <strong>mpd 0.19</strong>,
|
|
|
753 |
configured with <tt>--disable-audiofile</tt>.</p></div>
|
|
|
754 |
<div class="paragraph"><p>As Debian and Ubuntu tend to lag quite bit on MPD progresses, I have setup
|
|
|
755 |
<a href="downloads.html#mpd">backport repositories</a> for recent mpd versions
|
|
|
756 |
(currently 0.19.9), for Ubuntu, Debian i386/amd64 and Raspbian.</p></div>
|
745 |
</div>
|
757 |
</div>
|
746 |
</div>
|
758 |
</div>
|
747 |
<div class="sect1">
|
759 |
<div class="sect1">
|
748 |
<h2 id="_what_is_songcast">What is Songcast</h2>
|
760 |
<h2 id="_what_is_songcast">What is Songcast</h2>
|
749 |
<div class="sectionbody">
|
761 |
<div class="sectionbody">
|
|
... |
|
... |
805 |
<div class="sectionbody">
|
817 |
<div class="sectionbody">
|
806 |
<div class="paragraph"><p>No configuration is necessary by default: if <strong>sc2mpd</strong> is present,
|
818 |
<div class="paragraph"><p>No configuration is necessary by default: if <strong>sc2mpd</strong> is present,
|
807 |
<strong>upmpdcli</strong> will advertise the Songcast capability, and any host with a
|
819 |
<strong>upmpdcli</strong> will advertise the Songcast capability, and any host with a
|
808 |
Songcast sender installed should be able to use it.</p></div>
|
820 |
Songcast sender installed should be able to use it.</p></div>
|
809 |
<div class="paragraph"><p>However, you can set a number of values in the upmpdcli configuration file
|
821 |
<div class="paragraph"><p>However, you can set a number of values in the upmpdcli configuration file
|
810 |
(you <strong>must</strong> set the <strong>upmpdcli</strong> <code>-c</code> option for <strong>sc2mpd</strong> to see them, the
|
822 |
(you <strong>must</strong> set the <strong>upmpdcli</strong> <tt>-c</tt> option for <strong>sc2mpd</strong> to see them, the
|
811 |
environment variable will not work):</p></div>
|
823 |
environment variable will not work):</p></div>
|
812 |
<div class="dlist"><dl>
|
824 |
<div class="dlist"><dl>
|
813 |
<dt class="hdlist1">
|
825 |
<dt class="hdlist1">
|
814 |
sclogfilename
|
826 |
sclogfilename
|
815 |
</dt>
|
827 |
</dt>
|
816 |
<dd>
|
828 |
<dd>
|
817 |
<p>
|
829 |
<p>
|
818 |
Name of the file which will receive <strong>sc2mpd</strong> log messages. <code>stderr</code> by
|
830 |
Name of the file which will receive <strong>sc2mpd</strong> log messages. <tt>stderr</tt> by
|
819 |
default. This <em>can’t be</em> the same file used by <strong>upmpdcli</strong>.
|
831 |
default. This <em>can’t be</em> the same file used by <strong>upmpdcli</strong>.
|
820 |
</p>
|
832 |
</p>
|
821 |
</dd>
|
833 |
</dd>
|
822 |
<dt class="hdlist1">
|
834 |
<dt class="hdlist1">
|
823 |
scloglevel
|
835 |
scloglevel
|
|
... |
|
... |
831 |
schttpport
|
843 |
schttpport
|
832 |
</dt>
|
844 |
</dt>
|
833 |
<dd>
|
845 |
<dd>
|
834 |
<p>
|
846 |
<p>
|
835 |
HTTP port used by <strong>mpd</strong> to connect to <strong>sc2mpd</strong>. 8888 by default. This must
|
847 |
HTTP port used by <strong>mpd</strong> to connect to <strong>sc2mpd</strong>. 8888 by default. This must
|
836 |
be an available port on <code>localhost</code>, and it will only accept connections from
|
848 |
be an available port on <tt>localhost</tt>, and it will only accept connections from
|
837 |
<code>localhost</code>.
|
849 |
<tt>localhost</tt>.
|
838 |
</p>
|
850 |
</p>
|
839 |
</dd>
|
851 |
</dd>
|
840 |
<dt class="hdlist1">
|
852 |
<dt class="hdlist1">
|
841 |
sc2mpd
|
853 |
sc2mpd
|
842 |
</dt>
|
854 |
</dt>
|
843 |
<dd>
|
855 |
<dd>
|
844 |
<p>
|
856 |
<p>
|
845 |
Path for the <strong>sc2mpd</strong> executable file (e.g. <code>/usr/local/bin/sc2mpd</code>). Only
|
857 |
Path for the <strong>sc2mpd</strong> executable file (e.g. <tt>/usr/local/bin/sc2mpd</tt>). Only
|
846 |
useful if <strong>sc2mpd</strong> was not installed to a location in the executable $PATH
|
858 |
useful if <strong>sc2mpd</strong> was not installed to a location in the executable $PATH
|
847 |
set for the init scripts. Typically only <code>/bin</code> and <code>/usr/bin</code> are in
|
859 |
set for the init scripts. Typically only <tt>/bin</tt> and <tt>/usr/bin</tt> are in
|
848 |
there.
|
860 |
there.
|
849 |
</p>
|
861 |
</p>
|
850 |
</dd>
|
862 |
</dd>
|
851 |
</dl></div>
|
863 |
</dl></div>
|
852 |
</div>
|
864 |
</div>
|
|
... |
|
... |
861 |
Building the Openhome libraries
|
873 |
Building the Openhome libraries
|
862 |
</p>
|
874 |
</p>
|
863 |
</li>
|
875 |
</li>
|
864 |
<li>
|
876 |
<li>
|
865 |
<p>
|
877 |
<p>
|
866 |
Building <strong>scmpd</strong> proper
|
878 |
Building <strong>sc2mpd</strong> proper
|
867 |
</p>
|
879 |
</p>
|
868 |
</li>
|
880 |
</li>
|
869 |
</ul></div>
|
881 |
</ul></div>
|
|
|
882 |
<div class="paragraph"><p>First clone the <strong>sc2mpd</strong> Github repository:
|
|
|
883 |
<a href="http://www.github.com/medoc92/sc2mpd">http://www.github.com/medoc92/sc2mpd</a>.</p></div>
|
|
|
884 |
<div class="paragraph"><p><strong>sc2mpd</strong> depends on the microhttpd library. Install the development and
|
|
|
885 |
runtime packages which are currently named <em>libmicrohttpd-dev</em> and
|
|
|
886 |
<em>libmicrohttpd10</em> on Debian-derived systems (use <em>libmicrohttpd</em> and
|
|
|
887 |
<em>libmicrohttpd-devel</em> for Fedora).</p></div>
|
870 |
<div class="paragraph"><p>Building the Openhome libraries is a bit of a black art, and the sc2mpd
|
888 |
<div class="paragraph"><p>Building the Openhome libraries is a bit of a black art, and the <strong>sc2mpd</strong>
|
871 |
source comes with an <strong>ohbuild.sh</strong> script which will try to clone the
|
889 |
source comes with an <em>ohbuild.sh</em> script which will try to clone the
|
872 |
Openhome git repositories and build the libs:</p></div>
|
890 |
Openhome Git repositories and build the libs:</p></div>
|
873 |
<div class="literalblock">
|
891 |
<div class="literalblock">
|
874 |
<div class="content">
|
892 |
<div class="content">
|
|
|
893 |
<pre><tt>cd sc2mpd
|
875 |
<pre><code>mkdir /my/place/for/openhome
|
894 |
mkdir /my/place/for/openhome
|
876 |
sh ohbuild.sh /my/place/for/openhome</code></pre>
|
895 |
sh ohbuild.sh /my/place/for/openhome</tt></pre>
|
877 |
</div></div>
|
896 |
</div></div>
|
878 |
<div class="paragraph"><p>Miscellaneous error messages will be displayed during the build. Hope for
|
897 |
<div class="paragraph"><p>Miscellaneous error messages will be displayed during the build. Hope for
|
879 |
the best…</p></div>
|
898 |
the best…</p></div>
|
880 |
<div class="paragraph"><p>When this is done, extract the source for sc2mpd, or clone the github
|
899 |
<div class="paragraph"><p>When this is done, build <strong>sc2mpd</strong>, using the following commands inside the
|
881 |
repository: <a href="http://www.github.com/medoc92/sc2mpd">http://www.github.com/medoc92/sc2mpd</a>. The <code>autogen.sh</code> step (and
|
900 |
<em>sc2mpd</em> directory:</p></div>
|
882 |
hence the autotools) is not needed for tar file extracts:</p></div>
|
|
|
883 |
<div class="literalblock">
|
901 |
<div class="literalblock">
|
884 |
<div class="content">
|
902 |
<div class="content">
|
885 |
<pre><code>sh autogen.sh
|
903 |
<pre><tt>sh autogen.sh
|
886 |
./configure --prefix=/usr --with-openhome=/my/place/for/openhome
|
904 |
./configure --prefix=/usr --with-openhome=/my/place/for/openhome
|
887 |
make
|
905 |
make
|
888 |
sudo make install</code></pre>
|
906 |
sudo make install</tt></pre>
|
889 |
</div></div>
|
907 |
</div></div>
|
890 |
<div class="paragraph"><p>The build uses static libraries, so you can move the executable to another
|
908 |
<div class="paragraph"><p>The build uses static Openhome libraries, so you can move the executable to
|
891 |
machine without needing the openhome directory.</p></div>
|
909 |
another machine without needing the Openhome directory (don’t forget to
|
|
|
910 |
install the <em>libmicrohttpd</em> runtime though).</p></div>
|
892 |
<div class="paragraph"><p>After restarting <strong>upmpdcli</strong>, it should advertise the <em>Receiver</em> service and
|
911 |
<div class="paragraph"><p>After restarting <strong>upmpdcli</strong>, it should advertise the <em>Receiver</em> service and
|
893 |
appear in the Songcast Sender menus.</p></div>
|
912 |
appear in the Songcast Sender menus.</p></div>
|
894 |
</div>
|
913 |
</div>
|
895 |
</div>
|
914 |
</div>
|
896 |
<div class="sect1">
|
915 |
<div class="sect1">
|
|
... |
|
... |
903 |
</div>
|
922 |
</div>
|
904 |
</div>
|
923 |
</div>
|
905 |
<div id="footnotes"><hr /></div>
|
924 |
<div id="footnotes"><hr /></div>
|
906 |
<div id="footer">
|
925 |
<div id="footer">
|
907 |
<div id="footer-text">
|
926 |
<div id="footer-text">
|
908 |
Last updated 2014-11-21 18:51:58 CET
|
927 |
Last updated 2015-03-03 09:39:27 CET
|
909 |
</div>
|
928 |
</div>
|
910 |
</div>
|
929 |
</div>
|
911 |
</body>
|
930 |
</body>
|
912 |
</html>
|
931 |
</html>
|