Takashi it seems that at least for hdsploader (I didn't check the other tools) you forgot the trailing / in DATAPATH in Makefile.am, so the program fails to find the firmware file :
Unable to open file '/usr/local/share/alsa/firmware/hdsploadermultiface_firmware.bin' for reading
oh yes, you're right. is the attached patch ok? i'll check it in.
Good for me, thanks.
Please also apply the attached patch to hdspmixer, it fixes some problems with default presets file handling.
Thomas.
diff -Naur hdspmixer.orig/src/HDSPMixerWindow.cxx hdspmixer/src/HDSPMixerWindow.cxx --- hdspmixer.orig/src/HDSPMixerWindow.cxx 2003-11-27 01:36:29.000000000 +0100 +++ hdspmixer/src/HDSPMixerWindow.cxx 2003-11-27 01:35:01.000000000 +0100 @@ -397,7 +397,13 @@ { FILE *file; if ((file = fopen(file_name, "r")) == NULL) { + int i = 0; fl_alert("Error opening file %s for reading", file_name); + while (cards[i] != NULL) { + restoreDefaults(i++); + } + inputs->buttons->presets->preset_change(1); + return; } for (int speed = 0; speed < 3; ++speed) { for (int card = 0; card < 3; ++card) { @@ -533,6 +539,7 @@ h9632_an12_submix[2] = 1; num_modes = 3; phones = 0; + break; default: /* should never happen */ return; @@ -624,8 +631,18 @@ cards[2] = hdsp_card3; current_card = current_preset = 0; prefs = new Fl_Preferences(Fl_Preferences::USER, "thomasATundata.org", "HDSPMixer"); - if (!prefs->get("default_file", file_name_buffer, NULL, FL_PATH_MAX-1)) file_name = NULL; - else file_name = file_name_buffer; + if (!prefs->get("default_file", file_name_buffer, NULL, FL_PATH_MAX-1)) { + file_name = NULL; + } else { + struct stat buf; + if (!stat(file_name_buffer, &buf)) { + file_name = file_name_buffer; + } else { + file_name = NULL; + prefs->deleteEntry("default_file"); + prefs->flush(); + } + } for (int j = 0; j < 3; ++j) { for (int i = 0; i < 8; ++i) { data[j][0][i] = new HDSPMixerPresetData(); diff -Naur hdspmixer.orig/src/HDSPMixerWindow.h hdspmixer/src/HDSPMixerWindow.h --- hdspmixer.orig/src/HDSPMixerWindow.h 2003-11-27 01:36:29.000000000 +0100 +++ hdspmixer/src/HDSPMixerWindow.h 2003-11-27 01:25:03.000000000 +0100 @@ -35,6 +35,9 @@ #include <stdlib.h> #include <math.h> #include <sys/ioctl.h> +#include <sys/types.h> +#include <sys/stat.h> +#include <unistd.h> #include <alsa/asoundlib.h> #include <sound/hdsp.h> #include "HDSPMixerCard.h"