diff --git a/apps/lang/english.lang b/apps/lang/english.lang old mode 100644 new mode 100755 index 2543060..ba6641e --- a/apps/lang/english.lang +++ b/apps/lang/english.lang @@ -2546,6 +2546,20 @@ + id: LANG_TAGCACHE_GENTRACKNUM + desc: in settings_menu. + user: core + + *: "Generate Tracknumber" + + + *: "Generate Tracknumber" + + + *: "Generate Tracknumber" + + + id: LANG_TAGCACHE_EXPORT desc: in tag cache settings user: core diff --git a/apps/menus/settings_menu.c b/apps/menus/settings_menu.c old mode 100644 new mode 100755 index fdc7758..bd5a7ea --- a/apps/menus/settings_menu.c +++ b/apps/menus/settings_menu.c @@ -75,6 +75,7 @@ MENUITEM_FUNCTION(tc_update, 0, ID2P(LANG_TAGCACHE_UPDATE), (int(*)(void))tagcache_update_with_splash, NULL, NULL, Icon_NOICON); MENUITEM_SETTING(runtimedb, &global_settings.runtimedb, NULL); +MENUITEM_SETTING(gentracknum, &global_settings.gentracknum, NULL); MENUITEM_FUNCTION(tc_export, 0, ID2P(LANG_TAGCACHE_EXPORT), (int(*)(void))tagtree_export, NULL, NULL, Icon_NOICON); @@ -86,7 +87,7 @@ MAKE_MENU(tagcache_menu, ID2P(LANG_TAGCACHE), 0, Icon_NOICON, &tagcache_ram, #endif &tagcache_autoupdate, &tc_init, &tc_update, &runtimedb, - &tc_export, &tc_import); + &gentracknum, &tc_export, &tc_import); #endif /* HAVE_TAGCACHE */ /* TAGCACHE MENU */ /***********************************/ diff --git a/apps/settings.h b/apps/settings.h old mode 100644 new mode 100755 index 3d05e29..ff894dc --- a/apps/settings.h +++ b/apps/settings.h @@ -571,6 +571,7 @@ struct user_settings #endif bool tagcache_autoupdate; /* automatically keep tagcache in sync? */ bool runtimedb; /* runtime database active? */ + bool gentracknum; /* if missing tracknumber, then generate track number? */ #endif /* HAVE_TAGCACHE */ #if LCD_DEPTH > 1 diff --git a/apps/settings_list.c b/apps/settings_list.c old mode 100644 new mode 100755 index 6187478..26e701a --- a/apps/settings_list.c +++ b/apps/settings_list.c @@ -1111,6 +1111,8 @@ const struct settings_list settings[] = { #ifdef HAVE_TAGCACHE OFFON_SETTING(0, runtimedb, LANG_RUNTIMEDB_ACTIVE, false, "gather runtime data", NULL), + OFFON_SETTING(0, gentracknum, LANG_TAGCACHE_GENTRACKNUM, true, + "generate tracknumber", NULL), #endif #if CONFIG_CODEC == SWCODEC diff --git a/apps/tagcache.c b/apps/tagcache.c old mode 100644 new mode 100755 index 07af9bf..ac2c7a6 --- a/apps/tagcache.c +++ b/apps/tagcache.c @@ -1761,7 +1761,7 @@ static void __attribute__ ((noinline)) add_tagcache(char *path, logf("-> %s", path); /* Generate track number if missing. */ - if (id3.tracknum <= 0) + if (id3.tracknum <= 0 && global_settings.gentracknum) { const char *p = strrchr(path, '.');