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.
Richard Kettlewell [Sun, 24 Feb 2008 19:20:08 +0000 (19:20 +0000)]
Escape dashes that really do need to be minus signs. As previously
this follows advice from Colin.
Richard Kettlewell [Sun, 24 Feb 2008 18:59:03 +0000 (18:59 +0000)]
Put a newline after end-of-sentence "." in man pages. I'm advised
that groff handles this specially.
Richard Kettlewell [Tue, 22 Jan 2008 20:36:30 +0000 (20:36 +0000)]
Start on 'settings' window. Currently disabled as it's not very
useful yet.
Richard Kettlewell [Sun, 20 Jan 2008 15:54:47 +0000 (15:54 +0000)]
A bit more doxygenization.
Richard Kettlewell [Sun, 20 Jan 2008 12:43:32 +0000 (12:43 +0000)]
Add a 'deselect all tracks' option to Disobedience, using the same
shift+ctrl+a accelerator the Gimp uses for this operation.
Richard Kettlewell [Sun, 20 Jan 2008 12:28:21 +0000 (12:28 +0000)]
typo fix
Richard Kettlewell [Sun, 20 Jan 2008 12:25:45 +0000 (12:25 +0000)]
update CHANGES
Richard Kettlewell [Sun, 20 Jan 2008 12:22:31 +0000 (12:22 +0000)]
Disobedience: remove the association between specific row numbers and
dropzones; now dropzones are just kept in a list of sufficient size.
The association was never necessary anyway as the dropzones carried
sufficient information to be used without it, and it was
misimplemented leading to a crash if you attempted drag and drop while
no track was playing.
Richard Kettlewell [Sun, 20 Jan 2008 12:01:22 +0000 (12:01 +0000)]
Unset environment when testing Disobedience --help/--version, to
enforce the rule that it these options work even if no X display is
available.
Richard Kettlewell [Sat, 19 Jan 2008 15:14:30 +0000 (15:14 +0000)]
Intermediate debian version number for internal consumption.
Richard Kettlewell [Sat, 19 Jan 2008 12:37:10 +0000 (12:37 +0000)]
Complete README changes for scripts/setup. README.{mac,freebsd} are
now gone.
Richard Kettlewell [Sat, 19 Jan 2008 12:28:31 +0000 (12:28 +0000)]
scripts/setup now waits until the server has started up before
attempting to setup-guest.
Richard Kettlewell [Sat, 19 Jan 2008 12:17:31 +0000 (12:17 +0000)]
Full Linux support for scripts/setup and scripts/teardown. This is
only tested on Debian but has a bit of knowledge of Centos too, so
might well work there (or on its commercial variant).
Richard Kettlewell [Sat, 19 Jan 2008 12:08:12 +0000 (12:08 +0000)]
Report an error if we cannot open the user database.
The likely case here is that the server has not been
started yet and we are still trying to run the client
for some reason.
Richard Kettlewell [Thu, 17 Jan 2008 18:29:01 +0000 (18:29 +0000)]
Remove procname= from disorder.rc; it turns out to do more harm than good.
Richard Kettlewell [Thu, 17 Jan 2008 18:26:13 +0000 (18:26 +0000)]
typo fix
Richard Kettlewell [Thu, 17 Jan 2008 17:31:34 +0000 (17:31 +0000)]
Only report failure to find OSS devices once, not every time we think
about them.
Richard Kettlewell [Wed, 16 Jan 2008 22:45:30 +0000 (22:45 +0000)]
Fixes to eclient following Ross's attempts to use it:
- _log() should call _polled() like simple() does, to kick things
off if it's the first call
- log callbacks now treat nulls sanely
Richard Kettlewell [Wed, 16 Jan 2008 20:54:27 +0000 (20:54 +0000)]
Finish off Mac support in scripts/setup.
Update README for supported platforms. I'm not happy with this quite
yet.
Richard Kettlewell [Tue, 15 Jan 2008 20:21:52 +0000 (20:21 +0000)]
Move the plist file to examples/ along with the other startup files.
Teach scripts/teardown about Mac.
Richard Kettlewell [Tue, 15 Jan 2008 19:17:48 +0000 (19:17 +0000)]
New examples/disorder.rc is an /etc/rc.d script for FreeBSD. Finish
FreeBSD parts of scripts/setup.
There is also scripts/teardown to undo scripts/setup, but that is
intended for debugging scripts/setup, not for production use, so we
don't advertize it anywhere.
Richard Kettlewell [Mon, 14 Jan 2008 23:49:08 +0000 (23:49 +0000)]
Partial untested FreeBSD and Linux support for scripts/setup.
Mac CGI setup uses a symlink to .../static rather than a directive.
Richard Kettlewell [Mon, 14 Jan 2008 23:11:12 +0000 (23:11 +0000)]
The server should now come to life straight away and start picking
random tracks within a reasonable time period once there are some
tracks to pick.
To cope with this, tests/queue.py now waits for something to appear in
the queue at all before checking its length. This includes a fix to
the Python implementation of disorder().log().
Richard Kettlewell [Mon, 14 Jan 2008 20:39:22 +0000 (20:39 +0000)]
Add missing bits to scripts/setup, and teach it to install the CGI on
a Mac too.
Richard Kettlewell [Mon, 14 Jan 2008 20:24:31 +0000 (20:24 +0000)]
New scripts/setup which interactively sets up a DisOrder configuration
and (on the Mac) starts the server. Should be considered experimental
for now!
Richard Kettlewell [Sun, 13 Jan 2008 21:24:19 +0000 (21:24 +0000)]
Go through CSS and rationalize it. Some cosmetic improvements too.
Richard Kettlewell [Sun, 13 Jan 2008 14:17:50 +0000 (14:17 +0000)]
prepare no longer runs configure (and therefore does not impose its
idea of sysconfdir and localestatedir).
Richard Kettlewell [Sun, 13 Jan 2008 11:21:35 +0000 (11:21 +0000)]
Display new logo in 'About' page in web UI. Disobedience already has its
own graphic, which it keeps.
Richard Kettlewell [Sat, 12 Jan 2008 13:23:02 +0000 (13:23 +0000)]
Mention that FreeBSD requires gmake
Richard Kettlewell [Sat, 12 Jan 2008 13:22:31 +0000 (13:22 +0000)]
Build fix
rjk@greenend.org.uk [Sat, 12 Jan 2008 12:40:17 +0000 (12:40 +0000)]
Accept unquoted cookie paths, even though they are formally illegal.
This makes Netsurf work, and also means that we're not being stricter
in what we accept than what we send!
rjk@greenend.org.uk [Sat, 12 Jan 2008 12:38:55 +0000 (12:38 +0000)]
Remove nonces from URLs, since we now use HTTP Cache-Control headers
to keep our clients honest.
rjk@greenend.org.uk [Sat, 12 Jan 2008 11:23:05 +0000 (11:23 +0000)]
Limit how long tests/play.py will wait
rjk@greenend.org.uk [Fri, 11 Jan 2008 17:44:55 +0000 (17:44 +0000)]
Fix mis-decoding of MP3s. The bug was due to a misunderstanding of
libmad's (AFAICT undocumented) API.
rjk@greenend.org.uk [Fri, 11 Jan 2008 12:08:55 +0000 (12:08 +0000)]
Use REQUEST_URI if available, for more consistent self-referring URLs.
Handle SCRIPT_NAME="", per the RFC.
rjk@greenend.org.uk [Fri, 11 Jan 2008 12:00:55 +0000 (12:00 +0000)]
Reject unwanted PATH_INFO per the RFC.