Merge branch 't/recv_fix'
[paraslash.git] / m4 / gengetopt / fade.m4
index 42f135fa3ee5d3ed6d61faf9b4088fd00d8302e2..59389ffefb5105ee8af56e4d7b844377c9d5d9c7 100644 (file)
@@ -1,17 +1,27 @@
-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"
 #########################
 
 section "General options"
 #########################
 
+</qu>
+include(config_file.m4)
+include(loglevel.m4)
+<qu>
 option "mode" o
 #~~~~~~~~~~~~~~
 "how to fade volume"
        enum typestr = "mode"
 option "mode" o
 #~~~~~~~~~~~~~~
 "how to fade volume"
        enum typestr = "mode"
-       values = "sleep", "snooze", "fade"
+       values = "sleep", "fade", "set", "snooze"
        default = "sleep"
        optional
        details="
        default = "sleep"
        optional
        details="
-               para_fade knows three different fading modes:
+               para_fade knows the following modes:
 
                sleep mode: Change to the initial volume and select
                the initial afs mood/playlist. Then fade out until
 
                sleep mode: Change to the initial volume and select
                the initial afs mood/playlist. Then fade out until
@@ -23,14 +33,22 @@ option "mode" o
                fade: Fade the volume to the given value in the
                given time.
 
                fade: Fade the volume to the given value in the
                given time.
 
+               set: Just set the value and exit.
+
                snooze: Fade out, sleep a bit and fade in.
 "
 
                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
        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
 #~~~~~~~~~~~~~~~~~~~~~~
 
 option "mixer-device" m
 #~~~~~~~~~~~~~~~~~~~~~~
@@ -70,12 +88,15 @@ section "Options for sleep mode"
 option "ivol" -
 #~~~~~~~~~~~~~~
 "set initial volume"
 option "ivol" -
 #~~~~~~~~~~~~~~
 "set initial volume"
-       int typestr = "volume"
+       string typestr = "[channel:]volume"
        default = "60"
        optional
        default = "60"
        optional
+       multiple
        details = "
                Used as the start volume, before fading out to the
        details = "
                Used as the start volume, before fading out to the
-               fade out volume.
+               fade out volume. The channel part may be omitted, in
+               which case the default channel is used. This option
+               may be given multiple times.
        "
 
 option "fo-mood" -
        "
 
 option "fo-mood" -
@@ -212,3 +233,14 @@ option "fade-time" t
        int typestr = "seconds"
        default = "5"
        optional
        int typestr = "seconds"
        default = "5"
        optional
+
+section "Options for set mode"
+##############################
+
+option "val" -
+"value to set"
+       int typestr = "value"
+       default = "0"
+       optional
+
+</qu>