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 --combined NEWS
index 84a420584242f6a7e2f6a1b2306c4c0000fb8065,51d9db7c1e1b8b1b9c3ba201f464b29ebd25bcf4..787bdde64d7cd797d93b73131256a9530be363bf
--- 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 --combined error.h
index 08b309ce398d8375c334eb420d6e94408a223189,1db656b95dbe1413330b76fcea93f63ebff6bae2..3b57680b92e2c2c057c55d9ef148fe8bb51d25c3
+++ b/error.h
@@@ -28,7 -28,7 +28,7 @@@ DEFINE_ERRLIST_OBJECT_ENUM
  #define GGO_ERRORS
  #define COLOR_ERRORS
  #define SIGNAL_ERRORS
- #define FADE_ERRORS
+ #define OSS_MIX_ERRORS
  #define STDOUT_ERRORS
  #define FILE_WRITE_ERRORS
  #define STDIN_ERRORS
  #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 \
@@@ -83,6 -74,8 +79,8 @@@
        PARA_ERROR(NO_VALID_FILES, "no valid file found in playlist"), \
        PARA_ERROR(BAD_PLAY_CMD, "invalid command"), \
  
+ #define FADE_ERRORS \
+       PARA_ERROR(BAD_CHANNEL, "invalid channel"), \
  
  #define FLACDEC_FILTER_ERRORS \
        PARA_ERROR(FLACDEC_DECODER_ALLOC, "could not allocate stream decoder"), \