Index: apps/recorder/recording.c =================================================================== --- apps/recorder/recording.c (revision 21444) +++ apps/recorder/recording.c (working copy) @@ -363,11 +363,14 @@ HAVE_FMRADIO_REC_(case AUDIO_SRC_FMRADIO:) if (left) global_settings.rec_left_gain += factor; if (right) global_settings.rec_right_gain += factor; + if(right || left) + settings_save(); break; #endif /* LINE, FMRADIO */ #if defined(HAVE_MIC_REC) case AUDIO_SRC_MIC: global_settings.rec_mic_gain += factor; + settings_save(); #endif } } @@ -1343,28 +1346,43 @@ { if(global_settings.rec_mic_gain < sound_max(SOUND_MIC_GAIN)) + { global_settings.rec_mic_gain++; + settings_save(); + } } else #endif /* MIC */ { if(global_settings.rec_left_gain < sound_max(SOUND_LEFT_GAIN)) + { global_settings.rec_left_gain++; + settings_save(); + } if(global_settings.rec_right_gain < sound_max(SOUND_RIGHT_GAIN)) + { global_settings.rec_right_gain++; + settings_save(); + } } break; case ITEM_GAIN_L: if(global_settings.rec_left_gain < sound_max(SOUND_LEFT_GAIN)) + { global_settings.rec_left_gain++; + settings_save(); + } break; case ITEM_GAIN_R: if(global_settings.rec_right_gain < sound_max(SOUND_RIGHT_GAIN)) + { global_settings.rec_right_gain++; + settings_save(); + } break; #ifdef HAVE_AGC case ITEM_AGC_MODE: @@ -1373,11 +1391,13 @@ #ifdef HAVE_MIC_REC if (global_settings.rec_source == AUDIO_SRC_MIC) { global_settings.rec_agc_preset_mic = agc_preset; + settings_save(); agc_maxgain = global_settings.rec_agc_maxgain_mic; } else #endif /* MIC */ { global_settings.rec_agc_preset_line = agc_preset; + settings_save(); agc_maxgain = global_settings.rec_agc_maxgain_line; } break; @@ -1388,6 +1408,7 @@ agc_maxgain = MIN(agc_maxgain + 1, sound_max(SOUND_MIC_GAIN)); global_settings.rec_agc_maxgain_mic = agc_maxgain; + settings_save(); } else #endif /* MIC */ @@ -1395,6 +1416,7 @@ agc_maxgain = MIN(agc_maxgain + 1, sound_max(SOUND_LEFT_GAIN)); global_settings.rec_agc_maxgain_line = agc_maxgain; + settings_save(); } break; #endif /* HAVE_AGC */ @@ -1416,28 +1438,43 @@ { if(global_settings.rec_mic_gain > sound_min(SOUND_MIC_GAIN)) + { global_settings.rec_mic_gain--; + settings_save(); + } } else #endif /* MIC */ { if(global_settings.rec_left_gain > sound_min(SOUND_LEFT_GAIN)) + { global_settings.rec_left_gain--; + settings_save(); + } if(global_settings.rec_right_gain > sound_min(SOUND_RIGHT_GAIN)) + { global_settings.rec_right_gain--; + settings_save(); + } } break; case ITEM_GAIN_L: if(global_settings.rec_left_gain > sound_min(SOUND_LEFT_GAIN)) + { global_settings.rec_left_gain--; + settings_save(); + } break; case ITEM_GAIN_R: if(global_settings.rec_right_gain > sound_min(SOUND_RIGHT_GAIN)) + { global_settings.rec_right_gain--; + settings_save(); + } break; #ifdef HAVE_AGC case ITEM_AGC_MODE: @@ -1446,11 +1483,13 @@ #ifdef HAVE_MIC_REC if (global_settings.rec_source == AUDIO_SRC_MIC) { global_settings.rec_agc_preset_mic = agc_preset; + settings_save(); agc_maxgain = global_settings.rec_agc_maxgain_mic; } else #endif /* MIC */ { global_settings.rec_agc_preset_line = agc_preset; + settings_save(); agc_maxgain = global_settings.rec_agc_maxgain_line; } break; @@ -1461,12 +1500,14 @@ agc_maxgain = MAX(agc_maxgain - 1, sound_min(SOUND_MIC_GAIN)); global_settings.rec_agc_maxgain_mic = agc_maxgain; + settings_save(); } else #endif /* MIC */ { agc_maxgain = MAX(agc_maxgain - 1, sound_min(SOUND_LEFT_GAIN)); global_settings.rec_agc_maxgain_line = agc_maxgain; + settings_save(); } break; #endif /* HAVE_AGC */ @@ -2038,6 +2079,7 @@ global_settings.rec_quality++; if(global_settings.rec_quality > 7) global_settings.rec_quality = 0; + settings_save(); used = true; break; @@ -2046,6 +2088,7 @@ global_settings.rec_frequency++; if(global_settings.rec_frequency > 5) global_settings.rec_frequency = 0; + settings_save(); used = true; break; @@ -2054,6 +2097,7 @@ global_settings.rec_channels++; if(global_settings.rec_channels > 1) global_settings.rec_channels = 0; + settings_save(); used = true; break; @@ -2151,6 +2195,7 @@ global_settings.rec_source++; if(global_settings.rec_source > AUDIO_SRC_MAX) global_settings.rec_source = 0; + settings_save(); used = true; break;