tag/ReplayGain: add VorbisComment parser

Move code from the Vorbis and FLAC decoder plugins.
This commit is contained in:
Max Kellermann
2014-09-24 20:54:20 +02:00
parent 9f4fc8ad33
commit 441f9cc2ee
4 changed files with 31 additions and 41 deletions

View File

@@ -24,6 +24,7 @@
#include "tag/TagHandler.hxx"
#include "tag/TagBuilder.hxx"
#include "tag/VorbisComment.hxx"
#include "tag/ReplayGain.hxx"
#include "ReplayGainInfo.hxx"
#include "util/ASCII.hxx"
#include "util/SplitString.hxx"
@@ -36,27 +37,11 @@ vorbis_comments_to_replay_gain(ReplayGainInfo &rgi, char **comments)
{
rgi.Clear();
const char *temp;
bool found = false;
while (*comments) {
if ((temp =
vorbis_comment_value(*comments, "replaygain_track_gain"))) {
rgi.tuples[REPLAY_GAIN_TRACK].gain = atof(temp);
if (ParseReplayGainVorbis(rgi, *comments))
found = true;
} else if ((temp = vorbis_comment_value(*comments,
"replaygain_album_gain"))) {
rgi.tuples[REPLAY_GAIN_ALBUM].gain = atof(temp);
found = true;
} else if ((temp = vorbis_comment_value(*comments,
"replaygain_track_peak"))) {
rgi.tuples[REPLAY_GAIN_TRACK].peak = atof(temp);
found = true;
} else if ((temp = vorbis_comment_value(*comments,
"replaygain_album_peak"))) {
rgi.tuples[REPLAY_GAIN_ALBUM].peak = atof(temp);
found = true;
}
comments++;
}