chiark / gitweb /
disorder
14 years agoSupport copy-dragging from non-droppable queues into the main queue.
Richard Kettlewell [Sat, 14 Nov 2009 12:35:27 +0000 (12:35 +0000)]
Support copy-dragging from non-droppable queues into the main queue.

14 years agoMerge drag+drop rewrite. It's now possible to drag multiple rows in
Richard Kettlewell [Sat, 14 Nov 2009 11:39:38 +0000 (11:39 +0000)]
Merge drag+drop rewrite.  It's now possible to drag multiple rows in
one operation in the queue.

14 years agoAdd new 'playafter' command to protocol, eclient and python.
Richard Kettlewell [Sat, 14 Nov 2009 11:24:03 +0000 (11:24 +0000)]
Add new 'playafter' command to protocol, eclient and python.
This allows multiple tracks to be inserted at arbitrary points
in the queue.

14 years ago--without-server builds should now work again.
Richard Kettlewell [Sat, 14 Nov 2009 10:22:50 +0000 (10:22 +0000)]
--without-server builds should now work again.

14 years agoDon't build trackdb-playlists.c for non-server builds.
Richard Kettlewell [Sat, 14 Nov 2009 10:20:28 +0000 (10:20 +0000)]
Don't build trackdb-playlists.c for non-server builds.

14 years agoComments, esp. for multidrag
Richard Kettlewell [Fri, 13 Nov 2009 21:00:31 +0000 (21:00 +0000)]
Comments, esp. for multidrag

14 years agoMultiple-track drag+drop queue rearrangement.
Richard Kettlewell [Fri, 13 Nov 2009 19:45:53 +0000 (19:45 +0000)]
Multiple-track drag+drop queue rearrangement.

14 years agoHandle drag-motion and drag-leave and highlight the drop target. This
Richard Kettlewell [Thu, 12 Nov 2009 21:07:48 +0000 (21:07 +0000)]
Handle drag-motion and drag-leave and highlight the drop target.  This
already allows a clear improvement over the treeview-native D+D; we
only highlight inter-row gaps as drop targets, not rows themselves.

14 years agoRemove dead object
Richard Kettlewell [Mon, 9 Nov 2009 20:02:53 +0000 (20:02 +0000)]
Remove dead object

14 years agoReplace the drag icon with a representation of the dragged row(s), as
Richard Kettlewell [Mon, 9 Nov 2009 19:59:29 +0000 (19:59 +0000)]
Replace the drag icon with a representation of the dragged row(s), as
is fashionable these days.

14 years agoStart using low-level drag+drop interface, which is much more flexible
Richard Kettlewell [Mon, 9 Nov 2009 19:04:08 +0000 (19:04 +0000)]
Start using low-level drag+drop interface, which is much more flexible
than GtkTreeView's built-in one.  As of this change functionality is
reduced but ultimately it should be improved somewhat.

14 years agoAdd arg missed in change 958.
Richard Kettlewell [Sun, 8 Nov 2009 20:35:03 +0000 (20:35 +0000)]
Add arg missed in change 958.

14 years agoAdd 'self' argument to queuelike callbacks. Not used yet - presumably
Richard Kettlewell [Sun, 8 Nov 2009 13:36:38 +0000 (13:36 +0000)]
Add 'self' argument to queuelike callbacks.  Not used yet - presumably
playlist editors will need one though.

14 years agoMore doc comments
Richard Kettlewell [Sun, 8 Nov 2009 13:36:13 +0000 (13:36 +0000)]
More doc comments

14 years agoMore comments
Richard Kettlewell [Mon, 26 Oct 2009 20:21:39 +0000 (20:21 +0000)]
More comments

14 years agoMore comments.
Richard Kettlewell [Sun, 25 Oct 2009 22:00:25 +0000 (22:00 +0000)]
More comments.

14 years agoMore comments
Richard Kettlewell [Sun, 25 Oct 2009 19:38:40 +0000 (19:38 +0000)]
More comments

14 years agoMore comments
Richard Kettlewell [Sun, 25 Oct 2009 18:31:44 +0000 (18:31 +0000)]
More comments

14 years agoMore comments.
Richard Kettlewell [Sun, 25 Oct 2009 17:20:48 +0000 (17:20 +0000)]
More comments.

