home *** CD-ROM | disk | FTP | other *** search
/ rtsi.com / 2014.01.www.rtsi.com.tar / www.rtsi.com / OS9 / MM1 / SOUNDUTILS / audioplay.lzh / AUDIOPLAY / SRC / parse.c < prev    next >
C/C++ Source or Header  |  1995-04-26  |  1KB  |  79 lines

  1. #include "play.h"
  2.  
  3. void optparse(arg)       /* parse dash options */
  4. char *arg;
  5. {
  6.     while (*(++arg)) {
  7.         switch(*arg | 0x20) {
  8.             case '?':
  9.                 printuse();
  10.                 exit(0);
  11.  
  12.             case 'f':
  13.                 force = TRUE;
  14.                 break;
  15.                 
  16.             case 'b':
  17.                 arg++;
  18.                 /* skip over '=' if any */
  19.                 if (*arg == '=') {
  20.                     arg++;
  21.                 }
  22.                 bufferSize = atoi(arg) * 1000;
  23.                 if (bufferSize < MINIMUM_BUFFER) {
  24.                     bufferSize = MINIMUM_BUFFER;
  25.                 }
  26.                 return;
  27.  
  28.             case 'd':
  29.                 debug = 1;
  30.                 break;
  31.  
  32.             case 'q':
  33.                 quiet = 1;
  34.                 break;
  35.  
  36.             case 'p':
  37.                 arg++;
  38.                 /* skip over '=' if any */
  39.                 if (*arg == '=') {
  40.                     arg++;
  41.                 }
  42.                 pid = atoi(arg);
  43.                 return;
  44.  
  45.             case 's':
  46.                 arg++;
  47.                 /* skip over '=' if any */
  48.                 if (*arg == '=') {
  49.                     arg++;
  50.                 }
  51.                 sig = atoi(arg);
  52.                 return;
  53.         }
  54.     }
  55. }
  56.  
  57.  
  58. char *helpText[] = {
  59.     "Syntax: AudioPlay {[<opts>] [file] [...]}\n",
  60.     "Function: plays .AU, .WAV, .VOC and .IFF sound files\n",
  61.     "Options:\n",
  62.     "     -b[=]<size>   buffer size (in K-bytes)\n",
  63.     "     -p[=]<pid>    process to send <sig> to when done\n",
  64.     "     -q            quiet mode (no output)\n",
  65.     "     -s[=]<sig>    signal to send to <pid> when done\n",
  66.     "     -f            force event\n",
  67.     NULL
  68. };
  69.  
  70. printuse()
  71. {
  72.     char **p = helpText;
  73.  
  74.     while (*p != NULL) {
  75.         fprintf(stderr, *p);
  76.         p++;
  77.     }
  78. }
  79.