Package-Name: snd-util
#FIXME: out of date
#Source: ibibliolinux:///kernel/sound/snd-util-(\d+(.\d+)+).tar.gz $1
Source: ftp://ftp.funet.fi/pub/Linux/xtra/snd-kit/snd-util-(\d+(.\d+)+).tar.gz $1
Zap-Before-Install: 1
Repack:
	tar xzvfp "$(SOURCE)"
	mv sndkit snd-util-"$(VERSION)"
Compile:
	cp -p README "$(PREFIX)/"
	cp -p dsp/vplay/Readme "$(PREFIX)/Readme.vplay"
	$(MAKE) -C dsp/vplay
	gcc -O2 $(GCC_OPT_FLAGS) mixer.c -o mixer
	umask 022 ; mkdir -p "$(PREFIX)"/bin
	mv -f mixer dsp/vplay/v{play,rec} "$(PREFIX)"/bin/
Install:
	$(MAKE) instbin BIN="mixer vplay vrec"
Patch: <<EOT
--- mixer.c.old	1980-01-02 09:29:13 +0900
+++ mixer.c	2003-04-01 01:10:26 +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(" } <value>\n  or   mixer { +rec|-rec } <devicename>\n");
+	printf(" } <value>\n  or   mixer [-d device] { +rec|-rec } <devicename>\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);
--- dsp/vplay/vplay.c.old	1996-01-30 19:03:22 +0900
+++ dsp/vplay/vplay.c	2003-03-11 16:33:54 +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);
     }
 
EOT

/pkg/snd-util/
/usr/bin/mixer
/usr/bin/vplay
/usr/bin/vrec
