summaryrefslogtreecommitdiff
path: root/apps/metadata.c
diff options
context:
space:
mode:
authorDave Bryant <bryant@rockbox.org>2005-07-25 03:34:25 +0000
committerDave Bryant <bryant@rockbox.org>2005-07-25 03:34:25 +0000
commitc5ebc8e4e4610c2be312a4c687d3a7b294c2a310 (patch)
tree2e6725c8f3105ee9f8d9fcd02ed25771322468c3 /apps/metadata.c
parent49775a46028bf3baaf21ec7eb58d11c344188594 (diff)
downloadrockbox-c5ebc8e4e4610c2be312a4c687d3a7b294c2a310.zip
rockbox-c5ebc8e4e4610c2be312a4c687d3a7b294c2a310.tar.gz
rockbox-c5ebc8e4e4610c2be312a4c687d3a7b294c2a310.tar.bz2
rockbox-c5ebc8e4e4610c2be312a4c687d3a7b294c2a310.tar.xz
Added ReplayGain support to WavPack, including a small fix to dsp.c
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@7237 a1c6a512-1295-4272-9138-f99709370657
Diffstat (limited to 'apps/metadata.c')
-rw-r--r--apps/metadata.c33
1 files changed, 28 insertions, 5 deletions
diff --git a/apps/metadata.c b/apps/metadata.c
index 09bcb55..409bdf8 100644
--- a/apps/metadata.c
+++ b/apps/metadata.c
@@ -520,11 +520,34 @@ static bool get_apetag_info (struct mp3entry *entry, int fd)
if (get_apetag_item (&temp_apetag, "track", temp_buffer, rem_space))
entry->tracknum = atoi (temp_buffer);
- if (get_apetag_item (&temp_apetag, "artist", temp_buffer, rem_space)) {
- UTF8ToAnsi (entry->artist = temp_buffer);
- str_space = strlen (temp_buffer) + 1;
- temp_buffer += str_space;
- rem_space -= str_space;
+ if (get_apetag_item (&temp_apetag, "replaygain_track_peak", temp_buffer, rem_space))
+ entry->track_peak = get_replaypeak (temp_buffer);
+
+ if (get_apetag_item (&temp_apetag, "replaygain_album_peak", temp_buffer, rem_space))
+ entry->album_peak = get_replaypeak (temp_buffer);
+
+ if (rem_space > 1 &&
+ get_apetag_item (&temp_apetag, "replaygain_track_gain", temp_buffer, rem_space)) {
+ entry->track_gain = get_replaygain (entry->track_gain_str = temp_buffer);
+ str_space = strlen (temp_buffer) + 1;
+ temp_buffer += str_space;
+ rem_space -= str_space;
+ }
+
+ if (rem_space > 1 &&
+ get_apetag_item (&temp_apetag, "replaygain_album_gain", temp_buffer, rem_space)) {
+ entry->album_gain = get_replaygain (entry->album_gain_str = temp_buffer);
+ str_space = strlen (temp_buffer) + 1;
+ temp_buffer += str_space;
+ rem_space -= str_space;
+ }
+
+ if (rem_space > 1 &&
+ get_apetag_item (&temp_apetag, "artist", temp_buffer, rem_space)) {
+ UTF8ToAnsi (entry->artist = temp_buffer);
+ str_space = strlen (temp_buffer) + 1;
+ temp_buffer += str_space;
+ rem_space -= str_space;
}
if (rem_space > 1 &&