forked from len0rd/rockbox
The beginnings of loadable EQ's from the tree. Ifdef'd as CUSTOM_EQ
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@2177 a1c6a512-1295-4272-9138-f99709370657
This commit is contained in:
parent
e07a97ed00
commit
e4a27617c0
3 changed files with 93 additions and 0 deletions
|
|
@ -394,6 +394,75 @@ void settings_load(void)
|
||||||
#endif
|
#endif
|
||||||
}
|
}
|
||||||
|
|
||||||
|
#ifdef CUSTOM_EQ
|
||||||
|
/ *
|
||||||
|
* Loads a .eq file
|
||||||
|
* /
|
||||||
|
bool settings_load_eq(char* file)
|
||||||
|
{
|
||||||
|
char buffer[128];
|
||||||
|
char buf_set[16];
|
||||||
|
char buf_val[8];
|
||||||
|
int fd;
|
||||||
|
int i;
|
||||||
|
unsigned int j;
|
||||||
|
int d = 0;
|
||||||
|
int vtype = 0;
|
||||||
|
|
||||||
|
fd = open(file, O_RDONLY);
|
||||||
|
|
||||||
|
if (-1 != fd)
|
||||||
|
{
|
||||||
|
int numread = read(fd, buffer, sizeof(buffer) - 1);
|
||||||
|
|
||||||
|
if (numread > 0) {
|
||||||
|
buffer[numread] = 0;
|
||||||
|
for(i=0;i<numread;i++) {
|
||||||
|
switch(buffer[i]) {
|
||||||
|
case '[':
|
||||||
|
vtype = 1;
|
||||||
|
buf_set[0] = 0;
|
||||||
|
d = 0;
|
||||||
|
break;
|
||||||
|
case ']':
|
||||||
|
vtype = 2;
|
||||||
|
buf_set[d] = 0;
|
||||||
|
buf_val[0] = 0;
|
||||||
|
d = 0;
|
||||||
|
break;
|
||||||
|
case '#':
|
||||||
|
buf_val[d] = 0;
|
||||||
|
vtype = 3;
|
||||||
|
break;
|
||||||
|
default:
|
||||||
|
switch(vtype) {
|
||||||
|
case 1:
|
||||||
|
buf_set[d++] = buffer[i];
|
||||||
|
break;
|
||||||
|
case 2:
|
||||||
|
buf_val[d++] = buffer[i];
|
||||||
|
break;
|
||||||
|
case 3:
|
||||||
|
if(strcasecmp(buf_set,"volume"))
|
||||||
|
{
|
||||||
|
global_settings.volume = 0;
|
||||||
|
for(j=0;j<strlen(buf_val);j++)
|
||||||
|
global_settings.volume = global_settings.volume *
|
||||||
|
10 + (buf_val[j] - '0');
|
||||||
|
}
|
||||||
|
vtype = 0;
|
||||||
|
break;
|
||||||
|
}
|
||||||
|
break;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
close(fd);
|
||||||
|
}
|
||||||
|
return(false);
|
||||||
|
}
|
||||||
|
#endif
|
||||||
|
|
||||||
/*
|
/*
|
||||||
* reset all settings to their default value
|
* reset all settings to their default value
|
||||||
*/
|
*/
|
||||||
|
|
|
||||||
|
|
@ -105,6 +105,8 @@ void settings_load(void);
|
||||||
void settings_reset(void);
|
void settings_reset(void);
|
||||||
void settings_display(void);
|
void settings_display(void);
|
||||||
|
|
||||||
|
bool settings_load_eq(char* file);
|
||||||
|
|
||||||
void set_bool(char* string, bool* variable );
|
void set_bool(char* string, bool* variable );
|
||||||
void set_option(char* string, int* variable, char* options[], int numoptions );
|
void set_option(char* string, int* variable, char* options[], int numoptions );
|
||||||
void set_int(char* string,
|
void set_int(char* string,
|
||||||
|
|
|
||||||
22
apps/tree.c
22
apps/tree.c
|
|
@ -132,6 +132,9 @@ extern unsigned char bitmap_icons_6x8[LastIcon][6];
|
||||||
#define TREE_ATTR_M3U 0x80 /* playlist */
|
#define TREE_ATTR_M3U 0x80 /* playlist */
|
||||||
#define TREE_ATTR_WPS 0x100 /* wps config file */
|
#define TREE_ATTR_WPS 0x100 /* wps config file */
|
||||||
#define TREE_ATTR_MOD 0x200 /* firmware file */
|
#define TREE_ATTR_MOD 0x200 /* firmware file */
|
||||||
|
#ifdef CUSTOM_EQ
|
||||||
|
#define TREE_ATTR_EQ 0x300 /* EQ config file */
|
||||||
|
#endif
|
||||||
#define TREE_ATTR_MASK 0xffd0 /* which bits tree.c uses (above + DIR) */
|
#define TREE_ATTR_MASK 0xffd0 /* which bits tree.c uses (above + DIR) */
|
||||||
|
|
||||||
static int build_playlist(int start_index)
|
static int build_playlist(int start_index)
|
||||||
|
|
@ -239,6 +242,10 @@ static int showdir(char *path, int start)
|
||||||
dptr->attr |= TREE_ATTR_MPA;
|
dptr->attr |= TREE_ATTR_MPA;
|
||||||
else if (!strcasecmp(&entry->d_name[len-4], ".m3u"))
|
else if (!strcasecmp(&entry->d_name[len-4], ".m3u"))
|
||||||
dptr->attr |= TREE_ATTR_M3U;
|
dptr->attr |= TREE_ATTR_M3U;
|
||||||
|
#ifdef CUSTOM_EQ
|
||||||
|
else if (!strcasecmp(&entry->d_name[len-3], ".eq"))
|
||||||
|
dptr->attr |= TREE_ATTR_EQ;
|
||||||
|
#endif
|
||||||
else if (!strcasecmp(&entry->d_name[len-4], ".wps"))
|
else if (!strcasecmp(&entry->d_name[len-4], ".wps"))
|
||||||
dptr->attr |= TREE_ATTR_WPS;
|
dptr->attr |= TREE_ATTR_WPS;
|
||||||
#ifdef HAVE_RECORDER_KEYPAD
|
#ifdef HAVE_RECORDER_KEYPAD
|
||||||
|
|
@ -320,6 +327,12 @@ static int showdir(char *path, int start)
|
||||||
icon_type = Wps;
|
icon_type = Wps;
|
||||||
break;
|
break;
|
||||||
|
|
||||||
|
#ifdef CUSTOM_EQ
|
||||||
|
case TREE_ATTR_EQ:
|
||||||
|
icon_type = Wps;
|
||||||
|
break;
|
||||||
|
#endif
|
||||||
|
|
||||||
case TREE_ATTR_MOD:
|
case TREE_ATTR_MOD:
|
||||||
icon_type = Mod_Ajz;
|
icon_type = Mod_Ajz;
|
||||||
break;
|
break;
|
||||||
|
|
@ -608,6 +621,15 @@ bool dirbrowse(char *root)
|
||||||
restore = true;
|
restore = true;
|
||||||
break;
|
break;
|
||||||
|
|
||||||
|
#ifdef CUSTOM_EQ
|
||||||
|
case TREE_ATTR_EQ:
|
||||||
|
snprintf(buf, sizeof buf, "%s/%s",
|
||||||
|
currdir, file->name);
|
||||||
|
settings_load_eq(buf);
|
||||||
|
restore = true;
|
||||||
|
break;
|
||||||
|
#endif
|
||||||
|
|
||||||
#ifndef SIMULATOR
|
#ifndef SIMULATOR
|
||||||
/* firmware file */
|
/* firmware file */
|
||||||
case TREE_ATTR_MOD:
|
case TREE_ATTR_MOD:
|
||||||
|
|
|
||||||
Loading…
Add table
Add a link
Reference in a new issue