chiark / gitweb /
disorder
11 years agoFurther separation of template parsing and expansion
Richard Kettlewell [Sun, 27 Apr 2008 21:26:15 +0000 (22:26 +0100)]
Further separation of template parsing and expansion

11 years agoSeparate parsing of templates from expansion.
Richard Kettlewell [Sun, 27 Apr 2008 21:12:07 +0000 (22:12 +0100)]
Separate parsing of templates from expansion.

11 years agoFirst cut at macro definition. Does not expand args yet.
Richard Kettlewell [Sun, 27 Apr 2008 20:35:19 +0000 (21:35 +0100)]
First cut at macro definition.  Does not expand args yet.

11 years agoAllow trailing '@' to be left out of CGI expansions in specific
Richard Kettlewell [Sun, 27 Apr 2008 19:43:35 +0000 (20:43 +0100)]
Allow trailing '@' to be left out of CGI expansions in specific
circumstances.  This is such a common typo it seems better to accept
the result of user testing than cling to the original syntax.

11 years agoAsk for -std=gnu99 if necessary to get full <limits.h>.
Richard Kettlewell [Sun, 27 Apr 2008 19:07:42 +0000 (20:07 +0100)]
Ask for -std=gnu99 if necessary to get full <limits.h>.

11 years agoNote about use of GCC extensions.
Richard Kettlewell [Sun, 27 Apr 2008 12:35:24 +0000 (13:35 +0100)]
Note about use of GCC extensions.

11 years agoSimple test for compare_path_raw(). It's moved into a separate source
Richard Kettlewell [Sun, 27 Apr 2008 12:22:23 +0000 (13:22 +0100)]
Simple test for compare_path_raw().  It's moved into a separate source
file since the test program doens't have the config pointer.

11 years agoexercise make_home()
Richard Kettlewell [Sun, 27 Apr 2008 12:15:03 +0000 (13:15 +0100)]
exercise  make_home()

11 years agoMore testing.
Richard Kettlewell [Sun, 27 Apr 2008 10:22:03 +0000 (11:22 +0100)]
More testing.

11 years agoDe-dupe default backend selection
Richard Kettlewell [Sun, 27 Apr 2008 10:07:30 +0000 (11:07 +0100)]
De-dupe default backend selection

11 years agoSeparate notion of configured audio backend from Disobedience/playrtp
Richard Kettlewell [Sat, 26 Apr 2008 18:56:15 +0000 (19:56 +0100)]
Separate notion of configured audio backend from Disobedience/playrtp
audio backend.  This allows Disobedience to show the volume widget iff
it'll work.  If RTP is enabled then it uses the default audio backend
(which is what playrtp will pick); if not then it assumes the server
is capable of setting the volume.

Currently this will still go wrong on a Mac without RTP.

11 years agoFurther lib/ testing.
Richard Kettlewell [Sat, 26 Apr 2008 18:22:39 +0000 (19:22 +0100)]
Further lib/ testing.

11 years agoVarious fixes for GCC 2.95
Richard Kettlewell [Sat, 26 Apr 2008 14:58:41 +0000 (15:58 +0100)]
Various fixes for GCC 2.95

11 years agostruct addrinfo varies in order between platforms, forcing us to fall
Richard Kettlewell [Sat, 26 Apr 2008 14:41:37 +0000 (15:41 +0100)]
struct addrinfo varies in order between platforms, forcing us to fall
back on C99 initializer syntax.  I don't think this will be a huge
problem in practice: all the currently supported platforms use GCC as
their default compiler, and all vaguely recent versions of GCC support
this feature.

11 years agoAdditional testing for addr.c and a consequent bug fix.
Richard Kettlewell [Sat, 26 Apr 2008 14:30:58 +0000 (15:30 +0100)]
Additional testing for addr.c and a consequent bug fix.

11 years agoexercise byte_fprintf
Richard Kettlewell [Sat, 26 Apr 2008 14:08:59 +0000 (15:08 +0100)]
exercise byte_fprintf