14 years agoImprove doc comments.
Richard Kettlewell [Sun, 25 Oct 2009 15:58:12 +0000 (15:58 +0000)]
Improve doc comments.

14 years agoTidy up trackdb_deinit() further, and include disorder-choose in
Richard Kettlewell [Sun, 25 Oct 2009 15:42:55 +0000 (15:42 +0000)]
Tidy up trackdb_deinit() further, and include disorder-choose in
processes terminated.

14 years agotrackdb_deinit() kills stats subprocesses. Resolves a long-standing
Richard Kettlewell [Sun, 25 Oct 2009 14:51:41 +0000 (14:51 +0000)]
trackdb_deinit() kills stats subprocesses.  Resolves a long-standing
TODO.

14 years agoCleaner subprocess shutdow in trackdb_deinit().
Richard Kettlewell [Sun, 25 Oct 2009 14:38:26 +0000 (14:38 +0000)]
Cleaner subprocess shutdow in trackdb_deinit().

14 years agoAdd some comments
Richard Kettlewell [Sat, 24 Oct 2009 20:08:50 +0000 (21:08 +0100)]
Add some comments

14 years agoRemove extraneous logging.
Richard Kettlewell [Sat, 24 Oct 2009 16:54:47 +0000 (17:54 +0100)]
Remove extraneous logging.
Remove sleep in tests, it shouldn't be needed now.

14 years agoSIGTERM and wait for subprocesses on server shutdown.
Richard Kettlewell [Sat, 24 Oct 2009 16:48:05 +0000 (17:48 +0100)]
SIGTERM and wait for subprocesses on server shutdown.

14 years agoFiner-grained wait for socket to appear when testing.
Richard Kettlewell [Sat, 24 Oct 2009 16:29:22 +0000 (17:29 +0100)]
Finer-grained wait for socket to appear when testing.

14 years agoMerge playlist support.
Richard Kettlewell [Sat, 24 Oct 2009 16:25:28 +0000 (17:25 +0100)]
Merge playlist support.

14 years agoMerge from disorder.dev.
Richard Kettlewell [Sun, 18 Oct 2009 21:54:18 +0000 (22:54 +0100)]
Merge from disorder.dev.

14 years agoShun time(), since on Linux it is not monotonic with gettimeofday().
Richard Kettlewell [Sun, 18 Oct 2009 13:00:03 +0000 (14:00 +0100)]
Shun time(), since on Linux it is not monotonic with gettimeofday().

http://ewx.livejournal.com/530850.html describes the underlying issue
and http://code.google.com/p/disorder/issues/detail?id=35 describes the
effect of this on DisOrder.

14 years agoIf including both program name and date in log message, put date first.
Richard Kettlewell [Sat, 17 Oct 2009 12:37:16 +0000 (13:37 +0100)]
If including both program name and date in log message, put date first.

14 years agoFix mis-merged trackdb_open().
Richard Kettlewell [Sat, 17 Oct 2009 11:51:57 +0000 (12:51 +0100)]
Fix mis-merged trackdb_open().

14 years agoMerge from trunk
Richard Kettlewell [Thu, 15 Oct 2009 19:55:55 +0000 (20:55 +0100)]
Merge from trunk

14 years agoDon't catch SystemExit 77 in tests.
Richard Kettlewell [Thu, 15 Oct 2009 19:55:15 +0000 (20:55 +0100)]
Don't catch SystemExit 77 in tests.

14 years agoDisable (incomplete) Disobedience playlist support.
Richard Kettlewell [Sat, 10 Oct 2009 20:06:36 +0000 (21:06 +0100)]
Disable (incomplete) Disobedience playlist support.

14 years agoMerge playlist support.
Richard Kettlewell [Sat, 10 Oct 2009 20:03:23 +0000 (21:03 +0100)]
Merge playlist support.

14 years agoDitch --with-bits and detect Fink bitness automatically.
Richard Kettlewell [Sat, 10 Oct 2009 09:56:17 +0000 (10:56 +0100)]
Ditch --with-bits and detect Fink bitness automatically.

14 years agoUpdate copyright dates
Richard Kettlewell [Sat, 3 Oct 2009 13:38:01 +0000 (14:38 +0100)]
Update copyright dates

