Richard Kettlewell [Wed, 23 Apr 2008 22:03:03 +0000 (23:03 +0100)]
search.py waits for rescan to finish
Richard Kettlewell [Wed, 23 Apr 2008 18:56:33 +0000 (19:56 +0100)]
Move conf.debconf generation to postinst, per debconf-devel(7).
Richard Kettlewell [Tue, 22 Apr 2008 20:47:33 +0000 (21:47 +0100)]
Network play setup support in debconf scripts.
Richard Kettlewell [Tue, 22 Apr 2008 19:51:19 +0000 (20:51 +0100)]
Network play support for scripts/setup.
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.
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.
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.
Richard Kettlewell [Tue, 22 Apr 2008 17:32:11 +0000 (18:32 +0100)]
Restore vpath'd builds
Richard Kettlewell [Mon, 21 Apr 2008 19:15:35 +0000 (20:15 +0100)]
Nobble set_tool_colors(). We seem to be better off without.
Richard Kettlewell [Sun, 20 Apr 2008 19:17:45 +0000 (20:17 +0100)]
Merge from 3.0 fixes branch
Richard Kettlewell [Sun, 20 Apr 2008 19:17:06 +0000 (20:17 +0100)]
web page no longer uses CHANGES/README.txt
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.)
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.
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.
Richard Kettlewell [Sun, 20 Apr 2008 16:00:19 +0000 (17:00 +0100)]
Merge from disorder.userman
Richard Kettlewell [Sun, 20 Apr 2008 15:58:06 +0000 (16:58 +0100)]
Build fix for linux
Richard Kettlewell [Sun, 20 Apr 2008 15:01:45 +0000 (16:01 +0100)]
Merge disorder.userman branch
Richard Kettlewell [Sun, 20 Apr 2008 14:59:58 +0000 (15:59 +0100)]
Use fls() if available
Richard Kettlewell [Sun, 20 Apr 2008 14:46:16 +0000 (15:46 +0100)]
CHANGES and docs updates for user management window
Richard Kettlewell [Sun, 20 Apr 2008 14:38:22 +0000 (15:38 +0100)]
Standardize on "username" (not "user") in user-facing contexts
Richard Kettlewell [Sun, 20 Apr 2008 14:07:20 +0000 (15:07 +0100)]
Merge more 3.0 branch changes
Richard Kettlewell [Sun, 20 Apr 2008 14:04:12 +0000 (15:04 +0100)]
Cope with a toxic cookie Ross found under a rock
Richard Kettlewell [Sun, 20 Apr 2008 13:46:28 +0000 (14:46 +0100)]
Restore builds --without-server
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.
Richard Kettlewell [Sun, 20 Apr 2008 13:19:37 +0000 (14:19 +0100)]
Merge from 3.0 branch
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.
Richard Kettlewell [Sun, 20 Apr 2008 12:32:05 +0000 (13:32 +0100)]
Merge fixes up to 3.0.1
Richard Kettlewell [Sun, 20 Apr 2008 11:15:51 +0000 (12:15 +0100)]
This isn't exactly 3.0 so change version number
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.
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.
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.
Richard Kettlewell [Sat, 19 Apr 2008 23:07:03 +0000 (00:07 +0100)]
Comment typo fix.
Richard Kettlewell [Sat, 19 Apr 2008 20:41:43 +0000 (21:41 +0100)]
properly scroll user list
Richard Kettlewell [Sat, 19 Apr 2008 20:31:48 +0000 (21:31 +0100)]
Destroy users table properly
Richard Kettlewell [Sat, 19 Apr 2008 20:07:08 +0000 (21:07 +0100)]
Tart up users window a bit
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.
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.
Richard Kettlewell [Sat, 19 Apr 2008 18:24:24 +0000 (19:24 +0100)]
merge queue test fix from disorder.dev
Richard Kettlewell [Sat, 19 Apr 2008 18:22:46 +0000 (19:22 +0100)]
Fix test/queue.py to cope with slower random queue refill.
Richard Kettlewell [Sat, 19 Apr 2008 17:07:34 +0000 (18:07 +0100)]
Fiddle with menu names
Richard Kettlewell [Sat, 19 Apr 2008 16:47:30 +0000 (17:47 +0100)]
Adding a user from Disobedience now works.
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.
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.
Richard Kettlewell [Sat, 19 Apr 2008 13:48:17 +0000 (14:48 +0100)]
Rearrange window layout and UI structure
Richard Kettlewell [Sat, 19 Apr 2008 12:28:31 +0000 (13:28 +0100)]
Comments
Richard Kettlewell [Sat, 19 Apr 2008 11:01:57 +0000 (12:01 +0100)]
Desensitive _MINE and _RANDOM if _ALL is checked
Richard Kettlewell [Sat, 19 Apr 2008 10:52:40 +0000 (11:52 +0100)]
Rights widgets now automatically recorded
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
Richard Kettlewell [Fri, 18 Apr 2008 22:32:29 +0000 (23:32 +0100)]
Pick up user details rather than making them up.
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.
Richard Kettlewell [Fri, 18 Apr 2008 20:45:54 +0000 (21:45 +0100)]
move/scratch/remove right checkboxes
Richard Kettlewell [Fri, 18 Apr 2008 18:39:57 +0000 (19:39 +0100)]
First step towards user rights
Richard Kettlewell [Fri, 18 Apr 2008 17:40:45 +0000 (18:40 +0100)]
De-dupe user details form layout code
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.
Richard Kettlewell [Sun, 13 Apr 2008 10:29:46 +0000 (11:29 +0100)]
split out users_getuser()
Richard Kettlewell [Sun, 13 Apr 2008 10:26:09 +0000 (11:26 +0100)]
userinfo/edituser eclient calls
Richard Kettlewell [Sun, 13 Apr 2008 10:22:41 +0000 (11:22 +0100)]
add missing userinfo command to disorder_protocol(5)
Richard Kettlewell [Sat, 12 Apr 2008 16:48:23 +0000 (17:48 +0100)]
User deletion in Disobedience
Richard Kettlewell [Sat, 12 Apr 2008 16:13:07 +0000 (17:13 +0100)]
Disobedience user management window (nonfunctional)
Richard Kettlewell [Sat, 12 Apr 2008 14:11:07 +0000 (15:11 +0100)]
force HTML-ized man pages to use ASCII
Richard Kettlewell [Sat, 12 Apr 2008 14:00:19 +0000 (15:00 +0100)]
Document appearance of weight in UIs
Richard Kettlewell [Sat, 12 Apr 2008 13:57:52 +0000 (14:57 +0100)]
Weight support in web UI. A little clunky but works
Richard Kettlewell [Sat, 12 Apr 2008 13:51:32 +0000 (14:51 +0100)]
Disobedience supports editing track weight
Richard Kettlewell [Sat, 12 Apr 2008 12:21:24 +0000 (13:21 +0100)]
document cookie-related preferences
Richard Kettlewell [Sat, 12 Apr 2008 11:39:46 +0000 (12:39 +0100)]
Implement 'weight' track preference (defect 10). No UI yet.
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...
Richard Kettlewell [Sat, 12 Apr 2008 11:08:54 +0000 (12:08 +0100)]
disorder-choose rejects tracks in queue/recent list
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.
Richard Kettlewell [Thu, 10 Apr 2008 19:18:25 +0000 (20:18 +0100)]
disorder-choose now supports everything that the old track picker does.
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.
Richard Kettlewell [Sat, 29 Mar 2008 17:17:48 +0000 (17:17 +0000)]
DisOrder 3.0
Richard Kettlewell [Sat, 29 Mar 2008 15:24:01 +0000 (15:24 +0000)]
Play catchup with Apple dscl's API churn
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.
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.
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.
Richard Kettlewell [Mon, 24 Mar 2008 20:57:09 +0000 (20:57 +0000)]
Fix defect 16 (GTK assertion due to config->password being NULL).
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.
Richard Kettlewell [Mon, 24 Mar 2008 17:40:25 +0000 (17:40 +0000)]
more informative assertions
Richard Kettlewell [Mon, 24 Mar 2008 15:41:13 +0000 (15:41 +0000)]
Further ALSA underrun fiddling.
Richard Kettlewell [Mon, 24 Mar 2008 15:21:22 +0000 (15:21 +0000)]
playrtp: cope better with spurious ALSA underruns
Richard Kettlewell [Mon, 24 Mar 2008 11:55:40 +0000 (11:55 +0000)]
Typo fixes
Richard Kettlewell [Mon, 24 Mar 2008 11:55:29 +0000 (11:55 +0000)]
Suppress IO buffering when running tests
Richard Kettlewell [Mon, 24 Mar 2008 00:01:32 +0000 (00:01 +0000)]
Add a missing rescan to tests/play.py
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.
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
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().
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.
Richard Kettlewell [Sun, 9 Mar 2008 17:04:21 +0000 (17:04 +0000)]
Typo fix.
Richard Kettlewell [Sun, 9 Mar 2008 11:21:28 +0000 (11:21 +0000)]
missed disorder-stats in --version fix
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.
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.
Richard Kettlewell [Sun, 9 Mar 2008 10:21:58 +0000 (10:21 +0000)]
Adjust --version output to more closely match GNU standards
Richard Kettlewell [Sun, 9 Mar 2008 10:00:04 +0000 (10:00 +0000)]
Some minor debianization fixes
Richard Kettlewell [Fri, 7 Mar 2008 21:14:11 +0000 (21:14 +0000)]
Link to DisOrder site, not mine
Richard Kettlewell [Thu, 6 Mar 2008 20:58:57 +0000 (20:58 +0000)]
typo in README
Richard Kettlewell [Thu, 6 Mar 2008 20:51:44 +0000 (20:51 +0000)]
Mention MP3 fix in CHANGES
Richard Kettlewell [Thu, 6 Mar 2008 20:45:33 +0000 (20:45 +0000)]
Arrange for some tests to block until the first rescan has completed,
as otherwise they will fail spuriously on slower systems.
Richard Kettlewell [Wed, 5 Mar 2008 20:27:04 +0000 (20:27 +0000)]
link to google code page
Richard Kettlewell [Tue, 4 Mar 2008 22:43:59 +0000 (22:43 +0000)]
remove Uploaders: as pointless if not going into Debian
Richard Kettlewell [Mon, 3 Mar 2008 22:56:22 +0000 (22:56 +0000)]
Fix a race between track startup and scratching. Basically if the
scratch was too soon then SM_CANCEL would arrive at the speaker before
SM_PLAY, leaving the speaker thinking this was a queue removal rather
than a scratch, and therefore not sending a response.
The fix is to respond to _all_ SM_CANCELs whatever the speaker thinks
they are, and disorderd to always check the ID against the playing
track. The responses are distinguished, but the server no longer uses
this information.