[xiph-commits] r10084 - trunk/vorbis-tools/ogg123

conrad at svn.xiph.org conrad at svn.xiph.org
Wed Sep 28 09:06:18 PDT 2005


Author: conrad
Date: 2005-09-28 09:06:16 -0700 (Wed, 28 Sep 2005)
New Revision: 10084

Modified:
   trunk/vorbis-tools/ogg123/cmdline_options.c
Log:
clean up --help output
  + document --audio-buffer and --repeat options
  + add -r short option as an alias for --repeat

nb. the --config option is still undocumented


Modified: trunk/vorbis-tools/ogg123/cmdline_options.c
===================================================================
--- trunk/vorbis-tools/ogg123/cmdline_options.c	2005-09-28 07:29:26 UTC (rev 10083)
+++ trunk/vorbis-tools/ogg123/cmdline_options.c	2005-09-28 16:06:16 UTC (rev 10084)
@@ -51,7 +51,7 @@
     {"shuffle", no_argument, 0, 'z'},
     {"list", required_argument, 0, '@'},
     {"audio-buffer", required_argument, 0, 0},
-    {"repeat", no_argument, 0, 0},
+    {"repeat", no_argument, 0, 'r'},
     {0, 0, 0, 0}
 };
 
@@ -79,15 +79,13 @@
   audio_device_t *current;
   int ret;
 
