build: Generate man pages directly from ggo files.
[paraslash.git] / m4 / gengetopt / fade.m4
index ff4b451b34cb027e0e0375f778678c38e90abeee..7c731c2b6ec1cdf15322131827fe99add0917e09 100644 (file)
@@ -1,8 +1,18 @@
-args "--conf-parser --no-handle-version"
+args "--conf-parser --no-handle-version --no-handle-help"
 
+purpose "An alarm clock and volume-fader for OSS and ALSA."
+
+include(header.m4)
+define(CURRENT_PROGRAM,para_fade)
+define(DEFAULT_CONFIG_FILE,~/.paraslash/fade.conf)
+<qu>
 section "General options"
 #########################
 
+</qu>
+include(config_file.m4)
+include(loglevel.m4)
+<qu>
 option "mode" o
 #~~~~~~~~~~~~~~
 "how to fade volume"
@@ -26,31 +36,49 @@ option "mode" o
                snooze: Fade out, sleep a bit and fade in.
 "
 
-option "config-file" c
-#~~~~~~~~~~~~~~~~~~~~~
-"(default='~/.paraslash/fade.conf')"
-       string typestr = "filename"
+option "mixer-api" a
+#~~~~~~~~~~~~~~~~~~~
+"choose the mixer API"
+       string typestr = "api"
        optional
+       details = "
+               ALSA is preferred over OSS if both APIs are supported
+               and this option is not given. To see the supported
+               mixer APIs, use this option with an invalid string
+               as the mixer API, e.g. --mixer-api help.
+       "
 
 option "mixer-device" m
 #~~~~~~~~~~~~~~~~~~~~~~
-"mixer device file"
+"choose mixer device"
        string typestr = "device"
-       default = "/dev/mixer"
        optional
+       details = "
+               The default device (used if this option is not given)
+               depends on the selected mixer API. For ALSA, the
+               default is 'hw:0' which corresponds to the first sound
+               device. For OSS, '/dev/mixer' is used as the default.
+       "
 
 option "mixer-channel" C
 #~~~~~~~~~~~~~~~~~~~~~~~
 "select the analog mixer channel"
-       enum typestr = "channel"
-       values = "volume", "bass", "treble", "synth", "pcm", "speaker", "line",
-               "mic", "cd", "imix", "altpcm", "reclev", "igain", "ogain"
-       default = "volume"
+       string typestr = "channel"
        optional
        details = "
-               Not all listed channels might be supported on any
-               particular hardware.
-"
+               For the ALSA mixer API, the possible values are
+               determined at runtime depending on the hardware and
+               can be printed by specifying an invalid mixer channel,
+               for example --mixer-channel help. The default channel
+               is 'Master'.
+
+               For OSS the possible values are invariably 'volume',
+               'bass', 'treble', 'synth', 'pcm', 'speaker', 'line',
+               'mic', 'cd', 'imix', 'altpcm', 'reclev', 'igain',
+               'ogain'. However, not all listed channels might be
+               supported on any particular hardware. The default
+               channel is 'volume'.
+       "
 
 section "Options for sleep mode"
 ################################
@@ -200,3 +228,4 @@ option "fade-time" t
        int typestr = "seconds"
        default = "5"
        optional
+</qu>