14 years agoAdd missing -liconv in various places.
Richard Kettlewell [Sat, 3 Oct 2009 13:27:42 +0000 (14:27 +0100)]
Add missing -liconv in various places.
Why were they missing and this only spotted now?
 - on Linux no separate iconv is needed
 - on OS X it is but it was probably being pulled in via *.la files
 - I've moved aside Fink's *.la files (since they reflect system
   libraries from their own build time not the current situation)

14 years agoTurn off deprecated symbol warnings under OS X.
Richard Kettlewell [Sat, 3 Oct 2009 13:15:01 +0000 (14:15 +0100)]
Turn off deprecated symbol warnings under OS X.

14 years agoDefault to 32-bit builds on OS X. Apple's compiler now defaults to 64
Richard Kettlewell [Sat, 3 Oct 2009 13:04:27 +0000 (14:04 +0100)]
Default to 32-bit builds on OS X.  Apple's compiler now defaults to 64
bits but existing Fink installs will be 32 bits.  DisOrder's default
is liable to change when I change my Fink l-)

Use --with-bits=32 or --with-bits=64 to override the default.

14 years agoDon't depend on oggdec at build time. It is still needed for 'make
Richard Kettlewell [Sun, 6 Sep 2009 10:03:31 +0000 (11:03 +0100)]
Don't depend on oggdec at build time.  It is still needed for 'make
check'.
Resolves issue #48.

14 years agoRemove duplicate reference to about.tmpl
Richard Kettlewell [Tue, 1 Sep 2009 08:15:30 +0000 (09:15 +0100)]
Remove duplicate reference to about.tmpl

14 years agoUpdate CHANGES.html for FLAC bug fix.
Richard Kettlewell [Sun, 2 Aug 2009 15:45:49 +0000 (16:45 +0100)]
Update CHANGES.html for FLAC bug fix.

14 years agoPatch from Ross Younger to correct FLAC decoding.
Richard Kettlewell [Sun, 2 Aug 2009 15:44:45 +0000 (16:44 +0100)]
Patch from Ross Younger to correct FLAC decoding.

14 years agoDo a test decode of a FLAC file.
Richard Kettlewell [Sun, 2 Aug 2009 15:44:25 +0000 (16:44 +0100)]
Do a test decode of a FLAC file.

14 years agoMention bug-fixes below in CHANGES.html.
Richard Kettlewell [Sun, 2 Aug 2009 15:17:20 +0000 (16:17 +0100)]
Mention bug-fixes below in CHANGES.html.

14 years agoDisobedience now configures its sound device correctly.
Richard Kettlewell [Sun, 2 Aug 2009 15:14:17 +0000 (16:14 +0100)]
Disobedience now configures its sound device correctly.
Patch from Ross Younger.

14 years agoPlacate picky compiler.
Richard Kettlewell [Sun, 2 Aug 2009 15:08:39 +0000 (16:08 +0100)]
Placate picky compiler.
Patch from Ross Younger.

14 years agoInclude sys/time.h in a few places, necessary for older libc versions.
Richard Kettlewell [Sun, 2 Aug 2009 15:07:14 +0000 (16:07 +0100)]
Include sys/time.h in a few places, necessary for older libc versions.
Patch from Ross Younger.

14 years agoAdd trackdb_deinit() stub.
Richard Kettlewell [Sun, 2 Aug 2009 15:04:54 +0000 (16:04 +0100)]
Add trackdb_deinit() stub.
Patch from Ross Younger.

14 years agoplayrtp shouldn't bind twice when in unicast/broadcast mode.
Richard Kettlewell [Sun, 2 Aug 2009 15:02:34 +0000 (16:02 +0100)]
playrtp shouldn't bind twice when in unicast/broadcast mode.
Patch from Ross Younger.

14 years agoFix empeg-only syntax error. Fixes issue #42.
Richard Kettlewell [Mon, 27 Jul 2009 19:56:03 +0000 (20:56 +0100)]
Fix empeg-only syntax error.  Fixes issue #42.

14 years agoSlightly chattier tests/schedule.py.
Richard Kettlewell [Sat, 18 Jul 2009 14:15:49 +0000 (15:15 +0100)]
Slightly chattier tests/schedule.py.
Might help with issue #35.

