[BACK]Return to aucat.c CVS log [TXT][DIR] Up to [local] / src / usr.bin / aucat

Diff for /src/usr.bin/aucat/aucat.c between version 1.118 and 1.119

version 1.118, 2011/06/20 20:18:44 version 1.119, 2011/06/29 07:39:02
Line 251 
Line 251 
         struct aparams opar;            /* output (write) parameters */          struct aparams opar;            /* output (write) parameters */
         unsigned hold;                  /* open immediately */          unsigned hold;                  /* open immediately */
         unsigned autovol;               /* adjust volumes */          unsigned autovol;               /* adjust volumes */
           unsigned autopar;               /* adjust parameters to streams */
         unsigned bufsz;                 /* par.bufsz for sio device */          unsigned bufsz;                 /* par.bufsz for sio device */
         unsigned round;                 /* par.round for sio device */          unsigned round;                 /* par.round for sio device */
         unsigned mode;                  /* bitmap of MODE_XXX */          unsigned mode;                  /* bitmap of MODE_XXX */
Line 288 
Line 289 
                 cd->round = 0;                  cd->round = 0;
                 cd->hold = 1;                  cd->hold = 1;
                 cd->autovol = 1;                  cd->autovol = 1;
                   cd->autopar = 1;
         }          }
         SLIST_INIT(&cd->ins);          SLIST_INIT(&cd->ins);
         SLIST_INIT(&cd->outs);          SLIST_INIT(&cd->outs);
Line 460 
Line 462 
 void  void
 aucat_usage(void)  aucat_usage(void)
 {  {
         (void)fputs("usage: " PROG_AUCAT " [-dlnu] [-a flag] [-b nframes] "          (void)fputs("usage: " PROG_AUCAT " [-dln] [-a flag] [-b nframes] "
             "[-C min:max] [-c min:max] [-e enc]\n\t"              "[-C min:max] [-c min:max] [-e enc]\n\t"
             "[-f device] [-h fmt] [-i file] [-j flag] [-L addr] [-m mode] "              "[-f device] [-h fmt] [-i file] [-j flag] [-L addr] [-m mode] "
             "[-o file]\n\t"              "[-o file]\n\t"
             "[-q device] [-r rate] [-s name] [-t mode] [-U unit] "              "[-q device] [-r rate] [-s name] [-t mode] [-U unit] "
             "[-v volume]\n\t"              "[-u flag]\nt"
             "[-w flag] [-x policy] [-z nframes]\n",              "[-v volume] [-w flag] [-x policy] [-z nframes]\n",
             stderr);              stderr);
 }  }
   
Line 479 
Line 481 
         struct cfstr *cs;          struct cfstr *cs;
         struct cfdev *cd;          struct cfdev *cd;
         struct cfnet *cn;          struct cfnet *cn;
         int c, u_flag, d_flag, l_flag, n_flag, unit;          int c, d_flag, l_flag, n_flag, unit;
         char base[PATH_MAX], path[PATH_MAX];          char base[PATH_MAX], path[PATH_MAX];
         unsigned mode, rate;          unsigned mode, rate;
         const char *str;          const char *str;
Line 492 
Line 494 
          * global options defaults           * global options defaults
          */           */
         unit = -1;          unit = -1;
         u_flag = 0;  
         d_flag = 0;          d_flag = 0;
         l_flag = 0;          l_flag = 0;
         n_flag = 0;          n_flag = 0;
