Merge branch 't/fade_improvements'
authorAndre Noll <maan@systemlinux.org>
Sun, 23 Mar 2014 18:21:37 +0000 (19:21 +0100)
committerAndre Noll <maan@systemlinux.org>
Sun, 23 Mar 2014 18:23:56 +0000 (19:23 +0100)
Cooking since 2014-02-08.

* t/fade_improvements:
  fade: Improve error diagnostics.
  fade: Switch to the fade-in mood *before* sleeping.
  fade: Allow to set more than one channel in sleep mode.
  fade: Implement new mode "set".
  fade: Log to stderr.

Conflicts:
error.h

1  2 
NEWS
error.h

diff --cc NEWS
--- 1/NEWS
--- 2/NEWS
+++ b/NEWS
@@@ -1,25 -1,6 +1,27 @@@
  NEWS
  ====
  
 +---------------------------------------------
 +0.5.2 (to be announced) "orthogonal interior"
 +---------------------------------------------
 +
 +The new sync filter, the AES_CTR128 stream cipher and the overhauled
 +network code are the highlights of this release.
 +
 +      - The new sync filter synchronizes playback between multiple
 +        clients.
 +      - Connections between para_server and para_client are now
 +        encrypted by means of AES rather than RC4 if both sides
 +        support it. RC4 is still available as a fallback. This
 +        feature is fully transparent, i.e. no command line options
 +        are necessary, and a client linked against openssl can
 +        speak with a server linked against libgcrypt and vice versa.
 +      - Major cleanup of the networking subsystem.
++      - Improvements to para_fade: the new set mode, multi-channal
++        initial volumes, better error logging.
 +      - Improved user manual.
 +      - Minor fixes to avoid clang warnings.
 +
  ------------------------------------------
  0.5.1 (2013-12-20) "temporary implication"
  ------------------------------------------
diff --cc error.h
+++ b/error.h
@@@ -37,22 -37,13 +37,18 @@@ DEFINE_ERRLIST_OBJECT_ENUM
  #define VERSION_ERRORS
  #define SCHED_ERRORS
  
 +
  extern const char **para_errlist[];
  
- #define OSS_MIX_ERRORS \
-       PARA_ERROR(OSS_MIXER_CHANNEL, "invalid mixer channel"), \
 +#define SYNC_FILTER_ERRORS\
 +      PARA_ERROR(SYNC_COMPLETE, "all buddies in sync"), \
 +      PARA_ERROR(SYNC_LISTEN_FD, "no fd to listen on"), \
 +
  #define ALSA_MIX_ERRORS \
        PARA_ERROR(ALSA_MIX_OPEN, "could not open mixer"), \
-       PARA_ERROR(ALSA_MIX_BAD_ELEM, "invalid/unsupported control element"), \
        PARA_ERROR(ALSA_MIX_GET_VAL, "could not read control element state"), \
        PARA_ERROR(ALSA_MIX_SET_VAL, "could not set control element state"), \
+       PARA_ERROR(ALSA_MIX_RANGE, "value control element out of range"), \
  
  
  #define RESAMPLE_FILTER_ERRORS \