|
a/doc/release-0.8.html |
|
b/doc/release-0.8.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>Notes for upmpdcli 0.8 release series</title>
|
7 |
<title>Notes for upmpdcli 0.8 release series</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 |
|
|
... |
|
... |
735 |
<div id="header">
|
739 |
<div id="header">
|
736 |
<h1>Notes for upmpdcli 0.8 release series</h1>
|
740 |
<h1>Notes for upmpdcli 0.8 release series</h1>
|
737 |
</div>
|
741 |
</div>
|
738 |
<div id="content">
|
742 |
<div id="content">
|
739 |
<div class="sect1">
|
743 |
<div class="sect1">
|
|
|
744 |
<h2 id="_minor_releases">Minor releases</h2>
|
|
|
745 |
<div class="sectionbody">
|
|
|
746 |
<div class="sect2">
|
|
|
747 |
<h3 id="_0_8_1">0.8.1</h3>
|
|
|
748 |
<div class="paragraph"><p>0.8.1 has many changes in the library code, but almost none of them affect
|
|
|
749 |
the device side, they concern support for writing a control-point, which is
|
|
|
750 |
mostly disjoint. The following changes are relevant to upmpdcli, and
|
|
|
751 |
consistant with a minor release:</p></div>
|
|
|
752 |
<div class="ulist"><ul>
|
|
|
753 |
<li>
|
|
|
754 |
<p>
|
|
|
755 |
When used with an non-OpenHome Control Point, multiple calls to
|
|
|
756 |
SetNextTransportURI no longer result in a lengthening of the MPD queue,
|
|
|
757 |
and a wrong playlist.
|
|
|
758 |
</p>
|
|
|
759 |
</li>
|
|
|
760 |
<li>
|
|
|
761 |
<p>
|
|
|
762 |
The OpenHome Playlist metadata is now writen to a temporary file which
|
|
|
763 |
is then renamed, to avoid partial saves of big lists.
|
|
|
764 |
</p>
|
|
|
765 |
</li>
|
|
|
766 |
<li>
|
|
|
767 |
<p>
|
|
|
768 |
The AVTransport service uses the OpenHome PlayList metadata cache
|
|
|
769 |
for describing the current track data to a pure AVTransport Control
|
|
|
770 |
Point. This is a very marginal improvement, and only makes sense in case
|
|
|
771 |
the AVTransport CP is used for displaying the current track.
|
|
|
772 |
</p>
|
|
|
773 |
</li>
|
|
|
774 |
<li>
|
|
|
775 |
<p>
|
|
|
776 |
The OpenHome service was not completly switched off when the option was
|
|
|
777 |
off sometimes resulting in spurious error messages (and nothing more).
|
|
|
778 |
</p>
|
|
|
779 |
</li>
|
|
|
780 |
<li>
|
|
|
781 |
<p>
|
|
|
782 |
Bad lock management inside the device code could result in a
|
|
|
783 |
semi-deadlock in rare situations. Upmpdcli would then mostly be gone from
|
|
|
784 |
the network, while still doing temporary appearances. This is linked to
|
|
|
785 |
design issues in libupnp, which handles quite badly a situation where a
|
|
|
786 |
subscribed Control Point responds very slowly or not at all to event
|
|
|
787 |
connections.
|
|
|
788 |
</p>
|
|
|
789 |
</li>
|
|
|
790 |
</ul></div>
|
|
|
791 |
</div>
|
|
|
792 |
</div>
|
|
|
793 |
</div>
|
|
|
794 |
<div class="sect1">
|
740 |
<h2 id="_changes_in_upmpdcli_0_8_0">Changes in upmpdcli 0.8.0</h2>
|
795 |
<h2 id="_changes_in_upmpdcli_0_8_0">Changes in upmpdcli 0.8.0</h2>
|
741 |
<div class="sectionbody">
|
796 |
<div class="sectionbody">
|
742 |
<div class="paragraph"><p>The main changes in release 0.8 deal with better handling of the OpenHome
|
797 |
<div class="paragraph"><p>The main changes in release 0.8 deal with better handling of the OpenHome
|
743 |
playlist, in addition to a number of small bug fixes, and efficiency
|
798 |
playlist, in addition to a number of small bug fixes, and efficiency
|
744 |
improvements.</p></div>
|
799 |
improvements.</p></div>
|
745 |
<div class="ulist"><ul>
|
800 |
<div class="ulist"><ul>
|
746 |
<li>
|
801 |
<li>
|
747 |
<p>
|
802 |
<p>
|
748 |
OpenHome playlist: metadata from tracks directly added to the MPD queue
|
803 |
OpenHome playlist: metadata from tracks directly added to the MPD queue
|
749 |
through an MPD client (such as, e.g. MPDroid, gmpc…) is now remembered
|
804 |
through an MPD client (such as, e.g. MPDroid, gmpc…) is now remembered
|
750 |
by <strong>upmpdcli</strong> and will be displayed in the UPnP control point.
|
805 |
by <strong>upmpdcli</strong> and will be displayed in the UPnP Control Point.
|
751 |
</p>
|
806 |
</p>
|
752 |
</li>
|
807 |
</li>
|
753 |
<li>
|
808 |
<li>
|
754 |
<p>
|
809 |
<p>
|
755 |
OpenHome playlist: the metadata for the playlist is now saved to disk so
|
810 |
OpenHome playlist: the metadata for the playlist is now saved to disk so
|
|
... |
|
... |
760 |
</li>
|
815 |
</li>
|
761 |
<li>
|
816 |
<li>
|
762 |
<p>
|
817 |
<p>
|
763 |
Actually advertise on the network when starting up and dying. An
|
818 |
Actually advertise on the network when starting up and dying. An
|
764 |
oversight in previous versions resulted in the fact that <strong>upmpdcli</strong> could
|
819 |
oversight in previous versions resulted in the fact that <strong>upmpdcli</strong> could
|
765 |
only be discovered by a search (when the control point started), but,
|
820 |
only be discovered by a search (when the Control Point started), but,
|
766 |
when <strong>upmpdcli</strong> was started, it would not appear in a running control point
|
821 |
when <strong>upmpdcli</strong> was started, it would not appear in a running Control Point
|
767 |
device list.
|
822 |
device list.
|
768 |
</p>
|
823 |
</p>
|
769 |
</li>
|
824 |
</li>
|
770 |
<li>
|
825 |
<li>
|
771 |
<p>
|
826 |
<p>
|
772 |
Do not advertise support for raw PCM strings (audio/Lxx), as we can’t
|
827 |
Do not advertise support for raw PCM strings (audio/Lxx), as we can’t
|
773 |
actually play them. It is better to give accurate information to the
|
828 |
actually play them. It is better to give accurate information to the
|
774 |
control point, so that it can choose an alternate format such as Wav if
|
829 |
Control Point, so that it can choose an alternate format such as Wav if
|
775 |
it is available.
|
830 |
it is available.
|
776 |
</p>
|
831 |
</p>
|
777 |
</li>
|
832 |
</li>
|
778 |
</ul></div>
|
833 |
</ul></div>
|
779 |
</div>
|
834 |
</div>
|
780 |
</div>
|
835 |
</div>
|
781 |
</div>
|
836 |
</div>
|
782 |
<div id="footnotes"><hr /></div>
|
837 |
<div id="footnotes"><hr /></div>
|
783 |
<div id="footer">
|
838 |
<div id="footer">
|
784 |
<div id="footer-text">
|
839 |
<div id="footer-text">
|
785 |
Last updated 2014-08-06 09:56:53 CEST
|
840 |
Last updated 2014-09-18 05:43:29 CEST
|
786 |
</div>
|
841 |
</div>
|
787 |
</div>
|
842 |
</div>
|
788 |
</body>
|
843 |
</body>
|
789 |
</html>
|
844 |
</html>
|