diff -ru aumix-2.7.xxx/src/common.c aumix-2.7/src/common.c --- aumix-2.7.orig/src/common.c Thu Jul 13 13:33:30 2000 +++ aumix-2.7/src/common.c Wed Aug 30 08:30:26 2000 @@ -27,10 +27,14 @@ #endif /* HAVE_GTK */ #include "interactive.h" +#define MIXERDEV "/dev/mixer" +#ifdef __linux__ +# define MIXERDEV_DEVFS "/dev/sound/mixer" +#endif FILE *OpenDefaultFile(char *mode); FILE *setfile; char *save_filename = NULL; /* name of file for saved settings */ -char *device_filename = "/dev/mixer"; /* name of mixer device file */ +char *device_filename = NULL; /* name of mixer device file */ unsigned short setfile_opened = FALSE, setfile_write_perm = FALSE, setfile_read_perm = FALSE; int current_dev = 0, mixer_fd = -1, mutelevel[SOUND_MIXER_NRDEVICES], devmask = 0, recmask = 0, recsrc = 0, stereodevs = 0, mutestate = 0, interactive = FALSE; #ifdef USE_OWN_LABELS @@ -218,7 +222,12 @@ /* GTK+ stuff */ if (interactive == IN_GTK) { #ifndef DUMMY_MIXER - if ((mixer_fd = open(device_filename, O_RDWR)) < 0) + if ((mixer_fd = open(device_filename?device_filename:MIXERDEV, O_RDWR)) < 0) +# ifdef __linux__ + /* if no mixer device option given, also try devfs node */ + if (device_filename == NULL && + ((mixer_fd = open(MIXERDEV_DEVFS, O_RDWR)) < 0)) +# endif return EOPENMIX; #endif /* DUMMY_MIXER */ ErrorExitWarn(MixerStatus(), 'e'); @@ -372,11 +381,18 @@ EREADRECSRC SOUND_MIXER_READ_RECSRC EREADSTEREO SOUND_MIXER_READ_STEREODEVS */ + #ifdef HAVE_ALSA AlsaUnmute(); #endif /* HAVE_ALSA */ #ifndef DUMMY_MIXER - if ((mixer_fd = open(device_filename, O_RDWR)) < 0) + /* If no explicit mixer device given, use default */ + if ((mixer_fd = open(device_filename?device_filename:MIXERDEV, O_RDWR)) < 0) +# ifdef __linux__ + /* if no explicit mixer device option given, also try devfs node */ + if (device_filename != NULL || + ((mixer_fd = open(MIXERDEV_DEVFS, O_RDWR)) < 0)) +# endif return EOPENMIX; #endif /* DUMMY_MIXER */ ErrorExitWarn(MixerStatus(), 'e');