summaryrefslogtreecommitdiffstats
path: root/src/progs/ingen/cmdline.c
diff options
context:
space:
mode:
authorDavid Robillard <d@drobilla.net>2007-05-04 16:44:59 +0000
committerDavid Robillard <d@drobilla.net>2007-05-04 16:44:59 +0000
commit673e4864318ca6c4700cca8402f2fea9bfda53d4 (patch)
tree332e485ef8e4e7e3fd4f904dbd2b289ee5874a2d /src/progs/ingen/cmdline.c
parentafb90380d6bad49054bcbdb248b537e3842137e5 (diff)
downloadingen-673e4864318ca6c4700cca8402f2fea9bfda53d4.tar.gz
ingen-673e4864318ca6c4700cca8402f2fea9bfda53d4.tar.bz2
ingen-673e4864318ca6c4700cca8402f2fea9bfda53d4.zip
Added more missing files.
git-svn-id: http://svn.drobilla.net/lad/ingen@500 a436a847-0d15-0410-975c-d299462d15a1
Diffstat (limited to 'src/progs/ingen/cmdline.c')
-rw-r--r--src/progs/ingen/cmdline.c499
1 files changed, 499 insertions, 0 deletions
diff --git a/src/progs/ingen/cmdline.c b/src/progs/ingen/cmdline.c
new file mode 100644
index 00000000..6c37d78e
--- /dev/null
+++ b/src/progs/ingen/cmdline.c
@@ -0,0 +1,499 @@
+/*
+ File autogenerated by gengetopt version 2.19.1
+ generated with the following command:
+ gengetopt
+
+ The developers of gengetopt consider the fixed text that goes in all
+ gengetopt output files to be in the public domain:
+ we make no copyright claims on it.
+*/
+
+/* If we use autoconf. */
+#ifdef HAVE_CONFIG_H
+#include "config.h"
+#endif
+
+#include <stdio.h>
+#include <stdlib.h>
+#include <string.h>
+
+#include "getopt.h"
+
+#include "cmdline.h"
+
+const char *gengetopt_args_info_purpose = "A modular realtime audio processing system";
+
+const char *gengetopt_args_info_usage = "Usage: ingen [OPTIONS]...";
+
+const char *gengetopt_args_info_description = "This executable can be used to launch any configuration of Ingen.\nIngen can run as a stand-alone server controlled by OSC, or internal to\nanother process. The GUI can communicate with the engine via either method,\nand many GUIs (or other things) may connect to an engine via OSC.\n";
+
+const char *gengetopt_args_info_help[] = {
+ " -h, --help Print help and exit",
+ " -V, --version Print version and exit",
+ " -e, --engine Run (JACK) engine (default=off)",
+ " -E, --engine-port=INT Engine OSC port (default=`16180')",
+ " -c, --connect=STRING Connect to existing engine at OSC URI \n (default=`osc.udp://localhost:16180')",
+ " -g, --gui Launch the GTK graphical interface (default=on)",
+ " -C, --client-port=INT Client OSC port",
+ " -l, --load=STRING Load patch",
+ " -p, --path=STRING Target path for loaded patch",
+ 0
+};
+
+static
+void clear_given (struct gengetopt_args_info *args_info);
+static
+void clear_args (struct gengetopt_args_info *args_info);
+
+static int
+cmdline_parser_internal (int argc, char * const *argv, struct gengetopt_args_info *args_info, int override, int initialize, int check_required, const char *additional_error);
+
+
+static char *
+gengetopt_strdup (const char *s);
+
+static
+void clear_given (struct gengetopt_args_info *args_info)
+{
+ args_info->help_given = 0 ;
+ args_info->version_given = 0 ;
+ args_info->engine_given = 0 ;
+ args_info->engine_port_given = 0 ;
+ args_info->connect_given = 0 ;
+ args_info->gui_given = 0 ;
+ args_info->client_port_given = 0 ;
+ args_info->load_given = 0 ;
+ args_info->path_given = 0 ;
+}
+
+static
+void clear_args (struct gengetopt_args_info *args_info)
+{
+ args_info->engine_flag = 0;
+ args_info->engine_port_arg = 16180;
+ args_info->engine_port_orig = NULL;
+ args_info->connect_arg = gengetopt_strdup ("osc.udp://localhost:16180");
+ args_info->connect_orig = NULL;
+ args_info->gui_flag = 1;
+ args_info->client_port_orig = NULL;
+ args_info->load_arg = NULL;
+ args_info->load_orig = NULL;
+ args_info->path_arg = NULL;
+ args_info->path_orig = NULL;
+
+}
+
+static
+void init_args_info(struct gengetopt_args_info *args_info)
+{
+ args_info->help_help = gengetopt_args_info_help[0] ;
+ args_info->version_help = gengetopt_args_info_help[1] ;
+ args_info->engine_help = gengetopt_args_info_help[2] ;
+ args_info->engine_port_help = gengetopt_args_info_help[3] ;
+ args_info->connect_help = gengetopt_args_info_help[4] ;
+ args_info->gui_help = gengetopt_args_info_help[5] ;
+ args_info->client_port_help = gengetopt_args_info_help[6] ;
+ args_info->load_help = gengetopt_args_info_help[7] ;
+ args_info->path_help = gengetopt_args_info_help[8] ;
+
+}
+
+void
+cmdline_parser_print_version (void)
+{
+ printf ("%s %s\n", CMDLINE_PARSER_PACKAGE, CMDLINE_PARSER_VERSION);
+}
+
+void
+cmdline_parser_print_help (void)
+{
+ int i = 0;
+ cmdline_parser_print_version ();
+
+ if (strlen(gengetopt_args_info_purpose) > 0)
+ printf("\n%s\n", gengetopt_args_info_purpose);
+
+ printf("\n%s\n\n", gengetopt_args_info_usage);
+
+ if (strlen(gengetopt_args_info_description) > 0)
+ printf("%s\n", gengetopt_args_info_description);
+
+ while (gengetopt_args_info_help[i])
+ printf("%s\n", gengetopt_args_info_help[i++]);
+}
+
+void
+cmdline_parser_init (struct gengetopt_args_info *args_info)
+{
+ clear_given (args_info);
+ clear_args (args_info);
+ init_args_info (args_info);
+}
+
+static void
+cmdline_parser_release (struct gengetopt_args_info *args_info)
+{
+
+ if (args_info->engine_port_orig)
+ {
+ free (args_info->engine_port_orig); /* free previous argument */
+ args_info->engine_port_orig = 0;
+ }
+ if (args_info->connect_arg)
+ {
+ free (args_info->connect_arg); /* free previous argument */
+ args_info->connect_arg = 0;
+ }
+ if (args_info->connect_orig)
+ {
+ free (args_info->connect_orig); /* free previous argument */
+ args_info->connect_orig = 0;
+ }
+ if (args_info->client_port_orig)
+ {
+ free (args_info->client_port_orig); /* free previous argument */
+ args_info->client_port_orig = 0;
+ }
+ if (args_info->load_arg)
+ {
+ free (args_info->load_arg); /* free previous argument */
+ args_info->load_arg = 0;
+ }
+ if (args_info->load_orig)
+ {
+ free (args_info->load_orig); /* free previous argument */
+ args_info->load_orig = 0;
+ }
+ if (args_info->path_arg)
+ {
+ free (args_info->path_arg); /* free previous argument */
+ args_info->path_arg = 0;
+ }
+ if (args_info->path_orig)
+ {
+ free (args_info->path_orig); /* free previous argument */
+ args_info->path_orig = 0;
+ }
+
+ clear_given (args_info);
+}
+
+int
+cmdline_parser_file_save(const char *filename, struct gengetopt_args_info *args_info)
+{
+ FILE *outfile;
+ int i = 0;
+
+ outfile = fopen(filename, "w");
+
+ if (!outfile)
+ {
+ fprintf (stderr, "%s: cannot open file for writing: %s\n", CMDLINE_PARSER_PACKAGE, filename);
+ return EXIT_FAILURE;
+ }
+
+ if (args_info->help_given) {
+ fprintf(outfile, "%s\n", "help");
+ }
+ if (args_info->version_given) {
+ fprintf(outfile, "%s\n", "version");
+ }
+ if (args_info->engine_given) {
+ fprintf(outfile, "%s\n", "engine");
+ }
+ if (args_info->engine_port_given) {
+ if (args_info->engine_port_orig) {
+ fprintf(outfile, "%s=\"%s\"\n", "engine-port", args_info->engine_port_orig);
+ } else {
+ fprintf(outfile, "%s\n", "engine-port");
+ }
+ }
+ if (args_info->connect_given) {
+ if (args_info->connect_orig) {
+ fprintf(outfile, "%s=\"%s\"\n", "connect", args_info->connect_orig);
+ } else {
+ fprintf(outfile, "%s\n", "connect");
+ }
+ }
+ if (args_info->gui_given) {
+ fprintf(outfile, "%s\n", "gui");
+ }
+ if (args_info->client_port_given) {
+ if (args_info->client_port_orig) {
+ fprintf(outfile, "%s=\"%s\"\n", "client-port", args_info->client_port_orig);
+ } else {
+ fprintf(outfile, "%s\n", "client-port");
+ }
+ }
+ if (args_info->load_given) {
+ if (args_info->load_orig) {
+ fprintf(outfile, "%s=\"%s\"\n", "load", args_info->load_orig);
+ } else {
+ fprintf(outfile, "%s\n", "load");
+ }
+ }
+ if (args_info->path_given) {
+ if (args_info->path_orig) {
+ fprintf(outfile, "%s=\"%s\"\n", "path", args_info->path_orig);
+ } else {
+ fprintf(outfile, "%s\n", "path");
+ }
+ }
+
+ fclose (outfile);
+
+ i = EXIT_SUCCESS;
+ return i;
+}
+
+void
+cmdline_parser_free (struct gengetopt_args_info *args_info)
+{
+ cmdline_parser_release (args_info);
+}
+
+
+/* gengetopt_strdup() */
+/* strdup.c replacement of strdup, which is not standard */
+char *
+gengetopt_strdup (const char *s)
+{
+ char *result = NULL;
+ if (!s)
+ return result;
+
+ result = (char*)malloc(strlen(s) + 1);
+ if (result == (char*)0)
+ return (char*)0;
+ strcpy(result, s);
+ return result;
+}
+
+int
+cmdline_parser (int argc, char * const *argv, struct gengetopt_args_info *args_info)
+{
+ return cmdline_parser2 (argc, argv, args_info, 0, 1, 1);
+}
+
+int
+cmdline_parser2 (int argc, char * const *argv, struct gengetopt_args_info *args_info, int override, int initialize, int check_required)
+{
+ int result;
+
+ result = cmdline_parser_internal (argc, argv, args_info, override, initialize, check_required, NULL);
+
+ if (result == EXIT_FAILURE)
+ {
+ cmdline_parser_free (args_info);
+ exit (EXIT_FAILURE);
+ }
+
+ return result;
+}
+
+int
+cmdline_parser_required (struct gengetopt_args_info *args_info, const char *prog_name)
+{
+ return EXIT_SUCCESS;
+}
+
+int
+cmdline_parser_internal (int argc, char * const *argv, struct gengetopt_args_info *args_info, int override, int initialize, int check_required, const char *additional_error)
+{
+ int c; /* Character of the parsed option. */
+
+ int error = 0;
+ struct gengetopt_args_info local_args_info;
+
+ if (initialize)
+ cmdline_parser_init (args_info);
+
+ cmdline_parser_init (&local_args_info);
+
+ optarg = 0;
+ optind = 0;
+ opterr = 1;
+ optopt = '?';
+
+ while (1)
+ {
+ int option_index = 0;
+ char *stop_char;
+
+ static struct option long_options[] = {
+ { "help", 0, NULL, 'h' },
+ { "version", 0, NULL, 'V' },
+ { "engine", 0, NULL, 'e' },
+ { "engine-port", 1, NULL, 'E' },
+ { "connect", 1, NULL, 'c' },
+ { "gui", 0, NULL, 'g' },
+ { "client-port", 1, NULL, 'C' },
+ { "load", 1, NULL, 'l' },
+ { "path", 1, NULL, 'p' },
+ { NULL, 0, NULL, 0 }
+ };
+
+ stop_char = 0;
+ c = getopt_long (argc, argv, "hVeE:c:gC:l:p:", long_options, &option_index);
+
+ if (c == -1) break; /* Exit from `while (1)' loop. */
+
+ switch (c)
+ {
+ case 'h': /* Print help and exit. */
+ cmdline_parser_print_help ();
+ cmdline_parser_free (&local_args_info);
+ exit (EXIT_SUCCESS);
+
+ case 'V': /* Print version and exit. */
+ cmdline_parser_print_version ();
+ cmdline_parser_free (&local_args_info);
+ exit (EXIT_SUCCESS);
+
+ case 'e': /* Run (JACK) engine. */
+ if (local_args_info.engine_given)
+ {
+ fprintf (stderr, "%s: `--engine' (`-e') option given more than once%s\n", argv[0], (additional_error ? additional_error : ""));
+ goto failure;
+ }
+ if (args_info->engine_given && ! override)
+ continue;
+ local_args_info.engine_given = 1;
+ args_info->engine_given = 1;
+ args_info->engine_flag = !(args_info->engine_flag);
+ break;
+
+ case 'E': /* Engine OSC port. */
+ if (local_args_info.engine_port_given)
+ {
+ fprintf (stderr, "%s: `--engine-port' (`-E') option given more than once%s\n", argv[0], (additional_error ? additional_error : ""));
+ goto failure;
+ }
+ if (args_info->engine_port_given && ! override)
+ continue;
+ local_args_info.engine_port_given = 1;
+ args_info->engine_port_given = 1;
+ args_info->engine_port_arg = strtol (optarg, &stop_char, 0);
+ if (!(stop_char && *stop_char == '\0')) {
+ fprintf(stderr, "%s: invalid numeric value: %s\n", argv[0], optarg);
+ goto failure;
+ }
+ if (args_info->engine_port_orig)
+ free (args_info->engine_port_orig); /* free previous string */
+ args_info->engine_port_orig = gengetopt_strdup (optarg);
+ break;
+
+ case 'c': /* Connect to existing engine at OSC URI. */
+ if (local_args_info.connect_given)
+ {
+ fprintf (stderr, "%s: `--connect' (`-c') option given more than once%s\n", argv[0], (additional_error ? additional_error : ""));
+ goto failure;
+ }
+ if (args_info->connect_given && ! override)
+ continue;
+ local_args_info.connect_given = 1;
+ args_info->connect_given = 1;
+ if (args_info->connect_arg)
+ free (args_info->connect_arg); /* free previous string */
+ args_info->connect_arg = gengetopt_strdup (optarg);
+ if (args_info->connect_orig)
+ free (args_info->connect_orig); /* free previous string */
+ args_info->connect_orig = gengetopt_strdup (optarg);
+ break;
+
+ case 'g': /* Launch the GTK graphical interface. */
+ if (local_args_info.gui_given)
+ {
+ fprintf (stderr, "%s: `--gui' (`-g') option given more than once%s\n", argv[0], (additional_error ? additional_error : ""));
+ goto failure;
+ }
+ if (args_info->gui_given && ! override)
+ continue;
+ local_args_info.gui_given = 1;
+ args_info->gui_given = 1;
+ args_info->gui_flag = !(args_info->gui_flag);
+ break;
+
+ case 'C': /* Client OSC port. */
+ if (local_args_info.client_port_given)
+ {
+ fprintf (stderr, "%s: `--client-port' (`-C') option given more than once%s\n", argv[0], (additional_error ? additional_error : ""));
+ goto failure;
+ }
+ if (args_info->client_port_given && ! override)
+ continue;
+ local_args_info.client_port_given = 1;
+ args_info->client_port_given = 1;
+ args_info->client_port_arg = strtol (optarg, &stop_char, 0);
+ if (!(stop_char && *stop_char == '\0')) {
+ fprintf(stderr, "%s: invalid numeric value: %s\n", argv[0], optarg);
+ goto failure;
+ }
+ if (args_info->client_port_orig)
+ free (args_info->client_port_orig); /* free previous string */
+ args_info->client_port_orig = gengetopt_strdup (optarg);
+ break;
+
+ case 'l': /* Load patch. */
+ if (local_args_info.load_given)
+ {
+ fprintf (stderr, "%s: `--load' (`-l') option given more than once%s\n", argv[0], (additional_error ? additional_error : ""));
+ goto failure;
+ }
+ if (args_info->load_given && ! override)
+ continue;
+ local_args_info.load_given = 1;
+ args_info->load_given = 1;
+ if (args_info->load_arg)
+ free (args_info->load_arg); /* free previous string */
+ args_info->load_arg = gengetopt_strdup (optarg);
+ if (args_info->load_orig)
+ free (args_info->load_orig); /* free previous string */
+ args_info->load_orig = gengetopt_strdup (optarg);
+ break;
+
+ case 'p': /* Target path for loaded patch. */
+ if (local_args_info.path_given)
+ {
+ fprintf (stderr, "%s: `--path' (`-p') option given more than once%s\n", argv[0], (additional_error ? additional_error : ""));
+ goto failure;
+ }
+ if (args_info->path_given && ! override)
+ continue;
+ local_args_info.path_given = 1;
+ args_info->path_given = 1;
+ if (args_info->path_arg)
+ free (args_info->path_arg); /* free previous string */
+ args_info->path_arg = gengetopt_strdup (optarg);
+ if (args_info->path_orig)
+ free (args_info->path_orig); /* free previous string */
+ args_info->path_orig = gengetopt_strdup (optarg);
+ break;
+
+
+ case 0: /* Long option with no short option */
+ case '?': /* Invalid option. */
+ /* `getopt_long' already printed an error message. */
+ goto failure;
+
+ default: /* bug: option not considered. */
+ fprintf (stderr, "%s: option unknown: %c%s\n", CMDLINE_PARSER_PACKAGE, c, (additional_error ? additional_error : ""));
+ abort ();
+ } /* switch */
+ } /* while */
+
+
+
+
+ cmdline_parser_release (&local_args_info);
+
+ if ( error )
+ return (EXIT_FAILURE);
+
+ return 0;
+
+failure:
+
+ cmdline_parser_release (&local_args_info);
+ return (EXIT_FAILURE);
+}