14 years agoTypo fix.
Richard Kettlewell [Sat, 18 Jul 2009 14:13:57 +0000 (15:13 +0100)]
Typo fix.

14 years agoServer postinst now waits for server to start working in a more reliable
Richard Kettlewell [Sat, 18 Jul 2009 14:13:00 +0000 (15:13 +0100)]
Server postinst now waits for server to start working in a more reliable
way.  It'll give up after about 30s, and assume that the server has
failed.

14 years agoDon't create socket until database is in a sensible state. Should
Richard Kettlewell [Sat, 18 Jul 2009 14:01:57 +0000 (15:01 +0100)]
Don't create socket until database is in a sensible state.  Should
lead to less in the way of semi-random test failures.

14 years agoLeave a bit of headroom above test port number, since we go at least
Richard Kettlewell [Sat, 18 Jul 2009 12:43:11 +0000 (13:43 +0100)]
Leave a bit of headroom above test port number, since we go at least
one above it.  Almost certainly the cause of issue #36.

14 years agoDon't attempt to set the database version if TRACKDB_READ_ONLY.
Richard Kettlewell [Sun, 24 May 2009 11:50:07 +0000 (12:50 +0100)]
Don't attempt to set the database version if TRACKDB_READ_ONLY.

14 years agoTests terminate server with SIGTERM rather than trying to send a
Richard Kettlewell [Sun, 24 May 2009 11:42:49 +0000 (12:42 +0100)]
Tests terminate server with SIGTERM rather than trying to send a
shutdown command; the latter may not work if users haven't been set up
right.

14 years agoMore graceful handling of test failure; the exception is now reported
Richard Kettlewell [Sat, 23 May 2009 08:48:51 +0000 (09:48 +0100)]
More graceful handling of test failure; the exception is now reported
before the daemon is stopped, making it clearer where the failure was.

Add tests/fail.py, a test that always fails.  Naturally this is not
normally run, it's only there to test failure cleanup!

14 years agoHorrible bodge to wait for root user to be created before attempting to
Richard Kettlewell [Thu, 21 May 2009 19:31:34 +0000 (19:31 +0000)]
Horrible bodge to wait for root user to be created before attempting to
connect from test scripts.  Really the server's startup ordering needs
to be adjusted instead.

14 years agoQuieten compiler.
Richard Kettlewell [Sun, 3 May 2009 09:32:38 +0000 (10:32 +0100)]
Quieten compiler.

14 years agoUse -isystem for Fink includes
Richard Kettlewell [Sat, 2 May 2009 19:41:50 +0000 (20:41 +0100)]
Use -isystem for Fink includes

14 years agoAdd SHELL=bash debian/rules for benefit of systems with rubbish default
Richard Kettlewell [Sat, 2 May 2009 11:13:07 +0000 (12:13 +0100)]
Add SHELL=bash debian/rules for benefit of systems with rubbish default
shells.

14 years agoCorrectly bracket check for resuming with a pause-incapable standalone
Richard Kettlewell [Sat, 2 May 2009 10:14:34 +0000 (11:14 +0100)]
Correctly bracket check for resuming with a pause-incapable standalone
player (which shouldn't happen in the first place, so the bug as it
was was actually pretty harmless).

14 years agoWork around stupid excessively strict warning in GCC 4.4.
Richard Kettlewell [Sat, 2 May 2009 10:12:21 +0000 (11:12 +0100)]
Work around stupid excessively strict warning in GCC 4.4.

15 years agoDocumentation + comments re recent disorder-playrtp changes.
Richard Kettlewell [Sat, 18 Apr 2009 13:26:04 +0000 (14:26 +0100)]
Documentation + comments re recent disorder-playrtp changes.

15 years agoBuild fix.
Richard Kettlewell [Sat, 18 Apr 2009 12:46:54 +0000 (13:46 +0100)]
Build fix.

