From 77e4dd81f5abedda802b8b6e895849995907b484 Mon Sep 17 00:00:00 2001 From: William Wilgus Date: Sun, 13 Mar 2022 10:55:47 -0400 Subject: option_string clean-up and consolidate with metadata_common Change-Id: I2649f6af37bd871fb8f181ae2f716ff0bcf1f65c --- lib/rbcodec/metadata/replaygain.c | 31 ++++++++++++++++--------------- 1 file changed, 16 insertions(+), 15 deletions(-) (limited to 'lib/rbcodec/metadata/replaygain.c') diff --git a/lib/rbcodec/metadata/replaygain.c b/lib/rbcodec/metadata/replaygain.c index 7aa77cfedd..eb98bbc342 100644 --- a/lib/rbcodec/metadata/replaygain.c +++ b/lib/rbcodec/metadata/replaygain.c @@ -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); } } -- cgit v1.2.3