From b0a578cbad5b994e163de90e7ee91b423dba30fa Mon Sep 17 00:00:00 2001 Message-Id: From: Mark Wooding Date: Mon, 26 May 2008 13:49:02 +0100 Subject: [PATCH] CHANGES -> CHANGES.html Organization: Straylight/Edgeware From: Richard Kettlewell --- CHANGES | 473 --------------------------------------------------- CHANGES.html | 297 ++++++++++++++++++++++++++++++++ Makefile.am | 2 +- README | 4 +- debian/rules | 5 +- 5 files changed, 302 insertions(+), 479 deletions(-) delete mode 100644 CHANGES create mode 100644 CHANGES.html diff --git a/CHANGES b/CHANGES deleted file mode 100644 index 32d83b7..0000000 --- a/CHANGES +++ /dev/null @@ -1,473 +0,0 @@ -* Changes up to version 3.1 - -** Server - -The 'gap' directive will no longer work. It could be restored if there -is real demand. - -*** Event Scheduling - -It is now possible to schedule events to occur in the future. Currently -the supported actions are playing a specific track, and changing a -global preference (thus allowing e.g. random play to be turned on or -off). See the schedule-* commands described in disorder(1). - -*** Random Track Choice - -This has been completely rewritten to support new features: - - tracks in the recently-played list or in the queue are no longer - eligible for random choice - - there is a new 'weight' track preference allowing for non-uniform - track selection. See disorder(1) for details. - - there is a new configuration item replay_min defining the minimum - time before a played track can be picked at random. The default is - 8 hours (which matches the earlier behaviour). - - recently added tracks are biased up; see new_bias and new_bias_age - in disorder_config(5). - -*** Web Interface - -This has been largely rewritten. The most immediate benefits are: - - the search page is integrated into the choose page, and includes - links to parent directories - - if you try to do something you have insufficient rights for, - instead of getting an error page or nothing happening, you are - redirected to the login page - -Customizers should find their lives easier: the syntax is less onerous, -it is possible to define macros to avoid repetition, and the -documentation is less monolithic. - -** Disobedience - -There is now a new user management window. From here you can add and -remove users or modify their settings. - -Relatedly, the server will only allow remote user management if you set -remote_userman to 'yes'. - -** Miscellaneous - -scripts/setup now honors command line options, and can set up network -play as well as the local default sound device. - -** Bugs Fixed - - #2 Search results should link to directories - #6 Schedule tracks for a particular time -#10 Non-uniform track selection -#11 Bias random selection to newly added tracks -#13 Default encoding for debian setup scripts -#16 Cookie expiry causes user to be silently logged out and not - subsequently redirected to login page -#20 Broken aliasing rules - -* Changes up to version 3.0.2 - -Builds --without-server should work again. - -The web interface is a bit more liberal in the cookie value syntax it -will accept. - -Clients fail more gracefully if no password is available. - -* Changes up to version 3.0.1 - -Debian upgrades from 2.0.x should now work better. - -* Changes up to version 3.0 - -Important! See README.upgrades when upgrading. - -** Platforms And Installation - -Mac OS X and FreeBSD are somewhat supported. There is now a bash script -in scripts/setup which will automate the setup after 'make install'. - -** Server - -Users are now stored in the database rather than a configuration file. - -The server now has a built-in list of stopwords and players, so only -additions to these need be mentioned in the configuration file. - -The default inter-track gap is now 0s. - -How sound is played is now controlled via the new 'api' configuration -command. This also controls how the volume is set, which now works with -ALSA as well as OSS. - -A bug in the MP3 decoder was fixed (also in 2.0.4). - -** Web Interface - -The web interface now uses cookies to remember user identity, and allows -online registration of new users. Also it is no longer necessary to -manually specify the URL of the web interface (but you can override it -if you don't like the value it figures out). - -It is possible to allow users to register via the web interface. - -The web interface's browser support has been improved. It has been -tested with Firefox 2, Safari 3, Konqueror 3, Internet Explorer 7 and -Opera 9. - -** Disobedience - -A bug which would cause a crash if you attempt to rearrange the queue -while no track was playing has been fixed. There is a new 'deselect all -tracks' option, mirroring 'select all tracks. - -* Changes up to version 2.0 - -** General - -Tracks can now have tags associated with them. See tags in disorder(1) -or the preferences documentation for the web interface or Disobedience. - -The search facility knows how to limit results by tag (see search -documentation for any interface) as well as by word search. It is -possible to limit random play by tag (see required-tags and -prohibited-tags in disorder_config(5)). - -Unicode support is improved. Case-folding and word breaking now follows -the rules given in the Unicode standard (with a bit of tailoring in the -latter case). - -** Disobedience - -There is a new client, 'Disobedience', that depends on the GTK+ library. -Feedback on the interface would be very welcome. - -** Web Interface - -The "New" screen display tracks recently added to the database. From -here they can be played or their preferences changed. - -Long track names are truncated so they fit better on the screen. Hover -for the full name. - -** Network Play - -DisOrder can broadcast audio over a network, allowing it to be played on -multiple client machines. See README.streams for details. - -** Server - -Slow file lookups are cached in the server. This should help -installations with large collections and/or slow platforms. - -The 'enabled' and 'random_enabled' configuration options are now gone. -Instead the state survives from one run of the server to the next. -'disable now' is gone as well - if you want to emulate it disable -playing and then scratch the current track. - -The 'pick' plugin has been abolished. All the logic formerly done there -is now built into the server, where it can be done much more -efficiently. - -'tracklength' plugins must be explicitly specified. - -A bug where removing a collection (from the configuration) could cause a -crash when random play was enabled has been fixed. - -A new configuration option 'queue_pad' allows the number of random -tracks kept on the queue to be controlled. - -There is a new utility disorder-decode which can decode OGG, MP3, WAV -and FLAC. The example config file uses it. - -Database statistics are computed in a subprocess so that the main server -(and all clients) are not blocked for the duration. - -** disorderfm - -There is a new command line tool called 'disorderfm' which is designed -for filename translation on (for instance) digital audio repositories. -It is not yet feature-complete. See its man page for additional -details. - -** Build And Configuration - -You can control which components are built with new --with options. See -README. - -options.transform and the 'transform' web option have gone, replaced -with a 'transform' configuration command. Both this and 'namepart' are -now optional. - -** Thanks - -Ross Younger, Colin Watson, Michael Stevens and Mark Wooding all -contributed in some way to this release. - -* Changes up to version 1.5.1 - -** Web Interface - -Correct regexp for non-alpha tracks. - -* Changes up to version 1.5 - -** Web Interface - -Regexp-based filtering of tracks (for instance as used by the initial -'Choose' page) now does the regexp matching in the server, limiting the -amount of data transferred to the web interface only to be discarded. - -** Client - -Regexp-base filtering of tracks is now available to the command line -client. - -** Server - -New server_nice, speaker_nice and rescan_nice configuration options -allow independent control of process priorities. - -Scratches are now attributed to the user who requested them. - -Bugs fixed: - A file descriptor was leaked for each track played. - The amount of a track played so far was not reported. - The speaker process could crash on underrun. - The server would crash if you paused a non-pause capable track. - Regexp matching in the file and directory list commands was not - reliable. - Handling of variable-argument commands in the client was broken. - -* Changes up to version 1.4 - -** General - -Raw format players are now supported. See README.upgrades and -README.raw for details. This allows pausing and eliminating the -inter-track gap. - -Pausing is also supported with suitably modified standalone player -plugins, though none of the supplied ones are capable of this. - -When random play is enabled the randomly picked track now appears in the -queue, and can be moved around the queue, removed from it, etc. - -** Web Interface - -Switches (random play, pause, ...) are now presented as a -fixed-appearance switch with an adjacent state indicator. - -The 'Manage' screen has new buttons to move tracks to the head or tail -of the queue. - -You can now edit the preferences for all the tracks in an album in a -single screen, rather than having to visit each separately. For the -time being the raw preferences editing has gone; it can be reintroduced -on some form if there is demand. (You can still edit raw preferences -from the command line.) - -Labels are now documented in options.labels rather than -disorder_config(5). - -** Server - -If you tried to start up on any empty database with random play enabled -the server would exit with an error. - -The server no longer risks failing if you strace its player -subprocesses. - -It was possible for the server to hang when a 'reconfigure' command was -issued. This should no longer be the case. - -The default signal to forcibly terminate players is now SIGKILL. - -** Plugins - -Plugins must now declare a type word. This allows them to document -whether they are a standalone player or a raw-format player, and whether -they support pausing. They can also arrange to get setup and cleanup -calls in the main server. See disorder(3) for more details. - -* Changes up to version 1.3 - -** Dependencies - -Berkeley DB 4.2 is no longer supported. Use 4.3. - -** Client - -There is a new 'authorize' command to simplify the addition of local -users. Please report successes as well as failures. - -There is a new 'resolve' command to return the real track name behind an -alias. - -The 'rescan' command no longer takes an argument. - -** Server - -The track database code has been largely rewritten to improve -maintainability. - -There is a new 'lock' directive. By default the server uses a lockfile -to prevent multiple copies of itself running simultaneously; this can be -inhibited e.g. if you are using a filesystem that does not support -locking and are confident you can prevent concurrent running yourself. - -Aliases for track names, constructed from trackname_display_ -preferences, now appear in the virtual filesystem. - -The server now executes a subprocess for the rescan operation. It also -runs a separate deadlock manager. - -Standard output and standard error from subprocesses are now logged. -This is handy if you need to figure out why a player failed unexpectedly -but might lead to huge log files if you have needlessly verbose players. - -** Web Interface - -Enable/disable buttons are now colored to reflect current state. - -Entering numeric volume values (rather than clicking on the arrows) now -works. - -Connection errors are reported more gracefully. - -** Plugins - -Scanner plugins are now always invoked in a subprocess. - -disorder_track_count() and disorder_track_getn() are no longer -available. Instead use disorder_track_random(). - -Plugins are now opened with RTLD_NOW, so link errors are detected -immediately. - -** Tools - -disorder-dump now insists on the input/output file being a named regular -file, rather than using stdin or stdout. - -** Other - -Some missing files have been added, and some notes added regarding -getting text encoding right. - -* Changes up to version 1.2 - -See README.upgrades when upgrading to this version. - -** Bugs Fixed - -Avoid accumulating overlarge recently played list. - -When the server was stopped, the currently playing track would not be -added to the recently played list. This has been fixed. - -Reloading the 'volume' page no longer repeats the last volume-changing -action. - -The search facility now works properly for multiple hits within a single -artist or album. - -** Server - -New namepart directive replaces web interface's trackname-part. There -are associated changes to the protocol and clients. - -The number of database queries per candidate match required when -searching has been reduced. - -The operator can control the signal used to scratch playing tracks. The -default has been changed to SIGINT from SIGKILL. - -The 'log' command now provides a formalised event log, rather than raw -access to the server's ordinary log output. - -** Web Interface Changes - -*** Choosing Tracks - -When picking a track the client now stays on the same screen rather than -redirecting back to the 'Playing' screen. So that the user gets -feedback from their action, playing and queued tracks are now marked as -such in the track picking screen. - -It is possible to revert to the old behaviour by removing the back= -argument from the choose.html and search.html templates (and optionally -the trackstate lines). - -*** Search - -Non-ASCII characters are now properly supported in search terms. - -*** Syntax - -The template syntax has been changed slightly to ignore whitespace in -certain places. - -*** Miscellaneous - -Some formerly textual buttons are now replaced by images (with ALT text -reflecting the old value). The stylesheet is now a .css file (installed -in the same place as the images) rather than being embedded into every -template. - -Artist and album names in the playing and recently-played lists are now -links to the corresponding directory. - -More functions are now available from the 'manage' screen. - -The menus are now (by default) across the top of the screen instead of -down the side. Set the 'menu' label to 'sidebar' to restore the old -appearance. 'Volume' is not present in this new menu, use 'Manage' -instead (or edit the template). - -** tkdisorder - -tkdisorder now displays artist, album and title in the queue and -recently played widgets, rather than just the title (as formerly). - -* Changes up to version 1.1 - -** Bugs Fixed - -Corrected various problems with UTF-8 parsing. - -In the web interface, "The Beatles" (etc) are now grouped under 'B' not -'T' when grouping tracks by initial letter. - -** Server - -The list of recently played tracks is now preserved across server -restarts. - -Track IDs are more compact. - -Versions of libdb before 4.2 are no longer supported. 4.2 and 4.3 both -work now. 4.2 support will be removed in some future release. - -Prehistoric backwards-compatibility logic removed. Only affects people -upgrading from long before 1.0 (who should upgrade to 1.0 and then to -1.1.) - -** Command Line - -Tracks can be moved in the queue from the command line. - -'disorder queue' now reports track IDs. - -$pkgdatadir/completion.bash provides tab completion over commands and -options. - -** Web Interface - -New 'cooked' preferences interface saves users having to know arcane -details of trackname preferences and so on. Non-ASCII characters are -now properly supported in this context. - -CGI arguments to the web interface are now checked for UTF-8 compliance. - -Local Variables: -mode:outline -fill-column:72 -End: diff --git a/CHANGES.html b/CHANGES.html new file mode 100644 index 0000000..9a60a44 --- /dev/null +++ b/CHANGES.html @@ -0,0 +1,297 @@ + + + +DisOrder Change History + + + + +

