summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorLinus Nielsen Feltzing <linus@haxx.se>2002-10-03 09:31:01 +0000
committerLinus Nielsen Feltzing <linus@haxx.se>2002-10-03 09:31:01 +0000
commit40ffbb1a89a5e75e7d79c87d3eee960fe17eba55 (patch)
treeefd38dc5982a80fefe83b1448727865252bdbafc
parent2eda5385d35d5bb9a1821eab41865392a50feb48 (diff)
downloadrockbox-40ffbb1a89a5e75e7d79c87d3eee960fe17eba55.tar.gz
rockbox-40ffbb1a89a5e75e7d79c87d3eee960fe17eba55.zip
Resetting settings in the menu now applies the settings as well
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@2486 a1c6a512-1295-4272-9138-f99709370657
-rw-r--r--apps/settings.c39
-rw-r--r--apps/settings.h1
-rw-r--r--apps/settings_menu.c1
-rw-r--r--firmware/mpeg.c7
4 files changed, 37 insertions, 11 deletions
diff --git a/apps/settings.c b/apps/settings.c
index e93411a8a2..2667df743b 100644
--- a/apps/settings.c
+++ b/apps/settings.c
@@ -344,6 +344,32 @@ int settings_save( void )
344 return 0; 344 return 0;
345} 345}
346 346
347void settings_apply(void)
348{
349 mpeg_sound_set(SOUND_BASS, global_settings.bass);
350 mpeg_sound_set(SOUND_TREBLE, global_settings.treble);
351 mpeg_sound_set(SOUND_BALANCE, global_settings.balance);
352 mpeg_sound_set(SOUND_VOLUME, global_settings.volume);
353
354#ifdef HAVE_MAS3587F
355 mpeg_sound_set(SOUND_LOUDNESS, global_settings.loudness);
356 mpeg_sound_set(SOUND_SUPERBASS, global_settings.bass_boost);
357 mpeg_sound_set(SOUND_AVC, global_settings.avc);
358#endif
359
360 lcd_set_contrast(global_settings.contrast);
361 lcd_scroll_speed(global_settings.scroll_speed);
362 backlight_set_timeout(global_settings.backlight_timeout);
363#ifdef HAVE_CHARGE_CTRL
364 backlight_set_on_when_charging(global_settings.backlight_on_when_charging);
365#endif
366 ata_spindown(global_settings.disk_spindown);
367 set_poweroff_timeout(global_settings.poweroff);
368#ifdef HAVE_CHARGE_CTRL
369 charge_restart_level = global_settings.discharge ? CHARGE_RESTART_LO : CHARGE_RESTART_HI;
370#endif
371}
372
347/* 373/*
348 * load settings from disk or RTC RAM 374 * load settings from disk or RTC RAM
349 */ 375 */
@@ -448,17 +474,8 @@ void settings_load(void)
448 strncpy(global_settings.resume_file, &config_block[0xFC], MAX_PATH); 474 strncpy(global_settings.resume_file, &config_block[0xFC], MAX_PATH);
449 global_settings.resume_file[MAX_PATH]=0; 475 global_settings.resume_file[MAX_PATH]=0;
450 } 476 }
451 lcd_set_contrast(global_settings.contrast); 477
452 lcd_scroll_speed(global_settings.scroll_speed); 478 settings_apply();
453 backlight_set_timeout(global_settings.backlight_timeout);
454#ifdef HAVE_CHARGE_CTRL
455 backlight_set_on_when_charging(global_settings.backlight_on_when_charging);
456#endif
457 ata_spindown(global_settings.disk_spindown);
458 set_poweroff_timeout(global_settings.poweroff);
459#ifdef HAVE_CHARGE_CTRL
460 charge_restart_level = global_settings.discharge ? CHARGE_RESTART_LO : CHARGE_RESTART_HI;
461#endif
462} 479}
463 480
464static int read_line(int fd, char* buffer, int buffer_size) 481static int read_line(int fd, char* buffer, int buffer_size)
diff --git a/apps/settings.h b/apps/settings.h
index 437f0937dd..35c345aaad 100644
--- a/apps/settings.h
+++ b/apps/settings.h
@@ -110,6 +110,7 @@ struct user_settings
110int settings_save(void); 110int settings_save(void);
111void settings_load(void); 111void settings_load(void);
112void settings_reset(void); 112void settings_reset(void);
113void settings_apply(void);
113void settings_display(void); 114void settings_display(void);
114 115
115bool settings_load_eq(char* file); 116bool settings_load_eq(char* file);
diff --git a/apps/settings_menu.c b/apps/settings_menu.c
index 3b83e18fe4..9b18a11493 100644
--- a/apps/settings_menu.c
+++ b/apps/settings_menu.c
@@ -345,6 +345,7 @@ static bool reset_settings(void)
345 button = button_get(true); 345 button = button_get(true);
346 if (button == BUTTON_PLAY) { 346 if (button == BUTTON_PLAY) {
347 settings_reset(); 347 settings_reset();
348 settings_apply();
348 lcd_clear_display(); 349 lcd_clear_display();
349 lcd_puts(0,0,str(LANG_RESET_DONE_SETTING)); 350 lcd_puts(0,0,str(LANG_RESET_DONE_SETTING));
350 lcd_puts(0,1,str(LANG_RESET_DONE_CLEAR)); 351 lcd_puts(0,1,str(LANG_RESET_DONE_CLEAR));
diff --git a/firmware/mpeg.c b/firmware/mpeg.c
index 61a8fc8208..d7c360550a 100644
--- a/firmware/mpeg.c
+++ b/firmware/mpeg.c
@@ -170,6 +170,7 @@ static struct id3tag _id3tags[MAX_ID3_TAGS];
170 170
171static unsigned int current_track_counter = 0; 171static unsigned int current_track_counter = 0;
172static unsigned int last_track_counter = 0; 172static unsigned int last_track_counter = 0;
173static bool mpeg_is_initialized = false;
173 174
174#ifndef SIMULATOR 175#ifndef SIMULATOR
175 176
@@ -1601,6 +1602,9 @@ void mpeg_sound_set(int setting, int value)
1601#else 1602#else
1602 int tmp; 1603 int tmp;
1603#endif 1604#endif
1605
1606 if(!mpeg_is_initialized)
1607 return;
1604 1608
1605 switch(setting) 1609 switch(setting)
1606 { 1610 {
@@ -2013,6 +2017,9 @@ void mpeg_init(int volume, int bass, int treble, int balance, int loudness, int
2013 mpeg_sound_channel_config(MPEG_SOUND_STEREO); 2017 mpeg_sound_channel_config(MPEG_SOUND_STEREO);
2014 2018
2015#endif 2019#endif
2020
2021 /* Must be done before calling mpeg_sound_set() */
2022 mpeg_is_initialized = true;
2016 2023
2017 mpeg_sound_set(SOUND_BASS, bass); 2024 mpeg_sound_set(SOUND_BASS, bass);
2018 mpeg_sound_set(SOUND_TREBLE, treble); 2025 mpeg_sound_set(SOUND_TREBLE, treble);