Line 506 
Line 507 
         cd = cfdev_new(NULL);          cd = cfdev_new(NULL);
         cs = cfstr_new(NULL);          cs = cfstr_new(NULL);
   
         while ((c = getopt(argc, argv, "a:w:dnb:c:C:e:r:h:x:v:i:o:f:m:luq:s:U:L:t:j:z:")) != -1) {          while ((c = getopt(argc, argv, "a:w:dnb:c:C:e:r:h:x:v:i:o:f:m:lu:q:s:U:L:t:j:z:")) != -1) {
                 switch (c) {                  switch (c) {
                 case 'd':                  case 'd':
 #ifdef DEBUG  #ifdef DEBUG
Line 518 
Line 519 
                 case 'n':                  case 'n':
                         n_flag = 1;                          n_flag = 1;
                         break;                          break;
                 case 'u':  
                         u_flag = 1;  
                         break;  
                 case 'U':                  case 'U':
                         unit = strtonum(optarg, 0, MIDI_MAXCTL, &str);                          unit = strtonum(optarg, 0, MIDI_MAXCTL, &str);
                         if (str)                          if (str)
Line 591 
Line 589 
                 case 'w':                  case 'w':
                         cd->autovol = opt_onoff();                          cd->autovol = opt_onoff();
                         break;                          break;
                   case 'u':
                           cd->autopar = opt_onoff();
                           break;
                 case 'q':                  case 'q':
                         cfmid_add(&cd->mids, optarg);                          cfmid_add(&cd->mids, optarg);
                         break;                          break;
Line 680 
Line 681 
          */           */
         SLIST_FOREACH(cd, &cfdevs, entry) {          SLIST_FOREACH(cd, &cfdevs, entry) {
                 mode = 0;                  mode = 0;
                 if (!u_flag) {                  if (cd->autopar) {
                         aparams_init(&cd->opar, NCHAN_MAX - 1, 0, RATE_MIN);                          aparams_init(&cd->opar, NCHAN_MAX - 1, 0, RATE_MIN);
                         aparams_init(&cd->opar, NCHAN_MAX - 1, 0, RATE_MIN);                          aparams_init(&cd->opar, NCHAN_MAX - 1, 0, RATE_MIN);
                 }                  }
Line 688 
Line 689 
                         if (cs->mode == 0)                          if (cs->mode == 0)
                                 errx(1, "%s: not in play mode", cs->path);                                  errx(1, "%s: not in play mode", cs->path);
                         mode |= (cs->mode & MODE_PLAY);                          mode |= (cs->mode & MODE_PLAY);
                         if (!u_flag)                          if (cd->autopar)
                                 aparams_grow(&cd->opar, &cs->ipar);                                  aparams_grow(&cd->opar, &cs->ipar);
                 }                  }
                 SLIST_FOREACH(cs, &cd->outs, entry) {                  SLIST_FOREACH(cs, &cd->outs, entry) {
Line 697 
Line 698 
                         if ((cs->mode & MODE_REC) && (cs->mode & MODE_MON))                          if ((cs->mode & MODE_REC) && (cs->mode & MODE_MON))
                                 errx(1, "%s: can't rec and mon", cs->path);                                  errx(1, "%s: can't rec and mon", cs->path);
                         mode |= (cs->mode & MODE_RECMASK);                          mode |= (cs->mode & MODE_RECMASK);
                         if (!u_flag)                          if (cd->autopar)
                                 aparams_grow(&cd->ipar, &cs->opar);                                  aparams_grow(&cd->ipar, &cs->opar);
                 }                  }
                 SLIST_FOREACH(cs, &cd->opts, entry) {                  SLIST_FOREACH(cs, &cd->opts, entry) {
                         if ((cs->mode & MODE_REC) && (cs->mode & MODE_MON))                          if ((cs->mode & MODE_REC) && (cs->mode & MODE_MON))
                                 errx(1, "%s: can't rec and mon", cs->path);                                  errx(1, "%s: can't rec and mon", cs->path);
                         mode |= (cs->mode & (MODE_RECMASK | MODE_PLAY));                          mode |= (cs->mode & (MODE_RECMASK | MODE_PLAY));
                         if (!u_flag) {                          if (cd->autopar) {
                                 aparams_grow(&cd->opar, &cs->ipar);                                  aparams_grow(&cd->opar, &cs->ipar);
                                 aparams_grow(&cd->ipar, &cs->opar);                                  aparams_grow(&cd->ipar, &cs->opar);
                         }                          }

Legend:
Removed from v.1.118  
changed lines
  Added in v.1.119