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

15 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).

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

15 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

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

15 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

15 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).

16 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.

16 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.

16 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.

16 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.

16 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.

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

16 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.

16 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

16 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

16 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.)

16 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.

16 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.

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

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

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

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

16 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

16 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

16 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

16 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

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

16 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.

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

16 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.

16 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

16 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

16 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.

16 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.

16 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.

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

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

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

16 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

16 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.

16 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.

16 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

16 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.

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

16 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.

16 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.

16 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.

16 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

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

16 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

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

16 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

16 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.

16 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.

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

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

16 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

16 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.

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

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

16 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)

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

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

16 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

16 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

16 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

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

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

16 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.

16 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...

16 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

16 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.

16 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.

16 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.

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

16 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

16 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.

16 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.

16 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.

16 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).

16 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.

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

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

16 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

16 years agoTypo fixes
Richard Kettlewell [Mon, 24 Mar 2008 11:55:40 +0000 (11:55 +0000)]
Typo fixes

16 years agoSuppress IO buffering when running tests
Richard Kettlewell [Mon, 24 Mar 2008 11:55:29 +0000 (11:55 +0000)]
Suppress IO buffering when running tests

16 years agoAdd a missing rescan to tests/play.py
Richard Kettlewell [Mon, 24 Mar 2008 00:01:32 +0000 (00:01 +0000)]
Add a missing rescan to tests/play.py

16 years agoconfigure.ac: on FreeBSD, look in the various places that libdb might
Richard Kettlewell [Sun, 23 Mar 2008 17:31:30 +0000 (17:31 +0000)]
configure.ac: on FreeBSD, look in the various places that libdb might
get installed.

README.developers: (probably partial) list of packages required to build
and test DisOrder on FreeBSD.

16 years agoA couple of fixes for Ubuntu Dapper:
Richard Kettlewell [Fri, 21 Mar 2008 19:58:16 +0000 (19:58 +0000)]
A couple of fixes for Ubuntu Dapper:
  - include sensible-browser in list of browsers to check for
  - don't use doc_... in *.am, since Dapper's Automake hates it

16 years agospeaker-network.c network_play() no longer assumes
Richard Kettlewell [Fri, 21 Mar 2008 19:15:21 +0000 (19:15 +0000)]
speaker-network.c network_play() no longer assumes
network_beforepoll() has been called.  Guaranteeing that assumption be
met would contradict it always being safe to call speaker_play().

16 years agoNew tests/recode.py converts filenames back and forth between UTF-8
Richard Kettlewell [Fri, 21 Mar 2008 16:03:01 +0000 (16:03 +0000)]
New tests/recode.py converts filenames back and forth between UTF-8
and ISO-8859-1 to make sure the server copes.  MDW reported a bug in
this area; it may be something that's already been fixed in 2.1 since
the test works for me.

This test won't run on Darwin since filenames must be UTF-8 there.

16 years agoTypo fix.
Richard Kettlewell [Sun, 9 Mar 2008 17:04:21 +0000 (17:04 +0000)]
Typo fix.

16 years agomissed disorder-stats in --version fix
Richard Kettlewell [Sun, 9 Mar 2008 11:21:28 +0000 (11:21 +0000)]
missed disorder-stats in --version fix

16 years agoReverse the order of the shutdown() calls on the socketpair used to
Richard Kettlewell [Sun, 9 Mar 2008 11:10:46 +0000 (11:10 +0000)]
Reverse the order of the shutdown() calls on the socketpair used to
connect to the speaker process.  OS X 10.5 actually cares about this.
I think this is a bug but it's easy enough to work around provided
other platforms don't care in the opposite direction.

This brings 'make check' to a full pass on Leopard.

16 years agoSet the default minimum deployment target to Mac OS X 10.0. The main
Richard Kettlewell [Sun, 9 Mar 2008 11:08:49 +0000 (11:08 +0000)]
Set the default minimum deployment target to Mac OS X 10.0.  The main
motivation for this is to avoid a deprecation warning on 10.5, where
AudioDeviceAddIOProc() is deprecated in favour of an alternative that
returns an ID, but it'll help anyone attempting binary distribution,
too.

We honor MACOSX_DEPLOYMENT_TARGET if set, and there's a configure
option to override it.

16 years agoAdjust --version output to more closely match GNU standards
Richard Kettlewell [Sun, 9 Mar 2008 10:21:58 +0000 (10:21 +0000)]
Adjust --version output to more closely match GNU standards

16 years agoSome minor debianization fixes
Richard Kettlewell [Sun, 9 Mar 2008 10:00:04 +0000 (10:00 +0000)]
Some minor debianization fixes

16 years agoLink to DisOrder site, not mine
Richard Kettlewell [Fri, 7 Mar 2008 21:14:11 +0000 (21:14 +0000)]
Link to DisOrder site, not mine

16 years agotypo in README
Richard Kettlewell [Thu, 6 Mar 2008 20:58:57 +0000 (20:58 +0000)]
typo in README