forked from len0rd/rockbox
Fixed associate problem with file extensions (.info files matched .nfo extension)
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@7456 a1c6a512-1295-4272-9138-f99709370657
This commit is contained in:
parent
acf14e0569
commit
b2473d58ab
14 changed files with 50 additions and 49 deletions
|
@ -240,7 +240,7 @@ int ft_load(struct tree_context* c, const char* tempdir)
|
||||||
dptr->attr = entry->attribute;
|
dptr->attr = entry->attribute;
|
||||||
|
|
||||||
/* check for known file types */
|
/* check for known file types */
|
||||||
if ( !(dptr->attr & ATTR_DIRECTORY) && (len > 4) )
|
if ( !(dptr->attr & ATTR_DIRECTORY) )
|
||||||
dptr->attr |= filetype_get_attr(entry->d_name);
|
dptr->attr |= filetype_get_attr(entry->d_name);
|
||||||
|
|
||||||
#ifdef BOOTFILE
|
#ifdef BOOTFILE
|
||||||
|
|
|
@ -209,17 +209,18 @@ bool filetype_supported(int attr)
|
||||||
}
|
}
|
||||||
|
|
||||||
/* get the "dynamic" attribute for an extension */
|
/* get the "dynamic" attribute for an extension */
|
||||||
int filetype_get_attr(const char* name)
|
int filetype_get_attr(char* name)
|
||||||
{
|
{
|
||||||
int i;
|
int i;
|
||||||
|
char *cp;
|
||||||
|
|
||||||
for (i=0; i < cnt_exttypes; i++)
|
for (i=0; i < cnt_exttypes; i++)
|
||||||
{
|
{
|
||||||
if (exttypes[i].extension)
|
if (exttypes[i].extension)
|
||||||
{
|
{
|
||||||
if (!strcasecmp(&name[strlen(name)-
|
cp=strrchr(name,'.');
|
||||||
strlen(exttypes[i].extension)],
|
if (cp) cp++;
|
||||||
exttypes[i].extension))
|
if ((!strcasecmp(cp,exttypes[i].extension)) && (cp))
|
||||||
{
|
{
|
||||||
return ((((unsigned long)exttypes[i].type -
|
return ((((unsigned long)exttypes[i].type -
|
||||||
(unsigned long)&filetypes[0]) /
|
(unsigned long)&filetypes[0]) /
|
||||||
|
|
|
@ -23,7 +23,7 @@
|
||||||
#include <tree.h>
|
#include <tree.h>
|
||||||
#include <menu.h>
|
#include <menu.h>
|
||||||
|
|
||||||
int filetype_get_attr(const char*);
|
int filetype_get_attr(char*);
|
||||||
#ifdef HAVE_LCD_BITMAP
|
#ifdef HAVE_LCD_BITMAP
|
||||||
const char* filetype_get_icon(int);
|
const char* filetype_get_icon(int);
|
||||||
#else
|
#else
|
||||||
|
|
46
apps/tree.c
46
apps/tree.c
|
@ -68,30 +68,30 @@
|
||||||
|
|
||||||
/* a table for the know file types */
|
/* a table for the know file types */
|
||||||
const struct filetype filetypes[] = {
|
const struct filetype filetypes[] = {
|
||||||
{ ".mp3", TREE_ATTR_MPA, Icon_Audio, VOICE_EXT_MPA },
|
{ "mp3", TREE_ATTR_MPA, Icon_Audio, VOICE_EXT_MPA },
|
||||||
{ ".mp2", TREE_ATTR_MPA, Icon_Audio, VOICE_EXT_MPA },
|
{ "mp2", TREE_ATTR_MPA, Icon_Audio, VOICE_EXT_MPA },
|
||||||
{ ".mpa", TREE_ATTR_MPA, Icon_Audio, VOICE_EXT_MPA },
|
{ "mpa", TREE_ATTR_MPA, Icon_Audio, VOICE_EXT_MPA },
|
||||||
#if CONFIG_CODEC == SWCODEC
|
#if CONFIG_CODEC == SWCODEC
|
||||||
/* Temporary hack to allow playlist creation */
|
/* Temporary hack to allow playlist creation */
|
||||||
{ ".mp1", TREE_ATTR_MPA, Icon_Audio, VOICE_EXT_MPA },
|
{ "mp1", TREE_ATTR_MPA, Icon_Audio, VOICE_EXT_MPA },
|
||||||
{ ".ogg", TREE_ATTR_MPA, Icon_Audio, VOICE_EXT_MPA },
|
{ "ogg", TREE_ATTR_MPA, Icon_Audio, VOICE_EXT_MPA },
|
||||||
{ ".wma", TREE_ATTR_MPA, Icon_Audio, VOICE_EXT_MPA },
|
{ "wma", TREE_ATTR_MPA, Icon_Audio, VOICE_EXT_MPA },
|
||||||
{ ".wav", TREE_ATTR_MPA, Icon_Audio, VOICE_EXT_MPA },
|
{ "wav", TREE_ATTR_MPA, Icon_Audio, VOICE_EXT_MPA },
|
||||||
{ ".flac", TREE_ATTR_MPA, Icon_Audio, VOICE_EXT_MPA },
|
{ "flac", TREE_ATTR_MPA, Icon_Audio, VOICE_EXT_MPA },
|
||||||
{ ".ac3", TREE_ATTR_MPA, Icon_Audio, VOICE_EXT_MPA },
|
{ "ac3", TREE_ATTR_MPA, Icon_Audio, VOICE_EXT_MPA },
|
||||||
{ ".a52", TREE_ATTR_MPA, Icon_Audio, VOICE_EXT_MPA },
|
{ "a52", TREE_ATTR_MPA, Icon_Audio, VOICE_EXT_MPA },
|
||||||
{ ".mpc", TREE_ATTR_MPA, Icon_Audio, VOICE_EXT_MPA },
|
{ "mpc", TREE_ATTR_MPA, Icon_Audio, VOICE_EXT_MPA },
|
||||||
{ ".wv", TREE_ATTR_MPA, Icon_Audio, VOICE_EXT_MPA },
|
{ "wv", TREE_ATTR_MPA, Icon_Audio, VOICE_EXT_MPA },
|
||||||
#endif
|
#endif
|
||||||
{ ".m3u", TREE_ATTR_M3U, Icon_Playlist, LANG_PLAYLIST },
|
{ "m3u", TREE_ATTR_M3U, Icon_Playlist, LANG_PLAYLIST },
|
||||||
{ ".cfg", TREE_ATTR_CFG, Icon_Config, VOICE_EXT_CFG },
|
{ "cfg", TREE_ATTR_CFG, Icon_Config, VOICE_EXT_CFG },
|
||||||
{ ".wps", TREE_ATTR_WPS, Icon_Wps, VOICE_EXT_WPS },
|
{ "wps", TREE_ATTR_WPS, Icon_Wps, VOICE_EXT_WPS },
|
||||||
{ ".lng", TREE_ATTR_LNG, Icon_Language, LANG_LANGUAGE },
|
{ "lng", TREE_ATTR_LNG, Icon_Language, LANG_LANGUAGE },
|
||||||
{ ".rock",TREE_ATTR_ROCK,Icon_Plugin, VOICE_EXT_ROCK },
|
{ "rock",TREE_ATTR_ROCK,Icon_Plugin, VOICE_EXT_ROCK },
|
||||||
#ifdef HAVE_LCD_BITMAP
|
#ifdef HAVE_LCD_BITMAP
|
||||||
{ ".fnt", TREE_ATTR_FONT,Icon_Font, VOICE_EXT_FONT },
|
{ "fnt", TREE_ATTR_FONT,Icon_Font, VOICE_EXT_FONT },
|
||||||
#endif
|
#endif
|
||||||
{ ".bmark",TREE_ATTR_BMARK, Icon_Bookmark, VOICE_EXT_BMARK },
|
{ "bmark",TREE_ATTR_BMARK, Icon_Bookmark, VOICE_EXT_BMARK },
|
||||||
#ifdef BOOTFILE_EXT
|
#ifdef BOOTFILE_EXT
|
||||||
{ BOOTFILE_EXT, TREE_ATTR_MOD, Icon_Firmware, VOICE_EXT_AJZ },
|
{ BOOTFILE_EXT, TREE_ATTR_MOD, Icon_Firmware, VOICE_EXT_AJZ },
|
||||||
#endif /* #ifndef SIMULATOR */
|
#endif /* #ifndef SIMULATOR */
|
||||||
|
@ -1375,15 +1375,15 @@ static bool add_dir(char* dirname, int len, int fd)
|
||||||
}
|
}
|
||||||
else {
|
else {
|
||||||
int x = strlen(entry->d_name);
|
int x = strlen(entry->d_name);
|
||||||
int xl;
|
|
||||||
unsigned int i;
|
unsigned int i;
|
||||||
|
char *cp;
|
||||||
|
|
||||||
/* add all supported audio files to playlists */
|
/* add all supported audio files to playlists */
|
||||||
for (i=0; i < sizeof(filetypes); i++) {
|
for (i=0; i < sizeof(filetypes); i++) {
|
||||||
if (filetypes[i].tree_attr == TREE_ATTR_MPA) {
|
if (filetypes[i].tree_attr == TREE_ATTR_MPA) {
|
||||||
xl=strlen(filetypes[i].extension);
|
cp=strrchr(entry->d_name,'.');
|
||||||
if (!strcasecmp(&entry->d_name[x-xl],
|
if (cp) cp++;
|
||||||
filetypes[i].extension))
|
if ((!strcasecmp(cp,filetypes[i].extension)) && (cp))
|
||||||
{
|
{
|
||||||
char buf[8];
|
char buf[8];
|
||||||
write(fd, dirname, strlen(dirname));
|
write(fd, dirname, strlen(dirname));
|
||||||
|
|
|
@ -88,7 +88,7 @@
|
||||||
|
|
||||||
#define CONFIG_LCD LCD_SSD1815
|
#define CONFIG_LCD LCD_SSD1815
|
||||||
|
|
||||||
#define BOOTFILE_EXT ".ajz"
|
#define BOOTFILE_EXT "ajz"
|
||||||
#define BOOTFILE "ajbrec" BOOTFILE_EXT
|
#define BOOTFILE "ajbrec." BOOTFILE_EXT
|
||||||
|
|
||||||
#endif /* SIMULATOR */
|
#endif /* SIMULATOR */
|
||||||
|
|
|
@ -94,8 +94,8 @@
|
||||||
/* Define this if you have adjustable CPU frequency */
|
/* Define this if you have adjustable CPU frequency */
|
||||||
#define HAVE_ADJUSTABLE_CPU_FREQ
|
#define HAVE_ADJUSTABLE_CPU_FREQ
|
||||||
|
|
||||||
#define BOOTFILE_EXT ".iriver"
|
#define BOOTFILE_EXT "iriver"
|
||||||
#define BOOTFILE "rockbox" BOOTFILE_EXT
|
#define BOOTFILE "rockbox." BOOTFILE_EXT
|
||||||
|
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
|
|
|
@ -90,8 +90,8 @@
|
||||||
/* Define this if you have adjustable CPU frequency */
|
/* Define this if you have adjustable CPU frequency */
|
||||||
#define HAVE_ADJUSTABLE_CPU_FREQ
|
#define HAVE_ADJUSTABLE_CPU_FREQ
|
||||||
|
|
||||||
#define BOOTFILE_EXT ".iriver"
|
#define BOOTFILE_EXT "iriver"
|
||||||
#define BOOTFILE "rockbox" BOOTFILE_EXT
|
#define BOOTFILE "rockbox." BOOTFILE_EXT
|
||||||
|
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
|
|
|
@ -85,8 +85,8 @@
|
||||||
/* Define this if you have adjustable CPU frequency */
|
/* Define this if you have adjustable CPU frequency */
|
||||||
#define HAVE_ADJUSTABLE_CPU_FREQ
|
#define HAVE_ADJUSTABLE_CPU_FREQ
|
||||||
|
|
||||||
#define BOOTFILE_EXT ".iriver"
|
#define BOOTFILE_EXT "iriver"
|
||||||
#define BOOTFILE "rockbox" BOOTFILE_EXT
|
#define BOOTFILE "rockbox." BOOTFILE_EXT
|
||||||
|
|
||||||
/* Define this if you can control the S/PDIF power */
|
/* Define this if you can control the S/PDIF power */
|
||||||
#define HAVE_SPDIF_POWER
|
#define HAVE_SPDIF_POWER
|
||||||
|
|
|
@ -77,7 +77,7 @@
|
||||||
/* Define this if you have adjustable CPU frequency */
|
/* Define this if you have adjustable CPU frequency */
|
||||||
#define HAVE_ADJUSTABLE_CPU_FREQ
|
#define HAVE_ADJUSTABLE_CPU_FREQ
|
||||||
|
|
||||||
#define BOOTFILE_EXT ".iaudio"
|
#define BOOTFILE_EXT "iaudio"
|
||||||
#define BOOTFILE "rockbox" BOOTFILE_EXT
|
#define BOOTFILE "rockbox." BOOTFILE_EXT
|
||||||
|
|
||||||
#endif
|
#endif
|
||||||
|
|
|
@ -99,7 +99,7 @@
|
||||||
/* define this if the unit can be powered or charged via USB */
|
/* define this if the unit can be powered or charged via USB */
|
||||||
#define HAVE_USB_POWER
|
#define HAVE_USB_POWER
|
||||||
|
|
||||||
#define BOOTFILE_EXT ".ajz"
|
#define BOOTFILE_EXT "ajz"
|
||||||
#define BOOTFILE "ajbrec" BOOTFILE_EXT
|
#define BOOTFILE "ajbrec." BOOTFILE_EXT
|
||||||
|
|
||||||
#endif /* SIMULATOR */
|
#endif /* SIMULATOR */
|
||||||
|
|
|
@ -86,7 +86,7 @@
|
||||||
/* define this if the unit can be powered or charged via USB */
|
/* define this if the unit can be powered or charged via USB */
|
||||||
#define HAVE_USB_POWER
|
#define HAVE_USB_POWER
|
||||||
|
|
||||||
#define BOOTFILE_EXT ".ajz"
|
#define BOOTFILE_EXT "ajz"
|
||||||
#define BOOTFILE "ajbrec" BOOTFILE_EXT
|
#define BOOTFILE "ajbrec." BOOTFILE_EXT
|
||||||
|
|
||||||
#endif /* SIMULATOR */
|
#endif /* SIMULATOR */
|
||||||
|
|
|
@ -75,7 +75,7 @@
|
||||||
|
|
||||||
#define CONFIG_LCD LCD_SSD1801
|
#define CONFIG_LCD LCD_SSD1801
|
||||||
|
|
||||||
#define BOOTFILE_EXT ".mod"
|
#define BOOTFILE_EXT "mod"
|
||||||
#define BOOTFILE "archos" BOOTFILE_EXT
|
#define BOOTFILE "archos." BOOTFILE_EXT
|
||||||
|
|
||||||
#endif /* SIMULATOR */
|
#endif /* SIMULATOR */
|
||||||
|
|
|
@ -79,7 +79,7 @@
|
||||||
|
|
||||||
#define CONFIG_LCD LCD_SSD1815
|
#define CONFIG_LCD LCD_SSD1815
|
||||||
|
|
||||||
#define BOOTFILE_EXT ".ajz"
|
#define BOOTFILE_EXT "ajz"
|
||||||
#define BOOTFILE "ajbrec" BOOTFILE_EXT
|
#define BOOTFILE "ajbrec." BOOTFILE_EXT
|
||||||
|
|
||||||
#endif /* SIMULATOR */
|
#endif /* SIMULATOR */
|
||||||
|
|
|
@ -88,7 +88,7 @@
|
||||||
|
|
||||||
#define CONFIG_LCD LCD_SSD1815
|
#define CONFIG_LCD LCD_SSD1815
|
||||||
|
|
||||||
#define BOOTFILE_EXT ".ajz"
|
#define BOOTFILE_EXT "ajz"
|
||||||
#define BOOTFILE "ajbrec" BOOTFILE_EXT
|
#define BOOTFILE "ajbrec." BOOTFILE_EXT
|
||||||
|
|
||||||
#endif /* SIMULATOR */
|
#endif /* SIMULATOR */
|
||||||
|
|
Loading…
Add table
Add a link
Reference in a new issue