hdspmixer: Lower nesting depth in label assignment

This fix is mostly cosmetic, the long if-then-else-if-chain was rather
confusing. To improve code readability, use simple if-then statements
and leave the function as soon as a match is found.

Clear code would probably use a two-dimensional map, but it seems rather
overengineered.

Last but not least, the non-matching case was augmented by assigning a
generic "1", "2", "3" .. channel naming schema to prevent hdspmixer from
crashing.

Signed-off-by: Adrian Knoth <adi@drcomp.erfurt.thur.de>
Signed-off-by: Takashi Iwai <tiwai@suse.de>
This commit is contained in:
Adrian Knoth 2011-03-01 10:42:26 +01:00 committed by Takashi Iwai
parent 042363a429
commit 05d6bc9728

View file

@ -209,17 +209,27 @@ void HDSPMixerOutput::setLabels()
labels_input = labels_playback = labels_9632_qs; labels_input = labels_playback = labels_9632_qs;
break; break;
} }
} else if (type == Multiface) { return;
}
if (type == Multiface) {
if (sm) if (sm)
labels_input = labels_playback = labels_mf_ds; labels_input = labels_playback = labels_mf_ds;
else else
labels_input = labels_playback = labels_mf_ss; labels_input = labels_playback = labels_mf_ss;
} else if (type == Digiface) { return;
};
if (type == Digiface) {
if (sm) if (sm)
labels_input = labels_playback = labels_df_ds; labels_input = labels_playback = labels_df_ds;
else else
labels_input = labels_playback = labels_df_ss; labels_input = labels_playback = labels_df_ss;
} else if (HDSPeMADI == type) { return;
}
if (HDSPeMADI == type) {
switch (sm) { switch (sm) {
case 0: case 0:
labels_input = labels_playback = labels_madi_ss; labels_input = labels_playback = labels_madi_ss;
@ -231,9 +241,15 @@ void HDSPMixerOutput::setLabels()
labels_input = labels_playback = labels_madi_qs; labels_input = labels_playback = labels_madi_qs;
break; break;
} }
} else if (HDSP_AES == type) { return;
}
if (HDSP_AES == type) {
labels_input = labels_playback = labels_aes32; labels_input = labels_playback = labels_aes32;
} else if (HDSPeAIO == type) { return;
}
if (HDSPeAIO == type) {
switch (sm) { switch (sm) {
case 0: case 0:
labels_input = labels_aio_ss_input; labels_input = labels_aio_ss_input;
@ -248,7 +264,10 @@ void HDSPMixerOutput::setLabels()
labels_playback = labels_aio_ds_playback; labels_playback = labels_aio_ds_playback;
break; break;
} }
} else if (HDSPeRayDAT == type) { return;
}
if (HDSPeRayDAT == type) {
switch (sm) { switch (sm) {
case 0: case 0:
labels_input = labels_playback = labels_raydat_ss; labels_input = labels_playback = labels_raydat_ss;
@ -260,9 +279,11 @@ void HDSPMixerOutput::setLabels()
labels_input = labels_playback = labels_raydat_qs; labels_input = labels_playback = labels_raydat_qs;
break; break;
} }
} else { return;
fprintf(stderr, "Unknown card type for output labels\n");
} }
fprintf(stderr, "Unknown card type for output labels, assigning defaults\n");
labels_input = labels_playback = labels_madi_ss;
} }
void HDSPMixerOutput::draw_background() void HDSPMixerOutput::draw_background()