chiark / gitweb /
disobedience/control.c: Follow user toolbar style in full-size window.
[disorder] / CHANGES.html
index df193470a419167ea88ac7f1719644f2c2e0c987..0ed1e727eb0d535d9eb04175d84f40344d0ae953 100644 (file)
 <p><b>IMPORTANT</b>: you should read <a
 href="README.upgrades.html">README.upgrades</a> before upgrading.</p>
 
+<h2>Changes up to version 5.2</h2>
+
+<div class=section>
+
+  <h3>PulseAudio Support</h3>
+
+  <div class=section>
+
+    <p>PulseAudio is now supported, if the support library is available at
+    build time.  It is the default for client applications, reflecting its
+    widespread use in desktop environments.</p>
+
+  </div>
+
+  <h3>Changes To RTP Support</h3>
+
+  <div class=section>
+
+    <p>Disobedience now has a menu to select the network playback API.</p>
+
+    <p><code>disorder-playrtp</code> now selects playback API using
+    a <code>--api</code> option.  The old API-selection options remain
+    available but are deprecated and will be removed in the future.</p>
+
+    <p>RTP playback can now transmit to multiple unicast destinations, added
+    and removed on demand.  This is controlled by the new <code>rtp_mode</code>
+    option.  The motivating use case is a bridged network with high- and
+    low-capacity components.  However it is may also be useful in a routed
+    network without multicast routing support.</p>
+
+  </div>
+
+  <h3>GStreamer support</h3>
+
+  <div class=section>
+
+    <p>If it's detected at <tt>configure</tt> time, a new decoder
+    program <tt>disorder-gstdecode</tt> and a new tracklength
+    plugin <tt>tracklength-gstreamer</tt> are built.  These use the GStreamer
+    library for filetype detection, audio decoding and sample-rate conversion,
+    among other features.  Using these, DisOrder can play any audio file
+    supported by GStreamer.
+
+    <p>The decoder has a number of options for controlling the sample-rate and
+    audio format conversion, allowing various tradeoffs between quality and
+    processor time.  (High-quality conversion can consume more processor time
+    than decoding, so this is potentially useful on very a small device such as
+    a Raspberry Pi.</p>
+
+    <p>The GStreamer decoder can also use ReplayGain information stored in
+    audio files' metadata to adjust playback volume, so that tracks with very
+    wide dynamic range don't sound really quiet in comparison.  This
+    information can be added using tools such as <tt>mp3gain</tt>,
+    <tt>vorbisgain</tt>, or <tt>metaflac</tt>.  This is turned on by default if
+    you use the decoder; you can choose between per-album or per-track
+    settings, or turn it off entirely, using command-line options.</p> 
+
+    <p>The GStreamer decoder is not used by default, but it can be enabled
+    easily enough by dropping something like the following into the server
+    configuration file:
+      <pre>
+        player
+        player *.flac execraw /usr/sbin/disorder-gstdecode -ralbum -f-8.0
+        player *.mp2 execraw /usr/sbin/disorder-gstdecode -ralbum -f-8.0
+        player *.mp3 execraw /usr/sbin/disorder-gstdecode -ralbum -f-8.0
+        player *.ogg execraw /usr/sbin/disorder-gstdecode -ralbum -f-8.0
+        player *.wav execraw /usr/sbin/disorder-gstdecode -ralbum -f-8.0
+
+        tracklength
+        tracklength *.flac tracklength-gstreamer
+        tracklength *.mp2 tracklength-gstreamer
+        tracklength *.mp3 tracklength-gstreamer
+        tracklength *.ogg tracklength-gstreamer
+        tracklength *.wav tracklength-gstreamer
+      </pre>
+    </p>
+
+  <h3>Bug fixes</h3>
+
+  <div class=section>
+
+    <ul>
+      <li>The CGI program now checks user passwords even when it runs as the
+      main jukebox user(!).</li>
+
+      <li>Disobedience doesn't crash when search terms change under its
+      feet.</li>
+
+      <li>The CGI program doesn't crash on some POST requests.
+    </ul>
+
+  </div>
+
+</div>
+
+<h2>Changes up to version 5.1.1</h2>
+
+    <div class=section>
+
+      <h3>Bug fixes</h3>
+
+      <div class=section>
+
+        <ul>
+          <li><code>player</code> and <code>tracklength</code> can now be used
+          without arguments to clear the lists, as per the documentation.</li>
+
+          <li>Tracks without a player are forgotten upon rescan.</li>
+
+          <li>The speaker process avoids splitting frames.</li>
+        </ul>
+
+        <p>Thanks to Mark Wooding and Joe Birr-Pixton.</p>
+
+      </div>
+
+    </div>
+
 <h2>Changes up to version 5.1</h2>
 
 <div class=section>
@@ -41,6 +159,13 @@ href="README.upgrades.html">README.upgrades</a> before upgrading.</p>
     (<a href="http://code.google.com/p/disorder/issues/detail?id=29">issue
     #29</a>).</p>
 
+    <p>The &ldquo;Manage users&rdquo; option is now more reliably greyed out if
+    it will not work.  This depends on a server change too, so it may still be
+    wrong if a new Disobedience is used against an old server.</p>
+
+    <p>A <tt>.desktop</tt> file is now shipped, making Disobedience visible as
+    an application in freedesktop.org-compliant systems.</p>
+
   </div>
 
   <h3>Backups</h3>
@@ -67,6 +192,8 @@ href="README.upgrades.html">README.upgrades</a> before upgrading.</p>
     <p>Unicode support has been upgraded to <a
     href="http://www.unicode.org/versions/Unicode6.0.0/">Unicode
     6.0.0</a>.</p>
+
+    <p>Client programs no longer depend on libdb.</p>
     
     <p>The following have been removed:</p>