option_string clean-up and consolidate with metadata_common

Change-Id: I2649f6af37bd871fb8f181ae2f716ff0bcf1f65c
This commit is contained in:
William Wilgus 2022-03-13 10:55:47 -04:00
parent eb86ee296a
commit 77e4dd81f5
5 changed files with 58 additions and 35 deletions

View file

@ -32,6 +32,7 @@
#include "debug.h"
#include "replaygain.h"
#include "fixedpoint.h"
#include "metadata_common.h"
#define FP_BITS (12)
#define FP_ONE (1 << FP_BITS)
@ -167,29 +168,29 @@ long get_replaygain_int(long int_gain)
void parse_replaygain(const char* key, const char* value,
struct mp3entry* entry)
{
if (((strcasecmp(key, "replaygain_track_gain") == 0) ||
(strcasecmp(key, "rg_radio") == 0)) &&
!entry->track_gain)
{
static const char *rg_options[] = {"replaygain_track_gain", "rg_radio",
"replaygain_album_gain", "rg_audiophile",
"replaygain_track_peak", "rg_peak",
"replaygain_album_peak", NULL};
int rg_op = string_option(key, rg_options, true);
if ((rg_op == 0 || rg_op == 1) && !entry->track_gain)
{ /*replaygain_track_gain||rg_radio*/
entry->track_level = get_replaygain(value);
entry->track_gain = convert_gain(entry->track_level);
}
else if (((strcasecmp(key, "replaygain_album_gain") == 0) ||
(strcasecmp(key, "rg_audiophile") == 0)) &&
!entry->album_gain)
{
else if ((rg_op == 2 || rg_op == 3) && !entry->album_gain)
{ /*replaygain_album_gain||rg_audiophile*/
entry->album_level = get_replaygain(value);
entry->album_gain = convert_gain(entry->album_level);
}
else if (((strcasecmp(key, "replaygain_track_peak") == 0) ||
(strcasecmp(key, "rg_peak") == 0)) &&
!entry->track_peak)
{
else if ((rg_op == 4 || rg_op == 5) && !entry->track_peak)
{ /*replaygain_track_peak||rg_peak*/
entry->track_peak = get_replaypeak(value);
}
else if ((strcasecmp(key, "replaygain_album_peak") == 0) &&
!entry->album_peak)
{
else if ((rg_op == 6) && !entry->album_peak)
{ /*replaygain_album_peak*/
entry->album_peak = get_replaypeak(value);
}
}