Patch to let you specify an alternate mixer for people 
with more than one mixer.  Typical example might be
xmix -device /dev/mixer1 -title 'Sound Blaster 16'
If not specified, it works normally.
Andrew <drewvel@eideti.com>

--- ../xmix.orig/xmix.c	Sat May 28 00:50:53 1994
+++ xmix.c	Wed May  3 21:58:44 1995
@@ -456,8 +456,29 @@
   int scroll_sep, longway;
   Widget version;
   int supported;
+  char mixer_name[32];
 
-  longway = (argc > 1 && strcmp(argv[1],"-l") == 0);
+  {
+    int i;    
+    
+    longway=0;
+    strcpy(mixer_name, "/dev/mixer");    
+
+    i=1;
+    while (i<argc) {
+      if (strcmp(argv[i],"-l")==0) longway=1;
+
+      if (strcmp(argv[i],"-device")==0) {
+	i++;
+	if (i>=argc) {
+	  fprintf(stderr, "Error: no device specified\n");
+	  exit(1);
+	}
+	strcpy(mixer_name, argv[i]);
+      }
+      i++;	  
+    };
+  }
 
   topLevel = XtVaAppInitialize (&app_context,
      "XMix",			/* Application class */
@@ -465,7 +486,8 @@
      &argc, argv,		/* command line args */
      NULL,			/* for missing app-defaults file */
      NULL);			/* terminate varargs list */
-
+  
+  
   whole = MW ("whole", formWidgetClass, topLevel, NULL);
   
   sliders = MW ("sliders", formWidgetClass, whole, NULL);
@@ -689,9 +711,12 @@
   install_pixmaps ();
 
   /* Open the mixer device */
-  mixer_fd = open ("/dev/mixer", O_RDWR, 0);
-  if (mixer_fd < 0)
-    perror ("Error opening mixer device"), exit (1);
+  mixer_fd = open (mixer_name, O_RDWR, 0);
+  if (mixer_fd < 0) {
+    char msg[32];
+    sprintf(msg, "Error opening mixer device %s", mixer_name);
+    perror (msg), exit (1);
+  }
 
   
   if (ioctl(mixer_fd, SOUND_MIXER_READ_DEVMASK, &supported) == -1)