DisOrder Change History

+ +

This file documents recent user-visible changes to DisOrder.

+ +

Changes up to version 3.1

+ +
+ +

Server

+ +
+ +

The gap directive will no longer work. It could be + restored if there is real demand.

+ +

Event Scheduling

+ +
+ +

It is now possible to schedule events to occur in the future. + Currently the supported actions are playing a specific track, and + changing a global preference (thus allowing e.g. random play to be + turned on or off). See the schedule-* + commands described in disorder(1).

+ +
+ +

Random Track Choice

+ +
+ +

This has been completely rewritten to support new features:

+ +
    + +
  • tracks in the recently-played list or in the queue are no longer + eligible for random choice.
  • + +
  • there is a new weight track preference allowing for + non-uniform track selection. See disorder(1) for details.
  • + +
  • there is a new configuration item replay_min defining + the minimum time before a played track can be picked at random. + The default is 8 hours (which matches the earlier behaviour).
  • + +
  • recently added tracks are biased up; see new_bias and + new_bias_age in disorder_config(5).
  • + +
+ +
+ +

Web Interface

+ +
+ +

This has been largely rewritten. The most immediate benefits are:

+ +
    + +
  • the search page is integrated into the choose page, and + includes links to parent directories.
  • + +
  • if you try to do something you have insufficient rights for, + instead of getting an error page or nothing happening, you are + redirected to the login page.
  • + +
