diff options
author | William Wilgus <wilgus.william@gmail.com> | 2022-03-13 10:55:47 -0400 |
---|---|---|
committer | William Wilgus <wilgus.william@gmail.com> | 2022-03-13 10:55:47 -0400 |
commit | 77e4dd81f5abedda802b8b6e895849995907b484 (patch) | |
tree | 750656ede0dac091aa1512ccd81660ec40ddbb58 /lib/rbcodec/metadata/replaygain.c | |
parent | eb86ee296a40249c33d1969087f98108735beaa9 (diff) | |
download | rockbox-77e4dd81f5abedda802b8b6e895849995907b484.tar.gz rockbox-77e4dd81f5abedda802b8b6e895849995907b484.zip |
option_string clean-up and consolidate with metadata_common
Change-Id: I2649f6af37bd871fb8f181ae2f716ff0bcf1f65c
Diffstat (limited to 'lib/rbcodec/metadata/replaygain.c')
-rw-r--r-- | lib/rbcodec/metadata/replaygain.c | 31 |
1 files changed, 16 insertions, 15 deletions
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 @@ | |||
32 | #include "debug.h" | 32 | #include "debug.h" |
33 | #include "replaygain.h" | 33 | #include "replaygain.h" |
34 | #include "fixedpoint.h" | 34 | #include "fixedpoint.h" |
35 | #include "metadata_common.h" | ||
35 | 36 | ||
36 | #define FP_BITS (12) | 37 | #define FP_BITS (12) |
37 | #define FP_ONE (1 << FP_BITS) | 38 | #define FP_ONE (1 << FP_BITS) |
@@ -167,29 +168,29 @@ long get_replaygain_int(long int_gain) | |||
167 | void parse_replaygain(const char* key, const char* value, | 168 | void parse_replaygain(const char* key, const char* value, |
168 | struct mp3entry* entry) | 169 | struct mp3entry* entry) |
169 | { | 170 | { |
170 | if (((strcasecmp(key, "replaygain_track_gain") == 0) || | 171 | static const char *rg_options[] = {"replaygain_track_gain", "rg_radio", |
171 | (strcasecmp(key, "rg_radio") == 0)) && | 172 | "replaygain_album_gain", "rg_audiophile", |
172 | !entry->track_gain) | 173 | "replaygain_track_peak", "rg_peak", |
173 | { | 174 | "replaygain_album_peak", NULL}; |
175 | |||
176 | int rg_op = string_option(key, rg_options, true); | ||
177 | |||
178 | if ((rg_op == 0 || rg_op == 1) && !entry->track_gain) | ||
179 | { /*replaygain_track_gain||rg_radio*/ | ||
174 | entry->track_level = get_replaygain(value); | 180 | entry->track_level = get_replaygain(value); |
175 | entry->track_gain = convert_gain(entry->track_level); | 181 | entry->track_gain = convert_gain(entry->track_level); |
176 | } | 182 | } |
177 | else if (((strcasecmp(key, "replaygain_album_gain") == 0) || | 183 | else if ((rg_op == 2 || rg_op == 3) && !entry->album_gain) |
178 | (strcasecmp(key, "rg_audiophile") == 0)) && | 184 | { /*replaygain_album_gain||rg_audiophile*/ |
179 | !entry->album_gain) | ||
180 | { | ||
181 | entry->album_level = get_replaygain(value); | 185 | entry->album_level = get_replaygain(value); |
182 | entry->album_gain = convert_gain(entry->album_level); | 186 | entry->album_gain = convert_gain(entry->album_level); |
183 | } | 187 | } |
184 | else if (((strcasecmp(key, "replaygain_track_peak") == 0) || | 188 | else if ((rg_op == 4 || rg_op == 5) && !entry->track_peak) |
185 | (strcasecmp(key, "rg_peak") == 0)) && | 189 | { /*replaygain_track_peak||rg_peak*/ |
186 | !entry->track_peak) | ||
187 | { | ||
188 | entry->track_peak = get_replaypeak(value); | 190 | entry->track_peak = get_replaypeak(value); |
189 | } | 191 | } |
190 | else if ((strcasecmp(key, "replaygain_album_peak") == 0) && | 192 | else if ((rg_op == 6) && !entry->album_peak) |
191 | !entry->album_peak) | 193 | { /*replaygain_album_peak*/ |
192 | { | ||
193 | entry->album_peak = get_replaypeak(value); | 194 | entry->album_peak = get_replaypeak(value); |
194 | } | 195 | } |
195 | } | 196 | } |