--- laaga-0.1.0/laaga/alsa_driver.h.~1~ Wed Jun 27 15:42:43 2001 +++ laaga-0.1.0/laaga/alsa_driver.h Sat Jun 30 23:17:38 2001 @@ -61,7 +61,7 @@ unsigned long sample_bytes; unsigned long *silent; char *alsa_name; - snd_card_type_t card_type; + char *alsa_driver; snd_pcm_uframes_t buffer_frames; unsigned long bytes_per_cycle; /* per channel */ unsigned long channels_not_done; --- laaga-0.1.0/alsa_driver.c.~1~ Sat Jun 30 18:36:09 2001 +++ laaga-0.1.0/alsa_driver.c Sat Jun 30 23:19:34 2001 @@ -95,7 +95,7 @@ return -1; } - driver->card_type = snd_ctl_card_info_get_type (card_info); + driver->alsa_name = strdup(snd_ctl_card_info_get_driver (card_info)); return alsa_driver_check_capabilities (driver); } @@ -122,19 +122,14 @@ { int err; - switch (driver->card_type) { - case SND_CARD_TYPE_HAMMERFALL: - case SND_CARD_TYPE_HAMMERFALL_LIGHT: + if (!strcmp(driver->alsa_driver, "RME9652")) { if ((err = alsa_driver_hammerfall_hardware (driver)) != 0) { return err; } - break; - - default: + } else { if ((err = alsa_driver_generic_hardware (driver)) != 0) { return err; } - break; } if (driver->hw->capabilities & Cap_HardwareMonitoring) { @@ -1066,6 +1061,8 @@ driver->hw->release (driver->hw); driver->hw = 0; } + free(driver->alsa_name); + free(driver->alsa_driver); alsa_driver_release_channel_dependent_memory (driver); laaga_driver_release ((laaga_driver_t *) driver); @@ -1192,7 +1189,7 @@ laaga_driver_t * driver_initialize (void) { - return alsa_driver_new ("ALSA I/O", "hw:1,0", 64, 48000); + return alsa_driver_new ("ALSA I/O", "default", 64, 48000); } void