15 years agodisorder-playrtp now prefers to drop silent packets (rather than
Richard Kettlewell [Sat, 18 Apr 2009 12:44:05 +0000 (13:44 +0100)]
disorder-playrtp now prefers to drop silent packets (rather than
filling up buffers and having the OS eventually drop them from the
input socket's buffer).

15 years agodisorder-playrtp --monitor option to keep track of how far off
Richard Kettlewell [Sat, 18 Apr 2009 11:12:24 +0000 (12:12 +0100)]
disorder-playrtp --monitor option to keep track of how far off
minbuffer we are.

15 years agoRestructure play.c to make start()/prepare() distinction clearer.
Richard Kettlewell [Mon, 13 Apr 2009 17:13:53 +0000 (18:13 +0100)]
Restructure play.c to make start()/prepare() distinction clearer.
The common code is moved to background.c.

It's now more likely that an (essentially spurious) "cannot play track
because no connection arrived" message will be logged.  See speaker.c
for full discussion.

15 years agoSpot changes to database parameters and rebuild database.
Richard Kettlewell [Mon, 13 Apr 2009 16:30:26 +0000 (17:30 +0100)]
Spot changes to database parameters and rebuild database.

This change stores a hash of the current database parameters, i.e.
options that affect alias construction, the search database, etc in the
database.  If it is missing or changes then aliases and the search
database are deleted and recomputed.

15 years agodocument latest upgrade issues
Richard Kettlewell [Mon, 13 Apr 2009 15:16:11 +0000 (16:16 +0100)]
document latest upgrade issues

15 years agotypo fix
Richard Kettlewell [Mon, 13 Apr 2009 00:07:40 +0000 (01:07 +0100)]
typo fix

15 years agoInitialize queue_entry.pid.
Richard Kettlewell [Sun, 12 Apr 2009 23:54:17 +0000 (00:54 +0100)]
Initialize queue_entry.pid.

15 years agoRemember to initialize queue_entry.pid where it needs to be.
Richard Kettlewell [Sun, 12 Apr 2009 23:47:51 +0000 (00:47 +0100)]
Remember to initialize queue_entry.pid where it needs to be.

15 years agoMissing initializers, unaccountably not spotted by lenny's GCC!
Richard Kettlewell [Sun, 12 Apr 2009 20:35:45 +0000 (21:35 +0100)]
Missing initializers, unaccountably not spotted by lenny's GCC!

15 years agoNote in various places that reconfiguring the server won't pick up all
Richard Kettlewell [Sun, 12 Apr 2009 20:31:22 +0000 (21:31 +0100)]
Note in various places that reconfiguring the server won't pick up all
changes and in some cases will reject them.

Specifics in disorder_config(5), for some options; those that aren't
updated may be changed in the near future.

Document more consistently that 'lock' and 'gap' do nothing.

Correct apostrophe l-)

15 years agoWarn on attempts to change nice_server during server lifetime.
Richard Kettlewell [Sun, 12 Apr 2009 20:30:59 +0000 (21:30 +0100)]
Warn on attempts to change nice_server during server lifetime.

15 years agoAlways take out a server lock.
Richard Kettlewell [Sun, 12 Apr 2009 20:20:28 +0000 (21:20 +0100)]
Always take out a server lock.

15 years agoMove player/decoder PIDs back into the main queue_entry structure, now
Richard Kettlewell [Sun, 12 Apr 2009 19:56:50 +0000 (20:56 +0100)]
Move player/decoder PIDs back into the main queue_entry structure, now
that queues aren't dumped and reloaded in reconfigure.

15 years agoReload now no longer cycles the database handles or reloads the queue.
Richard Kettlewell [Sun, 12 Apr 2009 19:39:20 +0000 (20:39 +0100)]
Reload now no longer cycles the database handles or reloads the queue.
Both operations are pretty pointless now that we enforce a fixed home
directory.  This also means we'll be able to stash more useful stuff in
queue structures.

15 years agoCheck namepart/stopword don't change across reload.
Richard Kettlewell [Sun, 12 Apr 2009 19:38:48 +0000 (20:38 +0100)]
Check namepart/stopword don't change across reload.

15 years agoDo some basic compatibility checking when installing a new server
Richard Kettlewell [Sun, 12 Apr 2009 16:52:03 +0000 (17:52 +0100)]
Do some basic compatibility checking when installing a new server
configuration.  There is plenty more that could be done.

15 years agoNote that prefsync doesn't do anything any more.
Richard Kettlewell [Sun, 12 Apr 2009 15:29:04 +0000 (16:29 +0100)]
Note that prefsync doesn't do anything any more.

15 years agoAdd README.reload as an aide-memoire regarding configuration handling.
Richard Kettlewell [Sun, 12 Apr 2009 15:28:42 +0000 (16:28 +0100)]
Add README.reload as an aide-memoire regarding configuration handling.

15 years agoMore comments.
Richard Kettlewell [Sun, 12 Apr 2009 15:00:06 +0000 (16:00 +0100)]
More comments.

15 years agoAdd many comments to server/play.c, in advance of possible
Richard Kettlewell [Sun, 12 Apr 2009 14:36:11 +0000 (15:36 +0100)]
Add many comments to server/play.c, in advance of possible
reorganization.

15 years ago--wait-for-device is now deprecated.
Richard Kettlewell [Sun, 12 Apr 2009 14:35:46 +0000 (15:35 +0100)]
--wait-for-device is now deprecated.

15 years ago55-pixel logo (for Google Code page)
Richard Kettlewell [Sun, 12 Apr 2009 12:50:22 +0000 (13:50 +0100)]
55-pixel logo (for Google Code page)

15 years agoupdate CHANGES
Richard Kettlewell [Sat, 11 Apr 2009 20:02:27 +0000 (21:02 +0100)]
update CHANGES

15 years agoMerge audio timing fix branch.
Richard Kettlewell [Sat, 11 Apr 2009 19:59:14 +0000 (20:59 +0100)]
Merge audio timing fix branch.

15 years agoBump up default RTP player buffer sizes. Now big enough to keep ALSA
Richard Kettlewell [Sat, 11 Apr 2009 19:53:12 +0000 (20:53 +0100)]
Bump up default RTP player buffer sizes.  Now big enough to keep ALSA
(first doubling) and ALSA's OSS emulation (second doubling) fed.  The
initial buffer size is still under half a second, and feels close to
instant to this listener.

Also, the player thread now consumes packets immediately rather than
waiting for the next iteration, preventing a race where the (inner)
playing loop at the bottom of main() can terminate unnecessarily
early.

There's bits of debugging code left lying around commented out.  It's
harmless for now!

15 years agoLarger silent interval for pauses; spinning in sub-millisecond
Richard Kettlewell [Sat, 11 Apr 2009 19:47:50 +0000 (20:47 +0100)]
Larger silent interval for pauses; spinning in sub-millisecond
nanosleeps is a bit excessive.

15 years agoAbolish playrtp's "readahead" variable (and associated -b option).
Richard Kettlewell [Sat, 11 Apr 2009 19:13:04 +0000 (20:13 +0100)]
Abolish playrtp's "readahead" variable (and associated -b option).
There's just minbuffer and maxbuffer now.  minbuffer has the same
meaning as before but is additionally used for what readahead used to
be.  maxbuffer defaults to 2*minbuffer.

The man page mentions them, but refers you to the source code, which
now goes into more detail in comment than it did before.

playrtp also no longer adjusts the socket buffer size, accepting the
operating system's default.  Even the relatively small (~40K) Mac one
gives us a couple of dozen typical-sized packets; experimentally it's
quite enough to cope even with a 'make -j' of DisOrder running on the
same host.

15 years agoMacOS build fix
Richard Kettlewell [Sat, 11 Apr 2009 18:54:19 +0000 (19:54 +0100)]
MacOS build fix

15 years agoRewrite uaudio-schedule.c. It's now much simpler and should actually
Richard Kettlewell [Sat, 11 Apr 2009 16:56:25 +0000 (17:56 +0100)]
Rewrite uaudio-schedule.c.  It's now much simpler and should actually
get the timing right.  An hour of rtpmon is encouraging.

This change pushes responsibility for pausing out towards the APIs.

For ALSA we sleep a bit.  For OSS we close the sound device and sleep a
bit.

For RTP we just pretend to send packets; the scheduler takes care of the
timing.

For command again the scheduler takes care of the timing, though as
before we have the option of either suspending writes or sending 0s.

Scantily tested!

15 years agoCompute rate over a longer interval.
Richard Kettlewell [Sat, 11 Apr 2009 15:46:27 +0000 (16:46 +0100)]
Compute rate over a longer interval.

15 years agortpmon now reports once a second, rather than based on numbers of
Richard Kettlewell [Sat, 11 Apr 2009 09:33:13 +0000 (10:33 +0100)]
rtpmon now reports once a second, rather than based on numbers of
packets received.