diff options
| author | Linus Nielsen Feltzing <linus@haxx.se> | 2002-09-27 09:31:31 +0000 |
|---|---|---|
| committer | Linus Nielsen Feltzing <linus@haxx.se> | 2002-09-27 09:31:31 +0000 |
| commit | bb572c44121e48d9d54411dff9e0f8dce015e550 (patch) | |
| tree | a91d8c8e9e5675c9b5039ddc8108f81f55fc4f49 /apps/settings.c | |
| parent | acfacd938cfa878aeb69410532b2de58698f703a (diff) | |
| download | rockbox-bb572c44121e48d9d54411dff9e0f8dce015e550.zip rockbox-bb572c44121e48d9d54411dff9e0f8dce015e550.tar.gz rockbox-bb572c44121e48d9d54411dff9e0f8dce015e550.tar.bz2 rockbox-bb572c44121e48d9d54411dff9e0f8dce015e550.tar.xz | |
Philip Pertermanns peak meter
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@2436 a1c6a512-1295-4272-9138-f99709370657
Diffstat (limited to 'apps/settings.c')
| -rw-r--r-- | apps/settings.c | 27 |
1 files changed, 26 insertions, 1 deletions
diff --git a/apps/settings.c b/apps/settings.c index 31d4f1a..1b4f864 100644 --- a/apps/settings.c +++ b/apps/settings.c @@ -53,6 +53,12 @@ char rockboxdir[] = ROCKBOX_DIR; /* config/font/data file directory */ #define CONFIG_BLOCK_SIZE 512 #define RTC_BLOCK_SIZE 44 +#ifdef HAVE_LCD_BITMAP +#define MAX_LINES 10 +#else +#define MAX_LINES 2 +#endif + /******************************************** Config block as saved on the battery-packed RTC user RAM memory block @@ -80,6 +86,9 @@ offset abs 0x16 0x2a <(int) Byte offset into resume file> 0x1a 0x2e <time until disk spindown> 0x1b 0x2f <browse current, play selected> +0x1c 0x30 <peak meter hold timeout (bit 0-4)> +0x1d 0x31 <peak meter clip hold timeout (bit 0-4)> +0x1e 0x32 <peak meter release step size> <all unused space filled with 0xff> @@ -290,6 +299,10 @@ int settings_save( void ) (((global_settings.browse_current & 1)) | ((global_settings.play_selected & 1) << 1)); + config_block[0x1c] = (unsigned char)global_settings.peak_meter_hold; + config_block[0x1d] = (unsigned char)global_settings.peak_meter_clip_hold; + config_block[0x1e] = (unsigned char)global_settings.peak_meter_release; + memcpy(&config_block[0xF8], &global_settings.resume_seed, 4); memcpy(&config_block[0x24], &global_settings.total_uptime, 4); @@ -400,6 +413,15 @@ void settings_load(void) global_settings.play_selected = (config_block[0x1b] >> 1) & 1; } + if (config_block[0x1c] != 0xFF) + global_settings.peak_meter_hold = (config_block[0x1c]) & 0x1f; + + if (config_block[0x1d] != 0xFF) + global_settings.peak_meter_clip_hold = (config_block[0x1d]) & 0x1f; + + if (config_block[0x1e] != 0xFF) + global_settings.peak_meter_release = config_block[0x1e]; + memcpy(&global_settings.resume_seed, &config_block[0xF8], 4); if (config_block[0x24] != 0xFF) @@ -471,7 +493,7 @@ bool settings_load_eq(char* file) break; case 3: snprintf(buf_disp,sizeof(buf_disp),"[%s]%s", buf_set, buf_val); - lcd_puts(0,line++ % 6,buf_disp); + lcd_puts(0,line++ % MAX_LINES, buf_disp); lcd_update(); sleep(HZ/2); if (!strcasecmp(buf_set,"volume")) { @@ -610,6 +632,9 @@ void settings_reset(void) { global_settings.disk_spindown = 5; global_settings.browse_current = false; global_settings.play_selected = true; + global_settings.peak_meter_release = 8; + global_settings.peak_meter_hold = 1; + global_settings.peak_meter_clip_hold = 16; } |