--- ../snd-util-3.5-orig/mixer.c 1980-01-02 09:29:13 +0900 +++ mixer.c 2007-12-27 04:30:59 +0900 @@ -21,7 +21,7 @@ void usage(void) { int i, n = 0; - printf("Usage: mixer { "); + printf("Usage: mixer [-d device] { "); for (i = 0; i < SOUND_MIXER_NRDEVICES; i++) if ((1 << i) & devmask) { @@ -30,7 +30,7 @@ printf(names[i]); n = 1; } - printf(" } \n or mixer { +rec|-rec } \n"); + printf(" } \n or mixer [-d device] { +rec|-rec } \n"); exit(1); } @@ -54,25 +54,19 @@ { int foo, bar, baz, dev; - char name[30] = "/dev/mixer"; + char *name = "/dev/mixer"; - if (!strcmp(argv[0], "mixer0")) - strcpy(name, "/dev/mixer"); - else - if (!strcmp(argv[0], "mixer1")) - strcpy(name, "/dev/mixer1"); - else - if (!strcmp(argv[0], "mixer2")) - strcpy(name, "/dev/mixer2"); - else - if (!strcmp(argv[0], "mixer3")) - strcpy(name, "/dev/mixer3"); - else - if (!strcmp(argv[0], "mixer4")) - strcpy(name, "/dev/mixer4"); - else - if (!strcmp(argv[0], "mixer5")) - strcpy(name, "/dev/mixer5"); + if (argc > 1 && strncmp(argv[1], "-d", 2) == 0) { + if (argv[1][2]) { + name = argv[1]+2; + } else if (argv[2]) { + name = argv[2]; + argv++; + argc--; + } + argv++; + argc--; + } if ((baz = open(name, O_RDWR)) < 0) { perror(name); --- ../snd-util-3.5-orig/dsp/vplay/vplay.c 1996-01-30 19:03:22 +0900 +++ dsp/vplay/vplay.c 2007-12-27 04:30:59 +0900 @@ -27,7 +27,7 @@ #define RECORD 0 #define PLAY 1 -#define AUDIO "/dev/dsp" +const char *AUDIO = "/dev/dsp"; #define min(a,b) ((a) <= (b) ? (a) : (b)) #define d_printf(x) if (verbose_mode) fprintf x @@ -92,7 +92,7 @@ exit (1); } - while ((c = getopt (argc, argv, "qs:St:b:vrwd")) != EOF) + while ((c = getopt (argc, argv, "qs:St:b:vrwdD:")) != EOF) switch (c) { case 'S': dsp_stereo = raw_info.dsp_stereo = 1; @@ -124,9 +124,12 @@ case 'd': verbose_mode = 1; quiet_mode = 0; break; + case 'D': + AUDIO = optarg; + break; default: fprintf (stderr, - "Usage: %s [-qvwrS] [-t secs] [-s Hz] [-b 8|12|16] [filename]\n", command); + "Usage: %s [-D device] [-qvwrS] [-t secs] [-s Hz] [-b 8|12|16] [filename]\n", command); exit (-1); }