chiark / gitweb /
Further ALSA underrun fiddling.
[disorder] / CHANGES
CommitLineData
f0feb22e
RK
1* Changes up to version 2.1
2
7a4c02b0
RK
3** Platforms And Installation
4
5Mac OS X and FreeBSD are somewhat supported. There is now a bash script
6in scripts/setup which will automate the setup after 'make install'.
7
f0feb22e
RK
8** Server
9
10Users are now stored in the database rather than a configuration file.
11
e6a35d1c
RK
12The server now has a built-in list of stopwords and players, so only
13additions to these need be mentioned in the configuration file.
86be0c30 14
07bc035e
RK
15The default inter-track gap is now 0s.
16
ad884aa5 17How sound is played is now controlled via the new 'api' configuration
18command. This also controls how the volume is set, which now works with
19ALSA as well as OSS.
20
a69fcd7a
RK
21A bug in the MP3 decoder was fixed (also in 2.0.4).
22
d84bf422 23** Web Interface
24
25The web interface now uses cookies to remember user identity, and allows
b64c2805 26online registration of new users. Also it is no longer necessary to
27manually specify the URL of the web interface (but you can override it
28if you don't like the value it figures out).
d84bf422 29
b18d2a34 30It is possible to allow users to register via the web interface.
ad884aa5 31
32The web interface's browser support has been improved. It has been
33tested with Firefox 2, Safari 3, Konqueror 3, Internet Explorer 7 and
34Opera 9.
35
8137fb3d
RK
36** Disobedience
37
38A bug which would cause a crash if you attempt to rearrange the queue
413799e3 39while no track was playing has been fixed. There is a new 'deselect all
fb009628 40tracks' option, mirroring 'select all tracks.
8137fb3d 41
92afc09e 42* Changes up to version 2.0
460b9539 43
44** General
45
460b9539 46Tracks can now have tags associated with them. See tags in disorder(1)
47or the preferences documentation for the web interface or Disobedience.
48
49The search facility knows how to limit results by tag (see search
50documentation for any interface) as well as by word search. It is
51possible to limit random play by tag (see required-tags and
52prohibited-tags in disorder_config(5)).
53
813070ec
RK
54Unicode support is improved. Case-folding and word breaking now follows
55the rules given in the Unicode standard (with a bit of tailoring in the
413799e3 56latter case).
813070ec 57
655cae67
RK
58** Disobedience
59
60There is a new client, 'Disobedience', that depends on the GTK+ library.
61Feedback on the interface would be very welcome.
62
63** Web Interface
64
65The "New" screen display tracks recently added to the database. From
66here they can be played or their preferences changed.
67
813070ec
RK
68Long track names are truncated so they fit better on the screen. Hover
69for the full name.
70
655cae67
RK
71** Network Play
72
73DisOrder can broadcast audio over a network, allowing it to be played on
74multiple client machines. See README.streams for details.
75
460b9539 76** Server
77
813070ec
RK
78Slow file lookups are cached in the server. This should help
79installations with large collections and/or slow platforms.
460b9539 80
81The 'enabled' and 'random_enabled' configuration options are now gone.
82Instead the state survives from one run of the server to the next.
83'disable now' is gone as well - if you want to emulate it disable
84playing and then scratch the current track.
85
86The 'pick' plugin has been abolished. All the logic formerly done there
87is now built into the server, where it can be done much more
88efficiently.
89
813070ec
RK
90'tracklength' plugins must be explicitly specified.
91
6aba3f6c
RK
92A bug where removing a collection (from the configuration) could cause a
93crash when random play was enabled has been fixed.
94
63e28749 95A new configuration option 'queue_pad' allows the number of random
96tracks kept on the queue to be controlled.
97
75db8354 98There is a new utility disorder-decode which can decode OGG, MP3, WAV
99and FLAC. The example config file uses it.
ce6c36be 100
813070ec
RK
101Database statistics are computed in a subprocess so that the main server
102(and all clients) are not blocked for the duration.
103
460b9539 104** disorderfm
105
106There is a new command line tool called 'disorderfm' which is designed
107for filename translation on (for instance) digital audio repositories.
108It is not yet feature-complete. See its man page for additional
109details.
110
111** Build And Configuration
112
113You can control which components are built with new --with options. See
114README.
115
116options.transform and the 'transform' web option have gone, replaced
117with a 'transform' configuration command. Both this and 'namepart' are
118now optional.
119
63e28749 120** Thanks
121
122Ross Younger, Colin Watson, Michael Stevens and Mark Wooding all
123contributed in some way to this release.
124
460b9539 125* Changes up to version 1.5.1
126
127** Web Interface
128
129Correct regexp for non-alpha tracks.
130
131* Changes up to version 1.5
132
133** Web Interface
134
135Regexp-based filtering of tracks (for instance as used by the initial
136'Choose' page) now does the regexp matching in the server, limiting the
137amount of data transferred to the web interface only to be discarded.
138
139** Client
140
141Regexp-base filtering of tracks is now available to the command line
142client.
143
144** Server
145
146New server_nice, speaker_nice and rescan_nice configuration options
147allow independent control of process priorities.
148
149Scratches are now attributed to the user who requested them.
150
151Bugs fixed:
152 A file descriptor was leaked for each track played.
153 The amount of a track played so far was not reported.
154 The speaker process could crash on underrun.
155 The server would crash if you paused a non-pause capable track.
156 Regexp matching in the file and directory list commands was not
157 reliable.
158 Handling of variable-argument commands in the client was broken.
159
160* Changes up to version 1.4
161
162** General
163
164Raw format players are now supported. See README.upgrades and
165README.raw for details. This allows pausing and eliminating the
166inter-track gap.
167
168Pausing is also supported with suitably modified standalone player
169plugins, though none of the supplied ones are capable of this.
170
171When random play is enabled the randomly picked track now appears in the
172queue, and can be moved around the queue, removed from it, etc.
173
174** Web Interface
175
176Switches (random play, pause, ...) are now presented as a
177fixed-appearance switch with an adjacent state indicator.
178
179The 'Manage' screen has new buttons to move tracks to the head or tail
180of the queue.
181
182You can now edit the preferences for all the tracks in an album in a
183single screen, rather than having to visit each separately. For the
184time being the raw preferences editing has gone; it can be reintroduced
185on some form if there is demand. (You can still edit raw preferences
186from the command line.)
187
188Labels are now documented in options.labels rather than
189disorder_config(5).
190
191** Server
192
193If you tried to start up on any empty database with random play enabled
194the server would exit with an error.
195
196The server no longer risks failing if you strace its player
197subprocesses.
198
199It was possible for the server to hang when a 'reconfigure' command was
200issued. This should no longer be the case.
201
202The default signal to forcibly terminate players is now SIGKILL.
203
204** Plugins
205
206Plugins must now declare a type word. This allows them to document
207whether they are a standalone player or a raw-format player, and whether
208they support pausing. They can also arrange to get setup and cleanup
209calls in the main server. See disorder(3) for more details.
210
211* Changes up to version 1.3
212
213** Dependencies
214
215Berkeley DB 4.2 is no longer supported. Use 4.3.
216
217** Client
218
219There is a new 'authorize' command to simplify the addition of local
220users. Please report successes as well as failures.
221
222There is a new 'resolve' command to return the real track name behind an
223alias.
224
225The 'rescan' command no longer takes an argument.
226
227** Server
228
229The track database code has been largely rewritten to improve
230maintainability.
231
232There is a new 'lock' directive. By default the server uses a lockfile
233to prevent multiple copies of itself running simultaneously; this can be
234inhibited e.g. if you are using a filesystem that does not support
235locking and are confident you can prevent concurrent running yourself.
236
237Aliases for track names, constructed from trackname_display_
238preferences, now appear in the virtual filesystem.
239
240The server now executes a subprocess for the rescan operation. It also
241runs a separate deadlock manager.
242
243Standard output and standard error from subprocesses are now logged.
244This is handy if you need to figure out why a player failed unexpectedly
245but might lead to huge log files if you have needlessly verbose players.
246
247** Web Interface
248
249Enable/disable buttons are now colored to reflect current state.
250
251Entering numeric volume values (rather than clicking on the arrows) now
252works.
253
413799e3 254Connection errors are reported more gracefully.
460b9539 255
256** Plugins
257
258Scanner plugins are now always invoked in a subprocess.
259
260disorder_track_count() and disorder_track_getn() are no longer
261available. Instead use disorder_track_random().
262
263Plugins are now opened with RTLD_NOW, so link errors are detected
264immediately.
265
266** Tools
267
268disorder-dump now insists on the input/output file being a named regular
269file, rather than using stdin or stdout.
270
271** Other
272
273Some missing files have been added, and some notes added regarding
274getting text encoding right.
275
276* Changes up to version 1.2
277
278See README.upgrades when upgrading to this version.
279
280** Bugs Fixed
281
282Avoid accumulating overlarge recently played list.
283
284When the server was stopped, the currently playing track would not be
285added to the recently played list. This has been fixed.
286
287Reloading the 'volume' page no longer repeats the last volume-changing
288action.
289
290The search facility now works properly for multiple hits within a single
291artist or album.
292
293** Server
294
295New namepart directive replaces web interface's trackname-part. There
296are associated changes to the protocol and clients.
297
298The number of database queries per candidate match required when
299searching has been reduced.
300
301The operator can control the signal used to scratch playing tracks. The
302default has been changed to SIGINT from SIGKILL.
303
304The 'log' command now provides a formalised event log, rather than raw
305access to the server's ordinary log output.
306
307** Web Interface Changes
308
309*** Choosing Tracks
310
311When picking a track the client now stays on the same screen rather than
312redirecting back to the 'Playing' screen. So that the user gets
313feedback from their action, playing and queued tracks are now marked as
314such in the track picking screen.
315
316It is possible to revert to the old behaviour by removing the back=
317argument from the choose.html and search.html templates (and optionally
318the trackstate lines).
319
320*** Search
321
322Non-ASCII characters are now properly supported in search terms.
323
324*** Syntax
325
326The template syntax has been changed slightly to ignore whitespace in
327certain places.
328
329*** Miscellaneous
330
331Some formerly textual buttons are now replaced by images (with ALT text
332reflecting the old value). The stylesheet is now a .css file (installed
333in the same place as the images) rather than being embedded into every
334template.
335
336Artist and album names in the playing and recently-played lists are now
337links to the corresponding directory.
338
339More functions are now available from the 'manage' screen.
340
341The menus are now (by default) across the top of the screen instead of
342down the side. Set the 'menu' label to 'sidebar' to restore the old
343appearance. 'Volume' is not present in this new menu, use 'Manage'
344instead (or edit the template).
345
346** tkdisorder
347
348tkdisorder now displays artist, album and title in the queue and
349recently played widgets, rather than just the title (as formerly).
350
351* Changes up to version 1.1
352
353** Bugs Fixed
354
355Corrected various problems with UTF-8 parsing.
356
357In the web interface, "The Beatles" (etc) are now grouped under 'B' not
358'T' when grouping tracks by initial letter.
359
360** Server
361
362The list of recently played tracks is now preserved across server
363restarts.
364
365Track IDs are more compact.
366
367Versions of libdb before 4.2 are no longer supported. 4.2 and 4.3 both
368work now. 4.2 support will be removed in some future release.
369
370Prehistoric backwards-compatibility logic removed. Only affects people
371upgrading from long before 1.0 (who should upgrade to 1.0 and then to
3721.1.)
373
374** Command Line
375
376Tracks can be moved in the queue from the command line.
377
378'disorder queue' now reports track IDs.
379
380$pkgdatadir/completion.bash provides tab completion over commands and
381options.
382
383** Web Interface
384
385New 'cooked' preferences interface saves users having to know arcane
386details of trackname preferences and so on. Non-ASCII characters are
387now properly supported in this context.
388
389CGI arguments to the web interface are now checked for UTF-8 compliance.
390
391Local Variables:
392mode:outline
393fill-column:72
394End: