Mark Wooding [Sat, 25 May 2013 13:18:53 +0000 (14:18 +0100)]
debian/control: db4.8 is obsolete in wheezy.
The current version is 5.1, and that seems to work OK.
Mark Wooding [Sun, 19 May 2013 02:48:25 +0000 (03:48 +0100)]
server/speaker.c: Only copy whole frames into collection buffers.
At least the ALSA playback function gets into a real mess if a buffer
contains a partial frame: it leaves the partial frame behind, but is
called again until the buffer is empty, resulting in an infinite loop.
Thanks for Joe Birr-Pixton for helping diagnose this bug and coming up
with the right fix.
Mark Wooding [Tue, 7 May 2013 14:16:01 +0000 (15:16 +0100)]
lib/resample.c: Quieten some warnings better.
Newer GCC isn't fooled by `mumble = 0;' any more. Apparently `if
(mumble) {}' works.
Mark Wooding [Sun, 5 May 2013 14:39:29 +0000 (15:39 +0100)]
server/rescan.c: Remove tracks which no longer have a player.
If you ever add a player with an overly broad pattern, and it matches a
file which isn't actually an audio file but is legitimately part of the
directory tree, then there's no way of getting it out of DisOrder's
database short of hacking the files directly.
Mark Wooding [Sun, 5 May 2013 13:51:05 +0000 (14:51 +0100)]
lib/configuration.c: Allow resetting `player' and `tracklength' lists.
Saith the manual
| If player is used without arguments, the list of players is cleared.
but the code disallows such requests. So it's impossible to override
the player lists.
Richard Kettlewell [Sun, 17 Feb 2013 16:14:06 +0000 (16:14 +0000)]
disobedience: tinker with About... box
Richard Kettlewell [Sun, 17 Feb 2013 16:10:24 +0000 (16:10 +0000)]
disobedience: add a disobedience.desktop file
Richard Kettlewell [Sun, 3 Feb 2013 14:21:04 +0000 (14:21 +0000)]
A batch of copyright date updates.
Richard Kettlewell [Sat, 19 Jan 2013 18:40:11 +0000 (18:40 +0000)]
uaudio: fake blocking for play callbacks
This satisfies timing expectations in the face of very large downstream
buffers.
Richard Kettlewell [Sat, 19 Jan 2013 18:39:24 +0000 (18:39 +0000)]
alsa: bump start threshold
With the default (1) PulseAudio plays a little bit, runs out, and sulks.
Richard Kettlewell [Sat, 19 Jan 2013 18:37:45 +0000 (18:37 +0000)]
alsa: set volume via Master rather than PCM.
PulseAudio only has Master. AFAICS none of this stuff is documented
so who knows what you're supposed to do?
Richard Kettlewell [Sat, 1 Dec 2012 13:29:13 +0000 (13:29 +0000)]
CHANGES
Richard Kettlewell [Sat, 1 Dec 2012 13:28:21 +0000 (13:28 +0000)]
client: use privileged socket if possible
This allows the removal of the client dependency on libdb.
Richard Kettlewell [Sat, 1 Dec 2012 12:48:23 +0000 (12:48 +0000)]
server: add a private socket for root
root will try and use it if possible; anything connecting on it
is allowed through without knowing a password.
The jukebox user will be able to use it too although it doesn't
actually try.
Both these users have RW access to the database so they aren't
being given any privilege they don't have already here.
The speaker socket moves to the same private directory.
Richard Kettlewell [Sat, 1 Dec 2012 12:08:24 +0000 (12:08 +0000)]
Move --wait-for-root to disorderd.
This (undocumented) option is only used in testing and is
one of the things that causes the client package to depend
on the server's version of libdb.
Richard Kettlewell [Sat, 1 Dec 2012 11:38:12 +0000 (11:38 +0000)]
build: distcheck-clean
Richard Kettlewell [Sat, 1 Dec 2012 11:22:24 +0000 (11:22 +0000)]
gitignore
Richard Kettlewell [Sat, 1 Dec 2012 11:20:14 +0000 (11:20 +0000)]
build: various fixes for ubuntu 12.10/gcc 4.7
- One_old_user() is obsolete and uses nonexistent functions;
I guess earlier GCC removed it before checking for errors.
- Remove or use various unused objects that GCC is now better
at spotting.
- Makefile -l ordering fixes.
Richard Kettlewell [Sat, 1 Dec 2012 11:09:03 +0000 (11:09 +0000)]
build: fix test for ancient GCC bug
Richard Kettlewell [Mon, 22 Aug 2011 19:38:24 +0000 (20:38 +0100)]
build: create config.aux in autogen.sh
Required on lenny. Presumably the later autotools create it automatically.
Richard Kettlewell [Sun, 14 Aug 2011 22:00:47 +0000 (23:00 +0100)]
docs: rework protocol documentation a bit.
It is now a bit more precise and self-contained.
It could really do with some BNF though.
Richard Kettlewell [Sun, 14 Aug 2011 17:22:49 +0000 (18:22 +0100)]
server: don't report wstat for processes killed by the server
Richard Kettlewell [Sun, 14 Aug 2011 17:10:15 +0000 (18:10 +0100)]
docs: update CHANGES for Disobedience user management fix.
Richard Kettlewell [Sun, 14 Aug 2011 17:08:06 +0000 (18:08 +0100)]
disobedience: grey out user management if it won't work.
This already worked for users without the 'admin' right but failed on
remote connections if the server had remote_userman set to 'no' (which
is the default). The result was pretty ugly, the user management
window opened but would repeatedly cause protocol error popups.
The implementation depends on the server change in
b60ceb3caecce2c86c484e6173fb1428b71d456a.
It will still go wrong if remote_userman is changed during the
server's lifetime, presumably a fairly rare event.
Richard Kettlewell [Sun, 14 Aug 2011 17:04:29 +0000 (18:04 +0100)]
disobedience: improve eclient error strings
The remote server details are now pushed to the end and the status
code is no longer repeated.
Richard Kettlewell [Sun, 14 Aug 2011 16:41:42 +0000 (17:41 +0100)]
server: tidy up error codes
Send 510 in a variety of authentication-failed cases.
Richard Kettlewell [Sun, 7 Aug 2011 17:26:34 +0000 (18:26 +0100)]
server: docs: remove deprecated configuration and user upgrade.
User upgrade code has been removed.
allow, restrict and trust only affected the user upgrade code. They
are now removed completely.
prefsync and lock have been non-functional for years.
--wait-for-device and gap, both ugly hacks, were still functional but
long-since deprecated.
Richard Kettlewell [Sun, 7 Aug 2011 16:45:36 +0000 (17:45 +0100)]
Merge branch 'protogen'
Richard Kettlewell [Sun, 7 Aug 2011 16:00:09 +0000 (17:00 +0100)]
doxygen: add some missing docstrings.
Richard Kettlewell [Sun, 7 Aug 2011 15:49:06 +0000 (16:49 +0100)]
doxygen: add some missing docstrings.
Richard Kettlewell [Sun, 7 Aug 2011 14:09:47 +0000 (15:09 +0100)]
cgi: update publicly visible copyright dates.
Richard Kettlewell [Sun, 7 Aug 2011 13:55:08 +0000 (14:55 +0100)]
cgi: remove obsolete 'columns' option.
Its functionality was replaced by the more sophisticated template
system ages ago.
Richard Kettlewell [Sun, 7 Aug 2011 13:50:50 +0000 (14:50 +0100)]
doxygen: add some missing docstrings.
Richard Kettlewell [Sun, 7 Aug 2011 13:29:23 +0000 (14:29 +0100)]
docs: typo
Richard Kettlewell [Sun, 7 Aug 2011 13:10:31 +0000 (14:10 +0100)]
doxygen: clean up function documentation.
Richard Kettlewell [Sun, 7 Aug 2011 13:05:37 +0000 (14:05 +0100)]
protogen: a bit more generated docs tidying
Richard Kettlewell [Sun, 7 Aug 2011 12:57:44 +0000 (13:57 +0100)]
protogen: missing generated docs
Richard Kettlewell [Sun, 7 Aug 2011 12:46:26 +0000 (13:46 +0100)]
protogen: simplify handling of integers and times.
They are now moved into the generic command marshalers, rather than
being converted to strings in every stub. The same technique is used
as for list parameters and command bodies.
Richard Kettlewell [Sun, 7 Aug 2011 12:34:04 +0000 (13:34 +0100)]
protogen: The bulk of the eclient code generation.
This is slightly disruptive, as the previous API lacked internal
consistency.
Richard Kettlewell [Sun, 7 Aug 2011 11:27:58 +0000 (12:27 +0100)]
protogen: function signatures for generated eclient stubs.
A few are missing at the moment.
Richard Kettlewell [Sun, 7 Aug 2011 11:27:25 +0000 (12:27 +0100)]
eclient: Typo.
Richard Kettlewell [Sun, 7 Aug 2011 09:25:14 +0000 (10:25 +0100)]
protogen: factor out argument type conversion.
Preparation to support other C APIs (i.e. eclient).
Richard Kettlewell [Sun, 7 Aug 2011 09:22:23 +0000 (10:22 +0100)]
protogen: memory hygeine.
Richard Kettlewell [Sun, 7 Aug 2011 09:18:21 +0000 (10:18 +0100)]
protogen: factor out some common code.
Richard Kettlewell [Sat, 6 Aug 2011 20:19:37 +0000 (21:19 +0100)]
protogen: support schedule-add.
Richard Kettlewell [Sat, 6 Aug 2011 17:18:25 +0000 (18:18 +0100)]
protogen: support multiple return values.
This allow volume and rtp-address to be handled.
Also fix up some new-tracks stuff missed in the previous change.
Richard Kettlewell [Sat, 6 Aug 2011 15:46:57 +0000 (16:46 +0100)]
protogen: more consistent arg passing + fix login commands.
Richard Kettlewell [Sat, 6 Aug 2011 15:39:58 +0000 (16:39 +0100)]
protogen: comments.
Richard Kettlewell [Sat, 6 Aug 2011 14:17:59 +0000 (15:17 +0100)]
protogen: disorder_new_tracks().
Richard Kettlewell [Sun, 6 Jun 2010 09:48:54 +0000 (10:48 +0100)]
copyright date
Richard Kettlewell [Sun, 6 Jun 2010 09:48:21 +0000 (10:48 +0100)]
More commands.
Richard Kettlewell [Sun, 6 Jun 2010 09:27:29 +0000 (10:27 +0100)]
More commands.
Richard Kettlewell [Sat, 5 Jun 2010 17:23:00 +0000 (18:23 +0100)]
Mention scripts/protocol in README.developers, and bring other bits a
bit up to date.
Richard Kettlewell [Sat, 5 Jun 2010 17:17:30 +0000 (18:17 +0100)]
Eliminate string_login().
Richard Kettlewell [Sat, 5 Jun 2010 17:12:38 +0000 (18:12 +0100)]
More commands.
Richard Kettlewell [Sat, 5 Jun 2010 16:37:31 +0000 (17:37 +0100)]
More command stubs.
Richard Kettlewell [Sat, 5 Jun 2010 16:00:47 +0000 (17:00 +0100)]
Correct documentation for 'revoke'.
Richard Kettlewell [Sat, 5 Jun 2010 15:58:29 +0000 (16:58 +0100)]
Attach return type to return name/descr rather than choice of sub.
Richard Kettlewell [Sat, 5 Jun 2010 15:43:15 +0000 (16:43 +0100)]
Add type information into scripts/protocol
Richard Kettlewell [Sat, 5 Jun 2010 14:40:10 +0000 (15:40 +0100)]
length command stub
Richard Kettlewell [Sat, 5 Jun 2010 13:46:04 +0000 (14:46 +0100)]
play command
Richard Kettlewell [Sat, 5 Jun 2010 13:43:23 +0000 (14:43 +0100)]
Stub + document shutdown command
Richard Kettlewell [Sat, 5 Jun 2010 13:40:53 +0000 (14:40 +0100)]
Document that 'confirm' logs user in
Richard Kettlewell [Sat, 5 Jun 2010 13:37:54 +0000 (14:37 +0100)]
Typo.
Richard Kettlewell [Sat, 5 Jun 2010 12:42:09 +0000 (13:42 +0100)]
Remember to dist scripts/protocol!
Richard Kettlewell [Sat, 5 Jun 2010 12:39:50 +0000 (13:39 +0100)]
Mention client-stub.[ch] in makefile..
Richard Kettlewell [Sat, 5 Jun 2010 11:21:32 +0000 (12:21 +0100)]
Further commands.
Richard Kettlewell [Sat, 5 Jun 2010 10:23:50 +0000 (11:23 +0100)]
Implement more commands.
Switch to actually using generated code.
Richard Kettlewell [Fri, 4 Jun 2010 21:17:32 +0000 (22:17 +0100)]
Formatting.
Boolean commands.
Richard Kettlewell [Fri, 4 Jun 2010 19:51:46 +0000 (20:51 +0100)]
First steps towards automatic client code generation.
Currently supported:
- the C synchronous client, only.
- simple string commands, only.
Richard Kettlewell [Mon, 1 Aug 2011 19:36:00 +0000 (20:36 +0100)]
gitignore *.pyc
Richard Kettlewell [Mon, 1 Aug 2011 19:35:26 +0000 (20:35 +0100)]
Python: don't supply a value when unsetting a global pref.
Richard Kettlewell [Mon, 1 Aug 2011 19:34:42 +0000 (20:34 +0100)]
Server: correct sense of set-global response.
Richard Kettlewell [Sun, 31 Jul 2011 16:16:46 +0000 (17:16 +0100)]
Merge remote-tracking branch 'origin/branch-5.0'
Conflicts:
CHANGES.html
Richard Kettlewell [Sun, 31 Jul 2011 16:06:57 +0000 (17:06 +0100)]
CHANGES.html for 5.0.3
Richard Kettlewell [Sun, 31 Jul 2011 15:55:51 +0000 (16:55 +0100)]
SECURITY: server: don't allow local connections to adduser/deluser.
As of this change, the only thing that needs only RIGHT__LOCAL is
'reminder'.
This has been wrong since
eb5dc014179415a0e5476e986519ac96c36221f9
(December 2007) and was first released in DisOrder 3.0.
Richard Kettlewell [Sun, 31 Jul 2011 14:39:44 +0000 (15:39 +0100)]
Disobedience: suppress bogus initial set of global prefs.
This happened because the setting the initial value retrieved from the
server causes the widget to change value (assuming it's not
empty/off/etc).
Richard Kettlewell [Sun, 31 Jul 2011 14:25:52 +0000 (15:25 +0100)]
Disobedience: mention global prefs in manual.
No screenshots yet.
Richard Kettlewell [Sun, 31 Jul 2011 14:12:11 +0000 (15:12 +0100)]
Update CHANGES.html.
Richard Kettlewell [Sun, 31 Jul 2011 13:58:44 +0000 (14:58 +0100)]
Merge branch 'issue29'
Richard Kettlewell [Sun, 31 Jul 2011 13:53:54 +0000 (14:53 +0100)]
Disobedience: show playing/random-play global prefs as checkboxes.
This depends on the latest server version to work properly.
Richard Kettlewell [Sun, 31 Jul 2011 13:52:40 +0000 (14:52 +0100)]
server: remember to issue a response to set-global even in special cases.
Richard Kettlewell [Sun, 31 Jul 2011 13:43:15 +0000 (14:43 +0100)]
server: setting playing and random-play global prefs now works
properly.
Formerly the global prefs would be changed but the other actions
required to switch state properly were not carried out. This was
documented, making it a design flaw rather than an implementation
error.
Richard Kettlewell [Sun, 31 Jul 2011 13:07:35 +0000 (14:07 +0100)]
Disobedience: change filtering window to be a more general-purpose
global preferences editor.
Richard Kettlewell [Sun, 31 Jul 2011 11:50:58 +0000 (12:50 +0100)]
Disobedience: add a Close button to the filtering window.
Richard Kettlewell [Sun, 31 Jul 2011 11:31:07 +0000 (12:31 +0100)]
Merge commit '
ad0c0f361be0'
Richard Kettlewell [Sun, 31 Jul 2011 11:24:44 +0000 (12:24 +0100)]
playrtp: refuse to play RTP via RTP.
playrtp attempting to use the RTP backend becomes the default
situation if no local sound output API is available. This can happen
using (e.g.) Fink's GCC 4.4, because it cannot compile Apple's header
files, and so concludes that CoreAudio/AudioHardware.h is not
available.
This is about the minimal possible change to stop playrtp crashing in
this case. There are a variety of better possible answers.
Richard Kettlewell [Sat, 30 Jul 2011 20:15:16 +0000 (21:15 +0100)]
Initialize filtering logic properly.
Richard Kettlewell [Sat, 30 Jul 2011 20:11:40 +0000 (21:11 +0100)]
Do not fatal-error when deleting a global pref that does not exist.
Richard Kettlewell [Sat, 30 Jul 2011 19:48:10 +0000 (20:48 +0100)]
gitignore *~
Richard Kettlewell [Sat, 30 Jul 2011 17:51:36 +0000 (18:51 +0100)]
Disobedience: basic support for required/prohibited tags.
Richard Kettlewell [Sat, 30 Jul 2011 17:50:58 +0000 (18:50 +0100)]
Support global prefs through eclient interface.
Additionally, cope a bit better with NULL callbacks.
Richard Kettlewell [Sat, 30 Jul 2011 17:50:27 +0000 (18:50 +0100)]
Document global_pref log event.
Richard Kettlewell [Sat, 30 Jul 2011 17:48:36 +0000 (18:48 +0100)]
Emit a log event when a global pref changes.
Richard Kettlewell [Sat, 30 Jul 2011 16:47:56 +0000 (17:47 +0100)]
Update CHANGES.html
Richard Kettlewell [Sat, 30 Jul 2011 16:41:11 +0000 (17:41 +0100)]
Typo.
Richard Kettlewell [Sat, 30 Jul 2011 16:28:11 +0000 (17:28 +0100)]
Update copyright dates in version strings
Richard Kettlewell [Sat, 30 Jul 2011 16:13:19 +0000 (17:13 +0100)]
Don't call libtool --mode=finish.
I think this is just a leftover from the shared libdisorder. At any
rate, it broke .deb builds on sid (Libtool 2.4).
Richard Kettlewell [Sat, 30 Jul 2011 15:39:52 +0000 (16:39 +0100)]
More bzr->git transition fallout.
Richard Kettlewell [Sat, 30 Jul 2011 15:38:31 +0000 (16:38 +0100)]
Ship README.developers to web.