From 92413b739e07d2451abfb95bae42bbbd74e60e15 Mon Sep 17 00:00:00 2001 From: Adrian Knoth Date: Mon, 4 Apr 2011 14:34:29 +0200 Subject: [PATCH] hdspmixer: Recall 1st preset on all cards, not just on the first With the new "store current settings to the virtual 9th preset" before switching cards code, one needs to make sure the actual mixer state is loaded with sane values, either from the preset file or a generic builtin preset. Calling preset_change(1) is sufficient, setting all the required data. However, in case of more than one RME card in the system, one needs to call this function for each card, otherwise, some of the cards store uninitialized data to the 9th preset, resulting in a weird mixer state afterwards. Signed-off-by: Adrian Knoth Signed-off-by: Takashi Iwai --- hdspmixer/src/HDSPMixerWindow.cxx | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/hdspmixer/src/HDSPMixerWindow.cxx b/hdspmixer/src/HDSPMixerWindow.cxx index 7848190..5a7dac0 100644 --- a/hdspmixer/src/HDSPMixerWindow.cxx +++ b/hdspmixer/src/HDSPMixerWindow.cxx @@ -877,9 +877,10 @@ HDSPMixerWindow::HDSPMixerWindow(int x, int y, int w, int h, const char *label, printf("Initializing default presets\n"); i = 0; while (i < MAX_CARDS && cards[i] != NULL) { + current_card = i; restoreDefaults(i++); + inputs->buttons->presets->preset_change(1); } - inputs->buttons->presets->preset_change(1); } Fl::atclose = atclose_cb; Fl::add_handler(handler_cb); -- 2.47.1