-  while (-1 != (ret = getopt_long(argc, argv, "b:c::d:f:hl:k:K:o:p:qvVx:y:z@:",
+  while (-1 != (ret = getopt_long(argc, argv, "b:c::d:f:hl:k:K:o:p:qrvVx:y:z@:",
 				  long_options, &option_index))) {
 
       switch (ret) {
       case 0:
 	if(!strcmp(long_options[option_index].name, "audio-buffer")) {
 	  ogg123_opts->buffer_size = 1024 * atoi(optarg);
-        } else if(!strcmp(long_options[option_index].name, "repeat")) {
-	  ogg123_opts->repeat = 1;
 	} else {
 	  status_error(_("Internal error parsing command line options.\n"));
 	  exit(1);
@@ -193,6 +191,10 @@
 	ogg123_opts->verbosity = 0;
 	break;
 	
+      case 'r':
+        ogg123_opts->repeat = 1;
+	break;
+
       case 'v':
 	ogg123_opts->verbosity++;
 	break;
@@ -278,51 +280,97 @@
   return optind;
 }
 
+#define LIST_SEP(x) ((x)==0?' ':',')
 
 void cmdline_usage (void)
 {
-  int i, driver_count;
+  int i, j, driver_count;
   ao_info **devices = ao_driver_info_list(&driver_count);
 
+  printf (_("ogg123 from %s %s\n"
+         " by the Xiph.Org Foundation (http://www.xiph.org/)\n\n"), PACKAGE, VERSION);
+
   printf ( 
-         _("ogg123 from %s %s\n"
-	 " by the Xiph.org Foundation (http://www.xiph.org/)\n\n"
-	 "Usage: ogg123 [<options>] <input file> ...\n\n"
-	 "  -h, --help     this help\n"
-	 "  -V, --version  display Ogg123 version\n"
-	 "  -d, --device=d uses 'd' as an output device\n"
-	 "      Possible devices are ('*'=live, '@'=file):\n"
-	 "        "), PACKAGE, VERSION);
+	 _(
+	 "Usage: ogg123 [options] file ...\n"
+	 "Play Ogg audio files and network streams.\n\n"));
+ 
+  printf (_("Available codecs: "));
+
+#ifdef HAVE_LIBFLAC
+  printf (_("FLAC, "));
+#endif
+
+#ifdef HAVE_LIBSPEEX
+  printf (_("Speex, "));
+#endif
+
+  printf (_("Ogg Vorbis.\n\n"));
+
+  printf (
+	 _("Output options\n"
+	 "  -d dev, --device dev    Use output device \"dev\". Available devices:\n"
+	 "                          Live:"));
   
-  for(i = 0; i < driver_count; i++) {
-    printf ("%s", devices[i]->short_name);
-    if (devices[i]->type == AO_TYPE_LIVE)
-      printf ("*");
-    else if (devices[i]->type == AO_TYPE_FILE)
-      printf ("@");
-    printf (" ");
+  for(i = 0, j = 0; i < driver_count; i++) {
+    if (devices[i]->type == AO_TYPE_LIVE) {
+      printf ("%c %s", LIST_SEP(j), devices[i]->short_name);
+      j++;
+    }
   }
+  printf ("\n                          File:");
+  for(i = 0, j = 0; i < driver_count; i++) {
+    if (devices[i]->type == AO_TYPE_FILE) {
+      printf ("%c %s", LIST_SEP(j), devices[i]->short_name);
+      j++;
+    }
+  }
+  printf ("\n\n");
 
-  printf ("\n");
+  printf (
+	 _(
+	 "  -f file, --file file    Set the output filename for a file device\n"
+	 "                          previously specified with --device.\n"
+	 "\n"
+	 "  --audio-buffer n        Use an output audio buffer of 'n' kilobytes\n"
+	 "  -o k:v, --device-option k:v\n"
+	 "                          Pass special option 'k' with value 'v' to the\n"
+	 "                          device previously specified with --device. See\n"
+	 "                          the ogg123 man page for available device options.\n"
+	 "\n"));
   
   printf (
-	 _("  -f, --file=filename  Set the output filename for a previously\n"
-	 "      specified file device (with -d).\n"
-	 "  -k n, --skip n  Skip the first 'n' seconds (or hh:mm:ss format)\n"
-	 "  -K n, --end n   End at 'n' seconds (or hh:mm:ss format)\n"
-	 "  -o, --device-option=k:v passes special option k with value\n"
-	 "      v to previously specified device (with -d).  See\n"
-	 "      man page for more info.\n"
-	 "  -@, --list=filename   Read playlist of files and URLs from \"filename\"\n"
-	 "  -b n, --buffer n  Use an input buffer of 'n' kilobytes\n"
-	 "  -p n, --prebuffer n  Load n%% of the input buffer before playing\n"
-	 "  -v, --verbose  Display progress and other status information\n"
-	 "  -q, --quiet    Don't display anything (no title)\n"
-	 "  -x n, --nth    Play every 'n'th block\n"
-	 "  -y n, --ntimes Repeat every played block 'n' times\n"
-	 "  -z, --shuffle  Shuffle play\n"
+	 _("Playlist options\n"
+	 "  -@ file, --list file    Read playlist of files and URLs from \"file\"\n"
+	 "  -r, --repeat            Repeat playlist indefinitely\n"
+	 "  -z, --shuffle           Shuffle play\n"
+	 "\n"));
+
+  printf (
+	 _("Input options\n"
+	 "  -b n, --buffer n        Use an input buffer of 'n' kilobytes\n"
+	 "  -p n, --prebuffer n     Load n%% of the input buffer before playing\n"
+	 "\n"));
+
+  printf (
+	 _("Decode options\n"
+	 "  -k n, --skip n          Skip the first 'n' seconds (or hh:mm:ss format)\n"
+	 "  -K n, --end n           End at 'n' seconds (or hh:mm:ss format)\n"
+	 "  -x n, --nth n           Play every 'n'th block\n"
+	 "  -y n, --ntimes n        Repeat every played block 'n' times\n"
+	 "\n"));
+
+  printf (
+	 _("Miscellaneous options\n"
+	 "  -l s, --delay s         Set termination timeout in milliseconds. ogg123\n"
+	 "                          will skip to the next song on SIGINT (Ctrl-C),\n"
+	 "                          and will terminate if two SIGINTs are received\n"
+	 "                          within the specified timeout 's'. (default 500)\n"
 	 "\n"
-	 "ogg123 will skip to the next song on SIGINT (Ctrl-C); two SIGINTs within\n"
-	 "s milliseconds make ogg123 terminate.\n"
-	 "  -l, --delay=s  Set s [milliseconds] (default 500).\n"));
+	 "  -h, --help              Display this help\n"
+	 "  -q, --quiet             Don't display anything (no title)\n"
+	 "  -v, --verbose           Display progress and other status information\n"
+	 "  -V, --version           Display ogg123 version\n"
+	 "\n"));
+
 }



More information about the commits mailing list