alsa: Remove pointless initialization.
[paraslash.git] / play.c
diff --git a/play.c b/play.c
index 9639501069baaed4e3a396eb03f98813a0380584..01125ab647f73482bb248ecdbaac2b8b2ad13021 100644 (file)
--- a/play.c
+++ b/play.c
@@ -137,30 +137,14 @@ static void check_afh_receiver_or_die(void)
        exit(EXIT_FAILURE);
 }
 
-/** Description to be included in the --detailed-help output. */
-#define PP_DESC \
-"para_play is a command line audio player.\n" \
-"\n" \
-"It operates either in command mode or in insert mode. In insert mode it\n" \
-"presents a prompt and allows to enter para_play commands like stop, play, pause\n" \
-"etc. In command mode, the current audio file is shown and the program reads\n" \
-"single key strokes from stdin. Keys may be mapped to para_play commands.\n" \
-"Whenever a mapped key is pressed, the associated command is executed.\n" \
-
 __noreturn static void print_help_and_die(void)
 {
-       int d = conf.detailed_help_given;
-       const char **p = d? play_args_info_detailed_help
-               : play_args_info_help;
-
-//     printf_or_die("%s\n\n", PLAY_CMDLINE_PARSER_PACKAGE "-"
-//             PLAY_CMDLINE_PARSER_VERSION);
-
-       printf_or_die("%s\n\n", play_args_info_usage);
-       if (d)
-               printf_or_die("%s\n", PP_DESC);
-       for (; *p; p++)
-               printf_or_die("%s\n", *p);
+       struct ggo_help help = DEFINE_GGO_HELP(play);
+       unsigned flags = conf.detailed_help_given?
+               GPH_STANDARD_FLAGS_DETAILED : GPH_STANDARD_FLAGS;
+
+       ggo_print_help(&help, flags);
+       printf("supported audio formats: %s\n", AUDIO_FORMAT_HANDLERS);
        exit(0);
 }
 
@@ -176,12 +160,11 @@ static void parse_config_or_die(int argc, char *argv[])
                .print_errors = 1
        };
 
-       if (play_cmdline_parser_ext(argc, argv, &conf, &params))
-               exit(EXIT_FAILURE);
-       HANDLE_VERSION_FLAG("play", conf);
+       play_cmdline_parser_ext(argc, argv, &conf, &params);
+       loglevel = get_loglevel_by_name(conf.loglevel_arg);
+       version_handle_flag("play", conf.version_given);
        if (conf.help_given || conf.detailed_help_given)
                print_help_and_die();
-       loglevel = get_loglevel_by_name(conf.loglevel_arg);
        if (conf.config_file_given)
                config_file = para_strdup(conf.config_file_arg);
        else {
@@ -198,6 +181,7 @@ static void parse_config_or_die(int argc, char *argv[])
                params.initialize = 0;
                params.check_required = 1;
                play_cmdline_parser_config_file(config_file, &conf, &params);
+               loglevel = get_loglevel_by_name(conf.loglevel_arg);
        }
        for (i = 0; i < conf.key_map_given; i++) {
                char *s = strchr(conf.key_map_arg[i] + 1, ':');
@@ -368,7 +352,7 @@ static int open_new_file(struct play_task *pt)
                tmp = NULL;
        }
        pt->rn.task.pre_select = afh_recv->pre_select;
-       pt->rn.task.new_post_select = afh_recv->new_post_select;
+       pt->rn.task.post_select = afh_recv->post_select;
        sprintf(pt->rn.task.status, "%s receiver node", afh_recv->name);
        return 1;
 fail:
@@ -409,7 +393,7 @@ static int load_file(struct play_task *pt)
        pt->fn.filter_num = ret;
        decoder = filters + ret;
        pt->fn.task.pre_select = decoder->pre_select;
-       pt->fn.task.new_post_select = decoder->new_post_select;
+       pt->fn.task.post_select = decoder->post_select;
        sprintf(pt->fn.task.status, "%s decoder", af);
        pt->fn.btrn = btr_new_node(&(struct btr_node_description)
                EMBRACE(.name = decoder->name, .parent = pt->rn.btrn,
@@ -447,7 +431,7 @@ static int load_next_file(struct play_task *pt)
        int ret;
 
 again:
-       if (pt->rq == CRT_NONE || pt->rq == CRT_FILE_CHANGE) {
+       if (pt->rq == CRT_NONE) {
                pt->start_chunk = 0;
                ret = next_valid_file(pt);
                if (ret < 0)
@@ -990,15 +974,7 @@ out:
 
 static int play_i9e_line_handler(char *line)
 {
-       struct play_task *pt = &play_task;
-       int ret;
-
-       if (line == NULL || !*line)
-               return 0;
-       ret = run_command(line, pt);
-       if (ret < 0)
-               return ret;
-       return 0;
+       return run_command(line, &play_task);
 }
 
 static int play_i9e_key_handler(int key)
@@ -1044,7 +1020,7 @@ static void session_open(__a_unused struct play_task *pt)
        char *history_file;
        struct sigaction act;
 
-       PARA_NOTICE_LOG("\n%s\n", VERSION_TEXT("play"));
+       PARA_NOTICE_LOG("\n%s\n", version_text("play"));
        if (conf.history_file_given)
                history_file = para_strdup(conf.history_file_arg);
        else {
@@ -1270,7 +1246,7 @@ int main(int argc, char *argv[])
        pt->current_file = conf.inputs_num - 1;
        pt->playing = true;
        pt->task.pre_select = play_pre_select;
-       pt->task.new_post_select = play_post_select;
+       pt->task.post_select = play_post_select;
        sprintf(pt->task.status, "play task");
        register_task(&sched, &pt->task);
        ret = schedule(&sched);