11 years agoLog the time at which newly noticed tracks are added to the database.
Richard Kettlewell [Sat, 26 Apr 2008 13:51:46 +0000 (14:51 +0100)]
Log the time at which newly noticed tracks are added to the database.
This will allow disorder-choose to add a bias in favor of those tracks
(cf defect 11).

11 years agoBuffer reads from /dev/urandom
Richard Kettlewell [Fri, 25 Apr 2008 19:07:38 +0000 (20:07 +0100)]
Buffer reads from /dev/urandom

11 years agoMerge MDW's one-pass track picker
Richard Kettlewell [Fri, 25 Apr 2008 18:54:03 +0000 (19:54 +0100)]
Merge MDW's one-pass track picker

11 years agoReduce random pick interval
Richard Kettlewell [Wed, 23 Apr 2008 22:03:46 +0000 (23:03 +0100)]
Reduce random pick interval

11 years agosearch.py waits for rescan to finish
Richard Kettlewell [Wed, 23 Apr 2008 22:03:03 +0000 (23:03 +0100)]
search.py waits for rescan to finish

11 years agoMove conf.debconf generation to postinst, per debconf-devel(7).
Richard Kettlewell [Wed, 23 Apr 2008 18:56:33 +0000 (19:56 +0100)]
Move conf.debconf generation to postinst, per debconf-devel(7).

11 years agoNetwork play setup support in debconf scripts.
Richard Kettlewell [Tue, 22 Apr 2008 20:47:33 +0000 (21:47 +0100)]
Network play setup support in debconf scripts.

11 years agoNetwork play support for scripts/setup.
Richard Kettlewell [Tue, 22 Apr 2008 19:51:19 +0000 (20:51 +0100)]
Network play support for scripts/setup.

11 years agoCommand line parsing for scripts/setup. This is useful for repeated
Richard Kettlewell [Tue, 22 Apr 2008 18:13:49 +0000 (19:13 +0100)]
Command line parsing for scripts/setup.  This is useful for repeated
installs and teardowns with identical configuration.

11 years agoscripts/setup waits a bit to let the server start up. This is a real
Richard Kettlewell [Tue, 22 Apr 2008 18:00:13 +0000 (19:00 +0100)]
scripts/setup waits a bit to let the server start up.  This is a real
bodge but will do for now.

