summary refs log tree commit diff
diff options
context:
space:
mode:
authorMaxim Cournoyer <maxim.cournoyer@gmail.com>2023-04-27 16:10:20 -0400
committerMaxim Cournoyer <maxim.cournoyer@gmail.com>2023-07-26 10:40:16 -0400
commit07bb69d52c23752149d99d1e3d090f7e58f47385 (patch)
treed26ebd9e2f88bfd50469c0faa122f73519a93073
parent03795e2ba27424fc98957da00f6c71325e7ae425 (diff)
downloadguix-07bb69d52c23752149d99d1e3d090f7e58f47385.tar.gz
services: mpd: Auto-detect mpd-output mixer type by default.
Relates to <https://issues.guix.gnu.org/63082>.

* gnu/services/audio.scm (mpd-output) [mixer-type]: Change default value from
"none" to unspecified.
* doc/guix.texi (Audio Services): Regenerate doc.
-rw-r--r--doc/guix.texi11
-rw-r--r--gnu/services/audio.scm15
2 files changed, 16 insertions, 10 deletions
diff --git a/doc/guix.texi b/doc/guix.texi
index 7df9a6b8a2..67928d290d 100644
--- a/doc/guix.texi
+++ b/doc/guix.texi
@@ -34417,8 +34417,9 @@ Partitions} for available options.
 @end table
 @end deftp
 
+@c %start of fragment
 @deftp {Data Type} mpd-output
-Data type representing a @command{mpd} audio output.
+Available @code{mpd-output} fields are:
 
 @table @asis
 @item @code{name} (default: @code{"MPD"}) (type: string)
@@ -34445,15 +34446,16 @@ is only useful for output plugins that can receive tags, for example the
 
 @item @code{always-on?} (default: @code{#f}) (type: boolean)
 If set to @code{#t}, then MPD attempts to keep this audio output always
-open.  This may be useful for streaming servers, when you don?t want to
+open.  This may be useful for streaming servers, when you don’t want to
 disconnect all listeners even when playback is accidentally stopped.
 
-@item @code{mixer-type} (default: @code{"none"}) (type: string)
+@item @code{mixer-type} (type: maybe-string)
 This field accepts a string that specifies which mixer should be used
 for this audio output: the @code{hardware} mixer, the @code{software}
 mixer, the @code{null} mixer (allows setting the volume, but with no
 effect; this can be used as a trick to implement an external mixer
-External Mixer) or no mixer (@code{none}).
+External Mixer) or no mixer (@code{none}).  When left unspecified, a
+@code{hardware} mixer is used for devices that support it.
 
 @item @code{replay-gain-handler} (type: maybe-string)
 This field accepts a string that specifies how
@@ -34468,6 +34470,7 @@ appended to the audio output configuration.
 
 @end table
 @end deftp
+@c %end of fragment
 
 The following example shows a configuration of @command{mpd} that
 configures some of its plugins and provides a HTTP audio streaming output.
diff --git a/gnu/services/audio.scm b/gnu/services/audio.scm
index 540b12d4c3..3083090ad0 100644
--- a/gnu/services/audio.scm
+++ b/gnu/services/audio.scm
@@ -362,15 +362,18 @@ open. This may be useful for streaming servers, when you don’t want to
 disconnect all listeners even when playback is accidentally stopped.")
 
   (mixer-type
-   (string "none")
-   "This field accepts a string that specifies which mixer should be used
-for this audio output: the @code{hardware} mixer, the @code{software}
-mixer, the @code{null} mixer (allows setting the volume, but with no
-effect; this can be used as a trick to implement an external mixer
-External Mixer) or no mixer (@code{none})."
+   maybe-string
+   "This field accepts a string that specifies which mixer should be used for
+this audio output: the @code{hardware} mixer, the @code{software} mixer, the
+@code{null} mixer (allows setting the volume, but with no effect; this can be
+used as a trick to implement an external mixer External Mixer) or no
+mixer (@code{none}).  When left unspecified, a @code{hardware} mixer is used
+for devices that support it."
    (sanitizer
     (lambda (x)  ; TODO: deprecated, remove me later.
       (cond
+       ((eq? %unset-value x)
+        x)
        ((symbol? x)
         (warning (G_ "symbol value for 'mixer-type' is deprecated, \
 use string instead~%"))