forked from len0rd/rockbox
Philipp's fix .eq loading patch
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@2318 a1c6a512-1295-4272-9138-f99709370657
This commit is contained in:
parent
380ca88d4d
commit
8d47c5c329
2 changed files with 53 additions and 11 deletions
|
|
@ -408,7 +408,7 @@ void settings_load(void)
|
|||
*/
|
||||
bool settings_load_eq(char* file)
|
||||
{
|
||||
char buffer[128];
|
||||
char buffer[512];
|
||||
char buf_set[16];
|
||||
char buf_disp[16];
|
||||
char buf_val[8];
|
||||
|
|
@ -417,8 +417,10 @@ bool settings_load_eq(char* file)
|
|||
int i;
|
||||
int d = 0;
|
||||
int vtype = 0;
|
||||
int line = 0;
|
||||
|
||||
|
||||
lcd_clear_display();
|
||||
fd = open(file, O_RDONLY);
|
||||
|
||||
if (-1 != fd)
|
||||
|
|
@ -453,10 +455,9 @@ bool settings_load_eq(char* file)
|
|||
buf_val[d++] = buffer[i];
|
||||
break;
|
||||
case 3:
|
||||
lcd_clear_display();
|
||||
snprintf(buf_disp,sizeof(buf_disp),"[%s]", buf_set);
|
||||
lcd_puts(0,0,buf_disp);
|
||||
lcd_puts(0,1,buf_val);
|
||||
snprintf(buf_disp,sizeof(buf_disp),"[%s]%s", buf_set, buf_val);
|
||||
lcd_puts(0,line++ % 6,buf_disp);
|
||||
lcd_update();
|
||||
sleep(HZ/2);
|
||||
if (!strcasecmp(buf_set,"volume")) {
|
||||
global_settings.volume = (atoi(buf_val)/2);
|
||||
|
|
@ -465,6 +466,8 @@ bool settings_load_eq(char* file)
|
|||
global_settings.volume = mpeg_sound_default(SOUND_VOLUME);
|
||||
syntax_error = true;
|
||||
}
|
||||
mpeg_sound_set(SOUND_VOLUME, global_settings.volume);
|
||||
|
||||
} else
|
||||
if (!strcasecmp(buf_set,"bass")) {
|
||||
if (buf_val[0] == '-')
|
||||
|
|
@ -476,6 +479,7 @@ bool settings_load_eq(char* file)
|
|||
global_settings.bass = mpeg_sound_default(SOUND_BASS);
|
||||
syntax_error = true;
|
||||
}
|
||||
mpeg_sound_set(SOUND_BASS, global_settings.bass);
|
||||
} else
|
||||
if (!strcasecmp(buf_set,"treble")) {
|
||||
if (buf_val[0] == '-')
|
||||
|
|
@ -487,22 +491,60 @@ bool settings_load_eq(char* file)
|
|||
global_settings.treble = mpeg_sound_default(SOUND_TREBLE);
|
||||
syntax_error = true;
|
||||
}
|
||||
mpeg_sound_set(SOUND_TREBLE, global_settings.treble);
|
||||
} else
|
||||
if (!strcasecmp(buf_set,"balance")) {
|
||||
if (buf_val[0] == '-')
|
||||
global_settings.balance = ((mpeg_sound_max(SOUND_BALANCE)/2)-(atoi(buf_val+1)/2));
|
||||
global_settings.balance = -(atoi(buf_val+1)/2);
|
||||
else
|
||||
global_settings.balance = ((atoi(buf_val)/2)+(mpeg_sound_max(SOUND_BALANCE)/2));
|
||||
global_settings.balance = ((atoi(buf_val)/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;
|
||||
}
|
||||
mpeg_sound_set(SOUND_BALANCE, global_settings.balance);
|
||||
} else
|
||||
if (!strcasecmp(buf_set,"channels")) {
|
||||
global_settings.channel_config = atoi(buf_val);
|
||||
if (global_settings.channel_config > mpeg_sound_max(SOUND_CHANNELS) ||
|
||||
global_settings.channel_config < mpeg_sound_min(SOUND_CHANNELS)) {
|
||||
global_settings.channel_config = mpeg_sound_default(SOUND_CHANNELS);
|
||||
syntax_error = true;
|
||||
}
|
||||
mpeg_sound_set(SOUND_CHANNELS, global_settings.channel_config);
|
||||
} else
|
||||
if (!strcasecmp(buf_set,"loudness")) {
|
||||
global_settings.loudness = atoi(buf_val);
|
||||
if(global_settings.loudness > mpeg_sound_max(SOUND_LOUDNESS) ||
|
||||
global_settings.loudness < mpeg_sound_min(SOUND_LOUDNESS)) {
|
||||
global_settings.loudness = mpeg_sound_default(SOUND_LOUDNESS);
|
||||
syntax_error = true;
|
||||
}
|
||||
mpeg_sound_set(SOUND_LOUDNESS, global_settings.loudness);
|
||||
} else
|
||||
if (!strcasecmp(buf_set,"bass boost")) {
|
||||
global_settings.bass_boost = (atoi(buf_val)/10);
|
||||
if(global_settings.bass_boost > mpeg_sound_max(SOUND_SUPERBASS) ||
|
||||
global_settings.bass_boost < mpeg_sound_min(SOUND_SUPERBASS)) {
|
||||
global_settings.bass_boost = mpeg_sound_default(SOUND_SUPERBASS);
|
||||
syntax_error = true;
|
||||
}
|
||||
mpeg_sound_set(SOUND_SUPERBASS, global_settings.bass_boost);
|
||||
} else if (!strcasecmp(buf_set,"auto volume")) {
|
||||
global_settings.avc = atoi(buf_val);
|
||||
if (global_settings.avc > mpeg_sound_max(SOUND_AVC) ||
|
||||
global_settings.avc < mpeg_sound_min(SOUND_AVC)) {
|
||||
global_settings.avc = mpeg_sound_default(SOUND_AVC);
|
||||
syntax_error = true;
|
||||
}
|
||||
mpeg_sound_set(SOUND_AVC, global_settings.avc);
|
||||
}
|
||||
if (syntax_error) {
|
||||
lcd_clear_display();
|
||||
lcd_puts(0,0,"SyntaxError");
|
||||
lcd_puts(0,1,buf_set);
|
||||
lcd_puts(0,1,"SyntaxError");
|
||||
lcd_puts(0,2,buf_set);
|
||||
lcd_update();
|
||||
sleep(HZ);
|
||||
syntax_error = false;
|
||||
}
|
||||
|
|
|
|||
|
|
@ -91,7 +91,7 @@ static int minval[] =
|
|||
-50, /* Balance */
|
||||
0, /* Loudness */
|
||||
0, /* Bass boost */
|
||||
0, /* AVC */
|
||||
-1, /* AVC */
|
||||
0 /* Channels */
|
||||
};
|
||||
|
||||
|
|
@ -108,7 +108,7 @@ static int maxval[] =
|
|||
50, /* Balance */
|
||||
17, /* Loudness */
|
||||
10, /* Bass boost */
|
||||
0, /* AVC */
|
||||
3, /* AVC */
|
||||
3 /* Channels */
|
||||
};
|
||||
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue