char buffer[sizeof(header)];
bool ondisk_v1 = false;
int pan_array_size = 14; /* old (pre 1.0.24) HDSP_MAX_DEST */
+ int channels_per_card = 26; /* old (pre 1.0.24) HDSP_MAX_CHANNELS */
if (fread(&buffer, sizeof(char), sizeof(buffer), file) != sizeof(buffer)) {
goto load_error;
/* new ondisk format found */
ondisk_v1 = true;
pan_array_size = HDSP_MAX_DEST;
+ channels_per_card = HDSP_MAX_CHANNELS;
} else {
/* old format, rewind to the start and simply read all data */
rewind(file);
for (int speed = 0; speed < 3; ++speed) {
for (int card = 0; card < MAX_CARDS; ++card) {
for (int preset = 0; preset < 8; ++preset) {
- for (int channel = 0; channel < HDSP_MAX_CHANNELS; ++channel) {
+ for (int channel = 0; channel < channels_per_card; ++channel) {
/* inputs pans and volumes */
if (fread((void *)&(inputs->strips[channel]->data[card][speed][preset]->pan_pos[0]), sizeof(int), pan_array_size, file) != pan_array_size) {
goto load_error;