diff options
author | waker <wakeroid@gmail.com> | 2011-04-16 13:38:12 +0200 |
---|---|---|
committer | waker <wakeroid@gmail.com> | 2011-04-16 13:38:12 +0200 |
commit | 5eb5c4d9c63763348ade828d187c723ee44f8228 (patch) | |
tree | 321fdaceebb792a1f01cb78d767c26f326ae1c2f /replaygain.c | |
parent | ceb2a249d758c1a38f62ca830f04ea33a3a0a5fd (diff) |
replaygain: added fallback mode that will use album gain, if track gain was not set, and vice-versa
Diffstat (limited to 'replaygain.c')
-rw-r--r-- | replaygain.c | 11 |
1 files changed, 11 insertions, 0 deletions
diff --git a/replaygain.c b/replaygain.c index 50f88535..18e07264 100644 --- a/replaygain.c +++ b/replaygain.c @@ -63,6 +63,17 @@ replaygain_set (int mode, int scale, float preamp) { void replaygain_set_values (float albumgain, float albumpeak, float trackgain, float trackpeak) { + if (albumgain > 100 && trackgain <= 100) { + albumgain = trackgain; + albumpeak = trackpeak; + } + else if (albumgain <= 100 && trackgain > 100) { + trackgain = albumgain; + trackpeak = albumpeak; + } + else if (albumgain > 100 && trackgain > 100) { + trackgain = albumgain = 0; + } rg_albumgain = db_to_amp (albumgain); rg_trackgain = db_to_amp (trackgain); rg_albumgain_preamp = rg_albumgain * conf_replaygain_preamp; |