11 years agoBy default, disable user management over TCP (since it tends to have
Richard Kettlewell [Tue, 22 Apr 2008 17:59:32 +0000 (18:59 +0100)]
By default, disable user management over TCP (since it tends to have
passwords in it).  The remote_userman configuration directive can be
used to re-enable it.

11 years agoRestore vpath'd builds
Richard Kettlewell [Tue, 22 Apr 2008 17:32:11 +0000 (18:32 +0100)]
Restore vpath'd builds

11 years agoNobble set_tool_colors(). We seem to be better off without.
Richard Kettlewell [Mon, 21 Apr 2008 19:15:35 +0000 (20:15 +0100)]
Nobble set_tool_colors().  We seem to be better off without.

11 years agoMerge from 3.0 fixes branch
Richard Kettlewell [Sun, 20 Apr 2008 19:17:45 +0000 (20:17 +0100)]
Merge from 3.0 fixes branch

11 years agoweb page no longer uses CHANGES/README.txt
Richard Kettlewell [Sun, 20 Apr 2008 19:17:06 +0000 (20:17 +0100)]
web page no longer uses CHANGES/README.txt

11 years agochoose: Use a one-pass algorithm to select tracks.
mdw@distorted.org.uk [Sun, 20 Apr 2008 18:36:32 +0000 (19:36 +0100)]
choose: Use a one-pass algorithm to select tracks.

The previous algorithm used one pass over the track database to compute
weights and build a list, and a second pass to pick the right track from
the list after having actually chosen a random number,

This change throws out a lot of the old code involved with constructing
and walking the list by using a one-pass algorithm instead.  (The
algorithm provably preserves the probability distribution: see
commentary.)

11 years agochoose: Select tracks uniformly at random.
mdw@distorted.org.uk [Sun, 20 Apr 2008 18:36:24 +0000 (19:36 +0100)]
choose: Select tracks uniformly at random.

The previous algorithm had a (very minor) bias towards tracks which are
early in the enumeration order.  This change fixes the bias completely.

11 years agoClients now test whether users.db is readable before blundering in and
Richard Kettlewell [Sun, 20 Apr 2008 17:15:49 +0000 (18:15 +0100)]
Clients now test whether users.db is readable before blundering in and
trying it.  They will still fail in all the cases they did before but
much more gracefuly.

11 years agoMerge from disorder.userman
Richard Kettlewell [Sun, 20 Apr 2008 16:00:19 +0000 (17:00 +0100)]
Merge from disorder.userman

11 years agoBuild fix for linux
Richard Kettlewell [Sun, 20 Apr 2008 15:58:06 +0000 (16:58 +0100)]
Build fix for linux

11 years agoMerge disorder.userman branch
Richard Kettlewell [Sun, 20 Apr 2008 15:01:45 +0000 (16:01 +0100)]
Merge disorder.userman branch

11 years agoUse fls() if available
Richard Kettlewell [Sun, 20 Apr 2008 14:59:58 +0000 (15:59 +0100)]
Use fls() if available

11 years agoCHANGES and docs updates for user management window
Richard Kettlewell [Sun, 20 Apr 2008 14:46:16 +0000 (15:46 +0100)]
CHANGES and docs updates for user management window

11 years agoStandardize on "username" (not "user") in user-facing contexts
Richard Kettlewell [Sun, 20 Apr 2008 14:38:22 +0000 (15:38 +0100)]
Standardize on "username" (not "user") in user-facing contexts

11 years agoMerge more 3.0 branch changes
Richard Kettlewell [Sun, 20 Apr 2008 14:07:20 +0000 (15:07 +0100)]
Merge more 3.0 branch changes

11 years agoCope with a toxic cookie Ross found under a rock
Richard Kettlewell [Sun, 20 Apr 2008 14:04:12 +0000 (15:04 +0100)]
Cope with a toxic cookie Ross found under a rock

11 years agoRestore builds --without-server
Richard Kettlewell [Sun, 20 Apr 2008 13:46:28 +0000 (14:46 +0100)]
Restore builds --without-server

11 years agoHack to align rights check buttons. They're still not aligned with
Richard Kettlewell [Sun, 20 Apr 2008 13:31:20 +0000 (14:31 +0100)]
Hack to align rights check buttons.  They're still not aligned with
the entry widgets above, but this is still an improvement over what
went before.

11 years agoMerge from 3.0 branch
Richard Kettlewell [Sun, 20 Apr 2008 13:19:37 +0000 (14:19 +0100)]
Merge from 3.0 branch

11 years agomktemp is (1) Essential: yes and (2) not in dapper (which has it in
Richard Kettlewell [Sun, 20 Apr 2008 13:18:52 +0000 (14:18 +0100)]
mktemp is (1) Essential: yes and (2) not in dapper (which has it in
debianutils), so there's nothing to be gained and much to be lost by
depending on it.

11 years agoMerge fixes up to 3.0.1
Richard Kettlewell [Sun, 20 Apr 2008 12:32:05 +0000 (13:32 +0100)]
Merge fixes up to 3.0.1

11 years agoThis isn't exactly 3.0 so change version number
Richard Kettlewell [Sun, 20 Apr 2008 11:15:51 +0000 (12:15 +0100)]
This isn't exactly 3.0 so change version number

11 years agoFor Debian installs, prerm now supports failed-upgrade, which is
Richard Kettlewell [Sun, 20 Apr 2008 10:29:52 +0000 (11:29 +0100)]
For Debian installs, prerm now supports failed-upgrade, which is
necessary as the 2.0.x prerm cannot survive new /usr/bin/disorder.

11 years agoPut a frame around user management window (and the other popups) and
Richard Kettlewell [Sun, 20 Apr 2008 09:34:52 +0000 (10:34 +0100)]
Put a frame around user management window (and the other popups) and
improve internal spacing a bit.

11 years agoOnly offer user management window if you have RIGHT_ADMIN. The server
Richard Kettlewell [Sat, 19 Apr 2008 23:08:52 +0000 (00:08 +0100)]
Only offer user management window if you have RIGHT_ADMIN.  The server
will stop you if you don't but it won't be pretty.

11 years agoComment typo fix.
Richard Kettlewell [Sat, 19 Apr 2008 23:07:03 +0000 (00:07 +0100)]
Comment typo fix.

11 years agoproperly scroll user list
Richard Kettlewell [Sat, 19 Apr 2008 20:41:43 +0000 (21:41 +0100)]
properly scroll user list

11 years agoDestroy users table properly
Richard Kettlewell [Sat, 19 Apr 2008 20:31:48 +0000 (21:31 +0100)]
Destroy users table properly

11 years agoTart up users window a bit
Richard Kettlewell [Sat, 19 Apr 2008 20:07:08 +0000 (21:07 +0100)]
Tart up users window a bit

11 years agoSelect newly created user automatically. User editing now works.
Richard Kettlewell [Sat, 19 Apr 2008 19:42:20 +0000 (20:42 +0100)]
Select newly created user automatically.  User editing now works.
Unify add/edit/op error handling, and allow retry of add on failure.

11 years agoThe server now treats setting an empty email address as removing that
Richard Kettlewell [Sat, 19 Apr 2008 18:37:45 +0000 (19:37 +0100)]
The server now treats setting an empty email address as removing that
property.  Includes a test.

11 years agomerge queue test fix from disorder.dev
Richard Kettlewell [Sat, 19 Apr 2008 18:24:24 +0000 (19:24 +0100)]
merge queue test fix from disorder.dev

11 years agoFix test/queue.py to cope with slower random queue refill.
Richard Kettlewell [Sat, 19 Apr 2008 18:22:46 +0000 (19:22 +0100)]
Fix test/queue.py to cope with slower random queue refill.

11 years agoFiddle with menu names
Richard Kettlewell [Sat, 19 Apr 2008 17:07:34 +0000 (18:07 +0100)]
Fiddle with menu names

11 years agoAdding a user from Disobedience now works.
Richard Kettlewell [Sat, 19 Apr 2008 16:47:30 +0000 (17:47 +0100)]
Adding a user from Disobedience now works.

11 years agoAutomate sensitization when mode changes.
Richard Kettlewell [Sat, 19 Apr 2008 16:18:59 +0000 (17:18 +0100)]
Automate sensitization when mode changes.

Make all user detail widgets insensitive when not adding/editing.

Use local default_rights.

Check passwords match on add/edit.

Attach popups to the right window.

11 years agoMove apply button creation earlier so it exists in time to be
Richard Kettlewell [Sat, 19 Apr 2008 16:02:12 +0000 (17:02 +0100)]
Move apply button creation earlier so it exists in time to be
(de-)sensitized.

Only look up user details to edit if a user is selected.

11 years agoRearrange window layout and UI structure
Richard Kettlewell [Sat, 19 Apr 2008 13:48:17 +0000 (14:48 +0100)]
Rearrange window layout and UI structure

11 years agoComments
Richard Kettlewell [Sat, 19 Apr 2008 12:28:31 +0000 (13:28 +0100)]
Comments

11 years agoDesensitive _MINE and _RANDOM if _ALL is checked
Richard Kettlewell [Sat, 19 Apr 2008 11:01:57 +0000 (12:01 +0100)]
Desensitive _MINE and _RANDOM if _ALL is checked

11 years agoRights widgets now automatically recorded
Richard Kettlewell [Sat, 19 Apr 2008 10:52:40 +0000 (11:52 +0100)]
Rights widgets now automatically recorded

11 years agoAdd a new function to compute the leftmost bit of a uint32_t
Richard Kettlewell [Sat, 19 Apr 2008 10:43:07 +0000 (11:43 +0100)]
Add a new function to compute the leftmost bit of a uint32_t

11 years agoPick up user details rather than making them up.
Richard Kettlewell [Fri, 18 Apr 2008 22:32:29 +0000 (23:32 +0100)]
Pick up user details rather than making them up.

11 years agoeclient now passes NULL for 555 responses rather than calling the
Richard Kettlewell [Fri, 18 Apr 2008 21:30:17 +0000 (22:30 +0100)]
eclient now passes NULL for 555 responses rather than calling the
error callback.  This is actually rather more convenient in reality.
The only place where this matters already has a workaroud to translate
errors back into null values.  That isn't removed, but should be some
time.

11 years agomove/scratch/remove right checkboxes
Richard Kettlewell [Fri, 18 Apr 2008 20:45:54 +0000 (21:45 +0100)]
move/scratch/remove right checkboxes

11 years agoFirst step towards user rights
Richard Kettlewell [Fri, 18 Apr 2008 18:39:57 +0000 (19:39 +0100)]
First step towards user rights

11 years agoDe-dupe user details form layout code
Richard Kettlewell [Fri, 18 Apr 2008 17:40:45 +0000 (18:40 +0100)]
De-dupe user details form layout code

11 years agoFirst draft of user editing form. Not filled in with right details yet.
Richard Kettlewell [Sun, 13 Apr 2008 10:54:00 +0000 (11:54 +0100)]
First draft of user editing form.  Not filled in with right details yet.

11 years agosplit out users_getuser()
Richard Kettlewell [Sun, 13 Apr 2008 10:29:46 +0000 (11:29 +0100)]
split out users_getuser()

11 years agouserinfo/edituser eclient calls
Richard Kettlewell [Sun, 13 Apr 2008 10:26:09 +0000 (11:26 +0100)]
userinfo/edituser eclient calls

11 years agoadd missing userinfo command to disorder_protocol(5)
Richard Kettlewell [Sun, 13 Apr 2008 10:22:41 +0000 (11:22 +0100)]
add missing userinfo command to disorder_protocol(5)

11 years agoUser deletion in Disobedience
Richard Kettlewell [Sat, 12 Apr 2008 16:48:23 +0000 (17:48 +0100)]
User deletion in Disobedience

11 years agoDisobedience user management window (nonfunctional)
Richard Kettlewell [Sat, 12 Apr 2008 16:13:07 +0000 (17:13 +0100)]
Disobedience user management window (nonfunctional)

11 years agoforce HTML-ized man pages to use ASCII
Richard Kettlewell [Sat, 12 Apr 2008 14:11:07 +0000 (15:11 +0100)]
force HTML-ized man pages to use ASCII

11 years agoDocument appearance of weight in UIs
Richard Kettlewell [Sat, 12 Apr 2008 14:00:19 +0000 (15:00 +0100)]
Document appearance of weight in UIs

11 years agoWeight support in web UI. A little clunky but works
Richard Kettlewell [Sat, 12 Apr 2008 13:57:52 +0000 (14:57 +0100)]
Weight support in web UI.  A little clunky but works

11 years agoDisobedience supports editing track weight
Richard Kettlewell [Sat, 12 Apr 2008 13:51:32 +0000 (14:51 +0100)]
Disobedience supports editing track weight

11 years agodocument cookie-related preferences
Richard Kettlewell [Sat, 12 Apr 2008 12:21:24 +0000 (13:21 +0100)]
document cookie-related preferences

11 years agoImplement 'weight' track preference (defect 10). No UI yet.
Richard Kettlewell [Sat, 12 Apr 2008 11:39:46 +0000 (12:39 +0100)]
Implement 'weight' track preference (defect 10).  No UI yet.

11 years agoNew 'replay_min' directive defines lower bound on interval between a
Richard Kettlewell [Sat, 12 Apr 2008 11:22:21 +0000 (12:22 +0100)]
New 'replay_min' directive defines lower bound on interval between a
track being played and later picked at random.  Fixes a long-standing
TODO...

11 years agodisorder-choose rejects tracks in queue/recent list
Richard Kettlewell [Sat, 12 Apr 2008 11:08:54 +0000 (12:08 +0100)]
disorder-choose rejects tracks in queue/recent list

11 years agoUse disorder-choose to pick random tracks.
Richard Kettlewell [Sat, 12 Apr 2008 11:00:37 +0000 (12:00 +0100)]
Use disorder-choose to pick random tracks.

State and periodic activity handling is reorganized.  Periodic
activities started from main() are now handled in much more a
consistent manner.

The server will now check for new track to play once a second, and try
to add a new random track once every ten seconds.  In addition various
bits of play.c attempt these operations when immmediate response is
more appropriate, but are now freed from the responsibility of
ensuring that they occur at a reasonable frequency.

A couple of features have disappeared for now:
- disorder_track_random() is gone form the server API.  This has been
  useless for a while now.
- The 'gap' configuration item no longer works.  I'm not convinced
  it'll be missed; 0 is by far the most useful setting since otherwise
  album play is disrupted.

11 years agodisorder-choose now supports everything that the old track picker does.
Richard Kettlewell [Thu, 10 Apr 2008 19:18:25 +0000 (20:18 +0100)]
disorder-choose now supports everything that the old track picker does.

11 years agoNew disorder-choose program for performing random selection.
Richard Kettlewell [Thu, 10 Apr 2008 18:48:42 +0000 (19:48 +0100)]
New disorder-choose program for performing random selection.
Currently honors pick_at_random but not the required/prohibited tags
prefs, and not used by the server.

11 years agoDisOrder 3.0 3.0
Richard Kettlewell [Sat, 29 Mar 2008 17:17:48 +0000 (17:17 +0000)]
DisOrder 3.0

11 years agoPlay catchup with Apple dscl's API churn
Richard Kettlewell [Sat, 29 Mar 2008 15:24:01 +0000 (15:24 +0000)]
Play catchup with Apple dscl's API churn

11 years agoTests now use a somewhat longer track, to reduce the chance that a
Richard Kettlewell [Sat, 29 Mar 2008 12:08:20 +0000 (12:08 +0000)]
Tests now use a somewhat longer track, to reduce the chance that a
track will play out before the test spots it.

11 years agoUse snd_pcm_prepare() instead of snd_pcm_recover(), since the latter
Richard Kettlewell [Tue, 25 Mar 2008 19:41:52 +0000 (19:41 +0000)]
Use snd_pcm_prepare() instead of snd_pcm_recover(), since the latter
isn't available in older ALSAs.

11 years agoMake the Disobedience login window a bit saner. There is now just a
Richard Kettlewell [Mon, 24 Mar 2008 21:32:56 +0000 (21:32 +0000)]
Make the Disobedience login window a bit saner.  There is now just a
Login and a Cancel button.  The former attempts a login synchronously
(there not being any background activity to worry about blocking at
this point); on success it (unconditionally) saves the config and pops
down the login window, on error it gives you another go.

The problem described in defect 17 is eliminated in the login box by
this change too since polling of the eclient is suppressed while the
login box is up.  However the underlying problem is still there and
probably relates to multiple commands failing due to authentication
errors.  Those commands should probably be discarded silently.

11 years agoFix defect 16 (GTK assertion due to config->password being NULL).
Richard Kettlewell [Mon, 24 Mar 2008 20:57:09 +0000 (20:57 +0000)]
Fix defect 16 (GTK assertion due to config->password being NULL).

11 years agoRewrite playrtp ALSA support. The result seems to be much more
Richard Kettlewell [Mon, 24 Mar 2008 18:54:20 +0000 (18:54 +0000)]
Rewrite playrtp ALSA support.  The result seems to be much more
reliable, and it's certainly simpler.  The speaker ALSA support would
probably benefit from using the same backend at some point, and with a
similar backend for OSS we'd be in a good position to more closely
unify the support for the various different sound APIs.

11 years agomore informative assertions
Richard Kettlewell [Mon, 24 Mar 2008 17:40:25 +0000 (17:40 +0000)]
more informative assertions

11 years agoFurther ALSA underrun fiddling.
Richard Kettlewell [Mon, 24 Mar 2008 15:41:13 +0000 (15:41 +0000)]
Further ALSA underrun fiddling.

11 years agoplayrtp: cope better with spurious ALSA underruns
Richard Kettlewell [Mon, 24 Mar 2008 15:21:22 +0000 (15:21 +0000)]
playrtp: cope better with spurious ALSA underruns