+ +

Customizers should find their lives easier: the syntax is less onerous, it + is possible to define macros to avoid repetition, and the documentation is + less monolithic (see disorder.cgi(8) as a starting point).

+ +
+ +
+ +

Disobedience

+ +
+ +

There is now a new user management window. From here you can add and + remove users or modify their settings.

+ +

Relatedly, the server will only allow remote user management if you set + remote_userman to yes.

+ +
+ +

Miscellaneous

+ +
+ +

scripts/setup now honors command line options, and can + set up network play as well as the local default sound device.

+ +
+ +

Bugs Fixed

+ +
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
IDDescription
#2Search results should link to directories
#6Schedule tracks for a particular time
#10Non-uniform track selection
#11Bias random selection to newly added tracks
#13Default encoding for debian setup scripts
#16Cookie expiry causes user to be silently logged out and not + subsequently redirected to login page
#20Broken aliasing rules
+ +
+ +
+ +

Changes up to version 3.0.2

+ +
+ +

Builds --without-server should work again.

+ +

The web interface is a bit more liberal in the cookie value + syntax it will accept.

+ +

Clients fail more gracefully if no password is available.

+ +
+ +

Changes up to version 3.0.1

+ +
+ +

Debian upgrades from 2.0.x should now work better.

+ +
+ +

