diff options
author | Björn Stenberg <bjorn@haxx.se> | 2002-10-08 15:42:40 +0000 |
---|---|---|
committer | Björn Stenberg <bjorn@haxx.se> | 2002-10-08 15:42:40 +0000 |
commit | dea31222b8318cd992f97cfe81b9c2239233f884 (patch) | |
tree | d7a0d7fcc0b34249322964d55b3cc6f6b2e7d3bd /apps/settings.c | |
parent | b9d6830eddfa460d573f8af2020d17a9431dc056 (diff) | |
download | rockbox-dea31222b8318cd992f97cfe81b9c2239233f884.tar.gz rockbox-dea31222b8318cd992f97cfe81b9c2239233f884.zip |
Added persistence of last .wps, .fnt and .lng file played in /.rockbox
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@2535 a1c6a512-1295-4272-9138-f99709370657
Diffstat (limited to 'apps/settings.c')
-rw-r--r-- | apps/settings.c | 32 |
1 files changed, 31 insertions, 1 deletions
diff --git a/apps/settings.c b/apps/settings.c index 067cc3eae4..f03c1e888b 100644 --- a/apps/settings.c +++ b/apps/settings.c | |||
@@ -45,8 +45,9 @@ | |||
45 | #include "icons.h" | 45 | #include "icons.h" |
46 | #include "font.h" | 46 | #include "font.h" |
47 | #endif | 47 | #endif |
48 | |||
49 | #include "lang.h" | 48 | #include "lang.h" |
49 | #include "language.h" | ||
50 | #include "wps-display.h" | ||
50 | 51 | ||
51 | struct user_settings global_settings; | 52 | struct user_settings global_settings; |
52 | char rockboxdir[] = ROCKBOX_DIR; /* config/font/data file directory */ | 53 | char rockboxdir[] = ROCKBOX_DIR; /* config/font/data file directory */ |
@@ -112,6 +113,9 @@ modified unless the header & checksum test fails. | |||
112 | 113 | ||
113 | Rest of config block, only saved to disk: | 114 | Rest of config block, only saved to disk: |
114 | 115 | ||
116 | 0xB8 (char[20]) WPS file | ||
117 | 0xCC (char[20]) Lang file | ||
118 | 0xE0 (char[20]) Font file | ||
115 | 0xF4 (int) Playlist first index | 119 | 0xF4 (int) Playlist first index |
116 | 0xF8 (int) Playlist shuffle seed | 120 | 0xF8 (int) Playlist shuffle seed |
117 | 0xFC (char[260]) Resume playlist (path/to/dir or path/to/playlist.m3u) | 121 | 0xFC (char[260]) Resume playlist (path/to/dir or path/to/playlist.m3u) |
@@ -313,6 +317,9 @@ int settings_save( void ) | |||
313 | 317 | ||
314 | memcpy(&config_block[0x24], &global_settings.total_uptime, 4); | 318 | memcpy(&config_block[0x24], &global_settings.total_uptime, 4); |
315 | 319 | ||
320 | strncpy(&config_block[0xb8], global_settings.wps_file, MAX_FILENAME); | ||
321 | strncpy(&config_block[0xcc], global_settings.lang_file, MAX_FILENAME); | ||
322 | strncpy(&config_block[0xe0], global_settings.font_file, MAX_FILENAME); | ||
316 | memcpy(&config_block[0xF4], &global_settings.resume_first_index, 4); | 323 | memcpy(&config_block[0xF4], &global_settings.resume_first_index, 4); |
317 | memcpy(&config_block[0xF8], &global_settings.resume_seed, 4); | 324 | memcpy(&config_block[0xF8], &global_settings.resume_seed, 4); |
318 | 325 | ||
@@ -345,6 +352,8 @@ int settings_save( void ) | |||
345 | 352 | ||
346 | void settings_apply(void) | 353 | void settings_apply(void) |
347 | { | 354 | { |
355 | char buf[64]; | ||
356 | |||
348 | mpeg_sound_set(SOUND_BASS, global_settings.bass); | 357 | mpeg_sound_set(SOUND_BASS, global_settings.bass); |
349 | mpeg_sound_set(SOUND_TREBLE, global_settings.treble); | 358 | mpeg_sound_set(SOUND_TREBLE, global_settings.treble); |
350 | mpeg_sound_set(SOUND_BALANCE, global_settings.balance); | 359 | mpeg_sound_set(SOUND_BALANCE, global_settings.balance); |
@@ -367,6 +376,24 @@ void settings_apply(void) | |||
367 | #ifdef HAVE_CHARGE_CTRL | 376 | #ifdef HAVE_CHARGE_CTRL |
368 | charge_restart_level = global_settings.discharge ? CHARGE_RESTART_LO : CHARGE_RESTART_HI; | 377 | charge_restart_level = global_settings.discharge ? CHARGE_RESTART_LO : CHARGE_RESTART_HI; |
369 | #endif | 378 | #endif |
379 | |||
380 | if ( global_settings.wps_file[0] ) { | ||
381 | snprintf(buf, sizeof buf, ROCKBOX_DIR "/%s.wps", | ||
382 | global_settings.wps_file); | ||
383 | wps_load(buf, false); | ||
384 | } | ||
385 | #ifdef HAVE_LCD_BITMAP | ||
386 | if ( global_settings.font_file[0] ) { | ||
387 | snprintf(buf, sizeof buf, ROCKBOX_DIR "/%s.fnt", | ||
388 | global_settings.font_file); | ||
389 | font_load(buf); | ||
390 | } | ||
391 | #endif | ||
392 | if ( global_settings.lang_file[0] ) { | ||
393 | snprintf(buf, sizeof buf, ROCKBOX_DIR "/%s.lng", | ||
394 | global_settings.lang_file); | ||
395 | lang_load(buf); | ||
396 | } | ||
370 | } | 397 | } |
371 | 398 | ||
372 | /* | 399 | /* |
@@ -473,6 +500,9 @@ void settings_load(void) | |||
473 | memcpy(&global_settings.resume_first_index, &config_block[0xF4], 4); | 500 | memcpy(&global_settings.resume_first_index, &config_block[0xF4], 4); |
474 | memcpy(&global_settings.resume_seed, &config_block[0xF8], 4); | 501 | memcpy(&global_settings.resume_seed, &config_block[0xF8], 4); |
475 | 502 | ||
503 | strncpy(global_settings.wps_file, &config_block[0xb8], MAX_FILENAME); | ||
504 | strncpy(global_settings.lang_file, &config_block[0xcc], MAX_FILENAME); | ||
505 | strncpy(global_settings.font_file, &config_block[0xe0], MAX_FILENAME); | ||
476 | strncpy(global_settings.resume_file, &config_block[0xFC], MAX_PATH); | 506 | strncpy(global_settings.resume_file, &config_block[0xFC], MAX_PATH); |
477 | global_settings.resume_file[MAX_PATH]=0; | 507 | global_settings.resume_file[MAX_PATH]=0; |
478 | } | 508 | } |