summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorThom Johansen <thomj@rockbox.org>2007-09-19 10:40:55 +0000
committerThom Johansen <thomj@rockbox.org>2007-09-19 10:40:55 +0000
commit294ec1d110178f30894721d5cda14c246333954d (patch)
tree2e31dc287557007939b3b5abf4493fa02946b6c5
parent547cffb90bffacc7f22e6661c61ccad830ce2c91 (diff)
downloadrockbox-294ec1d110178f30894721d5cda14c246333954d.tar.gz
rockbox-294ec1d110178f30894721d5cda14c246333954d.zip
Remove the ID3 tag version priority setting on the grounds of it being pretty pointless. ID3v2 tags are superior to ID3v1 tags, and needs less seeking around to find.
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@14750 a1c6a512-1295-4272-9138-f99709370657
-rw-r--r--apps/lang/english.lang24
-rw-r--r--apps/menus/playback_menu.c3
-rw-r--r--apps/metadata.c5
-rw-r--r--apps/metadata.h3
-rw-r--r--apps/playback.c10
-rw-r--r--apps/plugin.h5
-rw-r--r--apps/plugins/properties.c4
-rw-r--r--apps/plugins/test_codec.c3
-rw-r--r--apps/plugins/vbrfix.c2
-rw-r--r--apps/settings.c2
-rw-r--r--apps/settings.h2
-rw-r--r--apps/settings_list.c3
-rw-r--r--apps/tagcache.c2
-rw-r--r--apps/talk.c2
-rw-r--r--firmware/export/id3.h4
-rw-r--r--firmware/export/mpeg.h1
-rw-r--r--firmware/id3.c18
-rw-r--r--firmware/mpeg.c15
-rw-r--r--manual/configure_rockbox/playback_options.tex3
19 files changed, 38 insertions, 73 deletions
diff --git a/apps/lang/english.lang b/apps/lang/english.lang
index 28451d0890..2f76111457 100644
--- a/apps/lang/english.lang
+++ b/apps/lang/english.lang
@@ -2040,44 +2040,44 @@
</phrase>
<phrase>
id: LANG_ID3_ORDER
- desc: in playback settings screen
+ desc: DEPRECATED
user:
<source>
- *: "ID3 Tag Priority"
+ *: ""
</source>
<dest>
- *: "ID3 Tag Priority"
+ *: ""
</dest>
<voice>
- *: "ID3 Tag Priority"
+ *: ""
</voice>
</phrase>
<phrase>
id: LANG_ID3_V1_FIRST
- desc: in playback settings screen
+ desc: DEPRECATED
user:
<source>
- *: "V1 then V2"
+ *: ""
</source>
<dest>
- *: "V1 then V2"
+ *: ""
</dest>
<voice>
- *: "Version 1 then version 2"
+ *: ""
</voice>
</phrase>
<phrase>
id: LANG_ID3_V2_FIRST
- desc: in playback settings screen
+ desc: DEPRECATED
user:
<source>
- *: "V2 then V1"
+ *: ""
</source>
<dest>
- *: "V2 then V1"
+ *: ""
</dest>
<voice>
- *: "Version 2 then version 1"
+ *: ""
</voice>
</phrase>
<phrase>
diff --git a/apps/menus/playback_menu.c b/apps/menus/playback_menu.c
index 0d4162c584..b7aa1ae47f 100644
--- a/apps/menus/playback_menu.c
+++ b/apps/menus/playback_menu.c
@@ -129,7 +129,6 @@ MENUITEM_SETTING(beep, &global_settings.beep ,NULL);
#ifdef HAVE_SPDIF_POWER
MENUITEM_SETTING(spdif_enable, &global_settings.spdif_enable, NULL);
#endif
-MENUITEM_SETTING(id3_v1_first, &global_settings.id3_v1_first, NULL);
MENUITEM_SETTING(next_folder, &global_settings.next_folder, NULL);
int audioscrobbler_callback(int action,const struct menu_item_ex *this_item)
{
@@ -187,7 +186,7 @@ MAKE_MENU(playback_menu_item,ID2P(LANG_PLAYBACK),0,
#ifdef HAVE_SPDIF_POWER
&spdif_enable,
#endif
- &id3_v1_first, &next_folder, &audioscrobbler, &cuesheet
+ &next_folder, &audioscrobbler, &cuesheet
#ifdef HAVE_HEADPHONE_DETECTION
,&unplug_menu
#endif
diff --git a/apps/metadata.c b/apps/metadata.c
index f60b87362f..7ef2a05bea 100644
--- a/apps/metadata.c
+++ b/apps/metadata.c
@@ -93,8 +93,7 @@ unsigned int probe_file_format(const char *filename)
/* Get metadata for track - return false if parsing showed problems with the
* file that would prevent playback.
*/
-bool get_metadata(struct mp3entry* id3, int fd, const char* trackname,
- bool v1first)
+bool get_metadata(struct mp3entry* id3, int fd, const char* trackname)
{
#if CONFIG_CODEC == SWCODEC
unsigned char* buf;
@@ -111,7 +110,7 @@ bool get_metadata(struct mp3entry* id3, int fd, const char* trackname,
case AFMT_MPA_L1:
case AFMT_MPA_L2:
case AFMT_MPA_L3:
- if (!get_mp3_metadata(fd, id3, trackname, v1first))
+ if (!get_mp3_metadata(fd, id3, trackname))
{
return false;
}
diff --git a/apps/metadata.h b/apps/metadata.h
index 4682b35237..f07209f2dc 100644
--- a/apps/metadata.h
+++ b/apps/metadata.h
@@ -23,8 +23,7 @@
#include "playback.h"
unsigned int probe_file_format(const char *filename);
-bool get_metadata(struct mp3entry* id3, int fd, const char* trackname,
- bool v1first);
+bool get_metadata(struct mp3entry* id3, int fd, const char* trackname);
#endif
diff --git a/apps/playback.c b/apps/playback.c
index b7d3b9987f..85aaad2e08 100644
--- a/apps/playback.c
+++ b/apps/playback.c
@@ -263,7 +263,6 @@ static size_t conf_watermark = 0; /* Level to trigger filebuf fill (A/C) FIXME *
static size_t conf_filechunk = 0; /* Largest chunk the codec accepts (A/C) FIXME */
static size_t conf_preseek = 0; /* Codec pre-seek margin (A/C) FIXME */
static size_t buffer_margin = 0; /* Buffer margin aka anti-skip buffer (A/C-) */
-static bool v1first = false; /* ID3 data control, true if V1 then V2 (A) */
#if MEM > 8
static size_t high_watermark = 0; /* High watermark for rebuffer (A/V/other) */
#endif
@@ -395,11 +394,6 @@ bool mp3_is_playing(void)
return voice_is_playing;
}
-void mpeg_id3_options(bool _v1first)
-{
- v1first = _v1first;
-}
-
/* If voice could be swapped out - wait for it to return
* Used by buffer claming functions.
*/
@@ -2744,7 +2738,7 @@ static bool audio_load_track(int offset, bool start_play, bool rebuffer)
/* Get track metadata if we don't already have it. */
if (!tracks[track_widx].taginfo_ready)
{
- if (get_metadata(&(tracks[track_widx].id3),current_fd,trackname,v1first))
+ if (get_metadata(&(tracks[track_widx].id3),current_fd,trackname))
{
tracks[track_widx].taginfo_ready = true;
if (start_play)
@@ -2886,7 +2880,7 @@ static bool audio_read_next_metadata(void)
if (fd < 0)
return false;
- status = get_metadata(&(tracks[next_idx].id3),fd,trackname,v1first);
+ status = get_metadata(&(tracks[next_idx].id3),fd,trackname);
/* Preload the glyphs in the tags */
if (status)
{
diff --git a/apps/plugin.h b/apps/plugin.h
index ab6213850d..86f4d60b5d 100644
--- a/apps/plugin.h
+++ b/apps/plugin.h
@@ -573,7 +573,7 @@ struct plugin_api {
#endif
struct user_settings* global_settings;
struct system_status *global_status;
- bool (*mp3info)(struct mp3entry *entry, const char *filename, bool v1first);
+ bool (*mp3info)(struct mp3entry *entry, const char *filename);
int (*count_mp3_frames)(int fd, int startpos, int filesize,
void (*progressfunc)(int));
int (*create_xing_header)(int fd, long startpos, long filesize,
@@ -620,8 +620,7 @@ struct plugin_api {
int (*codec_load_file)(const char* codec, struct codec_api *api);
const char *(*get_codec_filename)(int cod_spec);
- bool (*get_metadata)(struct mp3entry* id3, int fd, const char* trackname,
- bool v1first);
+ bool (*get_metadata)(struct mp3entry* id3, int fd, const char* trackname);
#endif
void (*led)(bool on);
};
diff --git a/apps/plugins/properties.c b/apps/plugins/properties.c
index ca18d49f50..0811b00ed3 100644
--- a/apps/plugins/properties.c
+++ b/apps/plugins/properties.c
@@ -100,9 +100,9 @@ static bool file_properties(char* selected_file)
#if (CONFIG_CODEC == SWCODEC)
int fd = rb->open(selected_file, O_RDONLY);
if (fd >= 0 &&
- rb->get_metadata(&id3, fd, selected_file, false))
+ rb->get_metadata(&id3, fd, selected_file))
#else
- if (!rb->mp3info(&id3, selected_file, false))
+ if (!rb->mp3info(&id3, selected_file))
#endif
{
rb->snprintf(str_artist, sizeof str_artist,
diff --git a/apps/plugins/test_codec.c b/apps/plugins/test_codec.c
index 4346a23304..94be6b7397 100644
--- a/apps/plugins/test_codec.c
+++ b/apps/plugins/test_codec.c
@@ -537,8 +537,7 @@ static enum plugin_status test_track(char* filename)
/* Clear the id3 struct */
rb->memset(&track.id3, 0, sizeof(struct mp3entry));
- if (!rb->get_metadata(&(track.id3), fd, filename,
- rb->global_settings->id3_v1_first))
+ if (!rb->get_metadata(&(track.id3), fd, filename))
{
log_text("Cannot read metadata",true);
return PLUGIN_ERROR;
diff --git a/apps/plugins/vbrfix.c b/apps/plugins/vbrfix.c
index 42353981a2..823e166b39 100644
--- a/apps/plugins/vbrfix.c
+++ b/apps/plugins/vbrfix.c
@@ -143,7 +143,7 @@ static bool vbr_fix(char *selected_file)
xingupdate(0);
- rc = rb->mp3info(&entry, selected_file, false);
+ rc = rb->mp3info(&entry, selected_file);
if(rc < 0) {
fileerror(rc);
return true;
diff --git a/apps/settings.c b/apps/settings.c
index c7c8772975..6e26574f6a 100644
--- a/apps/settings.c
+++ b/apps/settings.c
@@ -722,8 +722,6 @@ void settings_apply(void)
#if (CONFIG_CODEC == MAS3507D) && !defined(SIMULATOR)
dac_line_in(global_settings.line_in);
#endif
- mpeg_id3_options(global_settings.id3_v1_first);
-
set_poweroff_timeout(global_settings.poweroff);
set_battery_capacity(global_settings.battery_capacity);
diff --git a/apps/settings.h b/apps/settings.h
index c4cb917c1f..72f607d693 100644
--- a/apps/settings.h
+++ b/apps/settings.h
@@ -525,8 +525,6 @@ struct user_settings
bool line_in; /* false=off, true=active */
- bool id3_v1_first; /* true = ID3V1 has prio over ID3V2 tag */
-
/* playlist viewer settings */
bool playlist_viewer_icons; /* display icons on viewer */
bool playlist_viewer_indices; /* display playlist indices on viewer */
diff --git a/apps/settings_list.c b/apps/settings_list.c
index 67ebec8866..176d1cee69 100644
--- a/apps/settings_list.c
+++ b/apps/settings_list.c
@@ -757,9 +757,6 @@ const struct settings_list settings[] = {
"sort dirs", "alpha,oldest,newest", NULL, 3,
ID2P(LANG_SORT_ALPHA), ID2P(LANG_SORT_DATE),
ID2P(LANG_SORT_DATE_REVERSE)),
- BOOL_SETTING(0, id3_v1_first, LANG_ID3_ORDER, false,
- "id3 tag priority", "v2-v1,v1-v2",
- LANG_ID3_V1_FIRST, LANG_ID3_V2_FIRST, mpeg_id3_options),
#ifdef HAVE_RECORDING
/* recording */
diff --git a/apps/tagcache.c b/apps/tagcache.c
index 0bd6a9f557..0cd6b77e07 100644
--- a/apps/tagcache.c
+++ b/apps/tagcache.c
@@ -1660,7 +1660,7 @@ static void add_tagcache(char *path)
memset(&track, 0, sizeof(struct track_info));
memset(&entry, 0, sizeof(struct temp_file_entry));
memset(&tracknumfix, 0, sizeof(tracknumfix));
- ret = get_metadata(&(track.id3), fd, path, false);
+ ret = get_metadata(&(track.id3), fd, path);
close(fd);
if (!ret)
diff --git a/apps/talk.c b/apps/talk.c
index b9d5bc2aa7..7391dd25c4 100644
--- a/apps/talk.c
+++ b/apps/talk.c
@@ -652,7 +652,7 @@ int talk_file(const char* filename, bool enqueue)
if (p_thumbnail == NULL || size_for_thumbnail <= 0)
return -1;
- if(mp3info(&info, filename, false)) /* use this to find real start */
+ if(mp3info(&info, filename)) /* use this to find real start */
{
return 0; /* failed to open, or invalid */
}
diff --git a/firmware/export/id3.h b/firmware/export/id3.h
index 2751fde6f5..46b9b92f73 100644
--- a/firmware/export/id3.h
+++ b/firmware/export/id3.h
@@ -235,8 +235,8 @@ enum {
ID3_VER_2_4
};
-bool get_mp3_metadata(int fd, struct mp3entry *entry, const char *filename, bool v1first);
-bool mp3info(struct mp3entry *entry, const char *filename, bool v1first);
+bool get_mp3_metadata(int fd, struct mp3entry *entry, const char *filename);
+bool mp3info(struct mp3entry *entry, const char *filename);
char* id3_get_num_genre(const unsigned int genre_num);
char* id3_get_codec(const struct mp3entry* id3);
int getid3v2len(int fd);
diff --git a/firmware/export/mpeg.h b/firmware/export/mpeg.h
index b2dbc1ab53..9de8c499af 100644
--- a/firmware/export/mpeg.h
+++ b/firmware/export/mpeg.h
@@ -55,7 +55,6 @@ unsigned long mpeg_get_last_header(void);
/* in order to keep the recording here, I have to expose this */
void rec_tick(void);
void playback_tick(void); /* FixMe: get rid of this, use mp3_get_playtime() */
-void mpeg_id3_options(bool _v1first);
void audio_set_track_changed_event(void (*handler)(struct mp3entry *id3));
void audio_set_track_buffer_event(void (*handler)(struct mp3entry *id3,
diff --git a/firmware/id3.c b/firmware/id3.c
index 2fd7894de8..a3d6297c14 100644
--- a/firmware/id3.c
+++ b/firmware/id3.c
@@ -1164,10 +1164,8 @@ static int getsonglength(int fd, struct mp3entry *entry)
* about an MP3 file and updates it's entry accordingly.
*
Note, that this returns true for successful, false for error! */
-bool get_mp3_metadata(int fd, struct mp3entry *entry, const char *filename, bool v1first)
+bool get_mp3_metadata(int fd, struct mp3entry *entry, const char *filename)
{
- int v1found = false;
-
#if CONFIG_CODEC != SWCODEC
memset(entry, 0, sizeof(struct mp3entry));
#endif
@@ -1180,10 +1178,7 @@ bool get_mp3_metadata(int fd, struct mp3entry *entry, const char *filename, bool
entry->tracknum = 0;
entry->discnum = 0;
- if(v1first)
- v1found = setid3v1title(fd, entry);
-
- if (!v1found && entry->id3v2len)
+ if (entry->id3v2len)
setid3v2title(fd, entry);
int len = getsonglength(fd, entry);
if (len < 0)
@@ -1194,9 +1189,8 @@ bool get_mp3_metadata(int fd, struct mp3entry *entry, const char *filename, bool
the true size of the MP3 stream */
entry->filesize -= entry->first_frame_offset;
- /* only seek to end of file if no id3v2 tags were found,
- and we already haven't looked for a v1 tag */
- if (!v1first && !entry->id3v2len) {
+ /* only seek to end of file if no id3v2 tags were found */
+ if (!entry->id3v2len) {
setid3v1title(fd, entry);
}
@@ -1209,7 +1203,7 @@ bool get_mp3_metadata(int fd, struct mp3entry *entry, const char *filename, bool
}
/* Note, that this returns false for successful, true for error! */
-bool mp3info(struct mp3entry *entry, const char *filename, bool v1first)
+bool mp3info(struct mp3entry *entry, const char *filename)
{
int fd;
bool result;
@@ -1218,7 +1212,7 @@ bool mp3info(struct mp3entry *entry, const char *filename, bool v1first)
if (fd < 0)
return true;
- result = !get_mp3_metadata(fd, entry, filename, v1first);
+ result = !get_mp3_metadata(fd, entry, filename);
close(fd);
diff --git a/firmware/mpeg.c b/firmware/mpeg.c
index e412c36fe2..65fb024db3 100644
--- a/firmware/mpeg.c
+++ b/firmware/mpeg.c
@@ -127,8 +127,6 @@ static bool (*cuesheet_callback)(const char *filename) = NULL;
static const char mpeg_thread_name[] = "mpeg";
static unsigned int mpeg_errno;
-static bool v1first = false;
-
static bool playing = false; /* We are playing an MP3 stream */
static bool is_playing = false; /* We are (attempting to) playing MP3 files */
static bool paused; /* playback is paused */
@@ -922,7 +920,7 @@ static struct trackdata *add_track_to_tag_list(const char *filename)
/* grab id3 tag of new file and
remember where in memory it starts */
- if(mp3info(&track->id3, filename, v1first))
+ if(mp3info(&track->id3, filename))
{
DEBUGF("Bad mp3\n");
return NULL;
@@ -2098,11 +2096,6 @@ static void mpeg_thread(void)
}
#endif /* !SIMULATOR */
-void mpeg_id3_options(bool _v1first)
-{
- v1first = _v1first;
-}
-
struct mp3entry* audio_current_track()
{
#ifdef SIMULATOR
@@ -2707,7 +2700,7 @@ void audio_play(long offset)
trackname = playlist_peek( steps );
if (!trackname)
break;
- if(mp3info(&taginfo, trackname, v1first)) {
+ if(mp3info(&taginfo, trackname)) {
/* bad mp3, move on */
if(++steps > playlist_amount())
break;
@@ -2793,7 +2786,7 @@ void audio_next(void)
file = playlist_peek(steps);
if(!file)
break;
- if(mp3info(&taginfo, file, v1first)) {
+ if(mp3info(&taginfo, file)) {
if(++steps > playlist_amount())
break;
continue;
@@ -2822,7 +2815,7 @@ void audio_prev(void)
file = playlist_peek(steps);
if(!file)
break;
- if(mp3info(&taginfo, file, v1first)) {
+ if(mp3info(&taginfo, file)) {
steps--;
continue;
}
diff --git a/manual/configure_rockbox/playback_options.tex b/manual/configure_rockbox/playback_options.tex
index 456e47480d..70dad6c2a9 100644
--- a/manual/configure_rockbox/playback_options.tex
+++ b/manual/configure_rockbox/playback_options.tex
@@ -218,9 +218,6 @@ related to audio playback.
set to \setting{Off}.
}
- \item[ID3 Tag Priority.] Select which version of ID3 tag to use if both are
- present.
-
\item[Auto-Change Directory. ]Control what Rockbox does when it reaches the end
of a directory. If \setting{Auto-Change Directory} is set to \setting{Yes},
Rockbox will continue to the next directory. If