Changes up to version 3.0

+ +
+ +

Important! See README.upgrades when upgrading.

+ +

Platforms And Installation

+ +
+ +

Mac OS X and FreeBSD are somewhat supported. There is now a bash + script in scripts/setup which will automate the setup after + make install.

+ +
+ +

Server

+ +
+ +

Users are now stored in the database rather than a configuration + file.

+ +

The server now has a built-in list of stopwords and players, so + only additions to these need be mentioned in the configuration file.

+ +

The default inter-track gap is now 0s.

+ +

How sound is played is now controlled via the new api + configuration command. This also controls how the volume is set, + which now works with ALSA as well as OSS.

+ +

A bug in the MP3 decoder was fixed (also in 2.0.4).

+ +
+ +

Web Interface

+ +
+ +

The web interface now uses cookies to remember user identity, and + allows online registration of new users. Also it is no longer + necessary to manually specify the URL of the web interface (but you + can override it if you don't like the value it figures out).

+ +

It is possible to allow users to register via the web interface.

+ +

The web interface's browser support has been improved. It has + been tested with Firefox 2, Safari 3, Konqueror 3, Internet Explorer + 7 and Opera 9.

+ +
+ +

Disobedience

+ +
+ +

A bug which would cause a crash if you attempt to rearrange the + queue while no track was playing has been fixed. There is a new + 'deselect all tracks' option, mirroring 'select all tracks.

+ +
+ +
+ + diff --git a/Makefile.am b/Makefile.am index 87a70c0..cd8ab35 100644 --- a/Makefile.am +++ b/Makefile.am @@ -18,7 +18,7 @@ # USA # -EXTRA_DIST=TODO CHANGES README.streams BUGS \ +EXTRA_DIST=TODO CHANGES.html README.streams BUGS \ README.upgrades README.client README.raw README.vhost README.developers SUBDIRS=@subdirs@ diff --git a/README b/README index d13ab37..d9bdde9 100644 --- a/README +++ b/README @@ -13,8 +13,8 @@ DisOrder is a multi-user software jukebox. GTK+ interface that runs on Linux and Mac systems. * Playing tracks can be paused or cancelled ("scratched"). -See CHANGES for details of recent changes to DisOrder and README.upgrades for -upgrade instructions. +See CHANGES.html for details of recent changes to DisOrder and README.upgrades +for upgrade instructions. Platform support: Linux Well tested on Debian diff --git a/debian/rules b/debian/rules index 6c5b0ac..4fa3d4c 100755 --- a/debian/rules +++ b/debian/rules @@ -100,11 +100,10 @@ pkg-disorder: build $(MKDIR) debian/disorder/etc/disorder dpkg-shlibdeps -Tdebian/substvars.disorder \ debian/disorder/usr/bin/* - $(INSTALL_DATA) CHANGES README debian/README.Debian \ + $(INSTALL_DATA) CHANGES.html README debian/README.Debian \ BUGS README.* \ debian/disorder/usr/share/doc/disorder/. - gzip -9f debian/disorder/usr/share/doc/disorder/CHANGES \ - debian/disorder/usr/share/doc/disorder/README \ + gzip -9f debian/disorder/usr/share/doc/disorder/README \ debian/disorder/usr/share/doc/disorder/README.* \ debian/disorder/usr/share/doc/disorder/BUGS \ debian/disorder/usr/share/man/man*/* -- [mdw]