diff options
| author | Justin Heiner <jheiner@rockbox.org> | 2002-09-06 06:02:02 +0000 |
|---|---|---|
| committer | Justin Heiner <jheiner@rockbox.org> | 2002-09-06 06:02:02 +0000 |
| commit | 4bd90cc2ca23561dcafa1204b664007cab3cefb1 (patch) | |
| tree | f6967d86b06e7c08594b21b9755083eec8bd70f7 /apps/settings.c | |
| parent | 221c4a250d99836ff288edfa535cddc5473f2a75 (diff) | |
| download | rockbox-4bd90cc2ca23561dcafa1204b664007cab3cefb1.zip rockbox-4bd90cc2ca23561dcafa1204b664007cab3cefb1.tar.gz rockbox-4bd90cc2ca23561dcafa1204b664007cab3cefb1.tar.bz2 rockbox-4bd90cc2ca23561dcafa1204b664007cab3cefb1.tar.xz | |
Custom EQ files can now be loaded (*.eq). Docs coming soon :)
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@2197 a1c6a512-1295-4272-9138-f99709370657
Diffstat (limited to 'apps/settings.c')
| -rw-r--r-- | apps/settings.c | 44 |
1 files changed, 35 insertions, 9 deletions
diff --git a/apps/settings.c b/apps/settings.c index 58f393d..14a4a35 100644 --- a/apps/settings.c +++ b/apps/settings.c @@ -395,7 +395,6 @@ void settings_load(void) #endif } -#ifdef CUSTOM_EQ /* * Loads a .eq file */ @@ -405,6 +404,7 @@ bool settings_load_eq(char* file) char buf_set[16]; char buf_disp[16]; char buf_val[8]; + bool syntax_error = false; int fd; int i; int d = 0; @@ -452,24 +452,51 @@ bool settings_load_eq(char* file) sleep(HZ/2); if (!strcasecmp(buf_set,"volume")) { global_settings.volume = (atoi(buf_val)/2); + if(global_settings.volume > mpeg_sound_max(SOUND_VOLUME) || + global_settings.volume < mpeg_sound_min(SOUND_VOLUME)) { + global_settings.volume = mpeg_sound_default(SOUND_VOLUME); + syntax_error = true; + } } else if (!strcasecmp(buf_set,"bass")) { if (buf_val[0] == '-') - global_settings.bass = mpeg_val2phys(SOUND_BASS,(15-atoi(buf_val+1))); + global_settings.bass = ((mpeg_sound_max(SOUND_BASS)/2)-atoi(buf_val+1)); else - global_settings.bass = mpeg_val2phys(SOUND_BASS,(atoi(buf_val)+15)); + global_settings.bass = (atoi(buf_val)+(mpeg_sound_max(SOUND_BASS)/2)); + if (global_settings.bass > mpeg_sound_max(SOUND_BASS) || + global_settings.bass < mpeg_sound_min(SOUND_BASS)) { + global_settings.bass = mpeg_sound_default(SOUND_BASS); + syntax_error = true; + } } else if (!strcasecmp(buf_set,"treble")) { if (buf_val[0] == '-') - global_settings.treble = (15-atoi(buf_val+1)); + global_settings.treble = ((mpeg_sound_max(SOUND_TREBLE)/2)-atoi(buf_val+1)); else - global_settings.treble = (atoi(buf_val)+15); - } + global_settings.treble = (atoi(buf_val)+(mpeg_sound_max(SOUND_TREBLE)/2)); + if (global_settings.treble > mpeg_sound_max(SOUND_TREBLE) || + global_settings.treble < mpeg_sound_min(SOUND_TREBLE)) { + global_settings.treble = mpeg_sound_default(SOUND_TREBLE); + syntax_error = true; + } + } else if (!strcasecmp(buf_set,"balance")) { if (buf_val[0] == '-') - global_settings.balance = (25-(atoi(buf_val+1)/2)); + global_settings.balance = ((mpeg_sound_max(SOUND_BALANCE)/2)-(atoi(buf_val+1)/2)); else - global_settings.balance = ((atoi(buf_val)/2)+25); + global_settings.balance = ((atoi(buf_val)/2)+(mpeg_sound_max(SOUND_BALANCE)/2)); + if (global_settings.balance > mpeg_sound_max(SOUND_BALANCE) || + global_settings.balance < mpeg_sound_min(SOUND_BALANCE)) { + global_settings.balance = mpeg_sound_default(SOUND_BALANCE); + syntax_error = true; + } + } + if (syntax_error) { + lcd_clear_display(); + lcd_puts(0,0,"SyntaxError"); + lcd_puts(0,1,buf_set); + sleep(HZ); + syntax_error = false; } vtype = 0; break; @@ -482,7 +509,6 @@ bool settings_load_eq(char* file) } return(false); } -#endif /* * reset all settings to their default value |