aboutsummaryrefslogtreecommitdiffstats
path: root/src/filter/ReplayGainFilterPlugin.cxx
diff options
context:
space:
mode:
authorMax Kellermann <max@duempel.org>2013-10-25 19:05:49 +0200
committerMax Kellermann <max@duempel.org>2013-10-25 19:12:46 +0200
commitd6e28c42e5c2bdab73d3553b21a09fa28dabd037 (patch)
tree6b7e43d0b777b3be149c86e853debef3cbd49826 /src/filter/ReplayGainFilterPlugin.cxx
parent6d475c40de567d778fa6f96c379687a8bf83f82b (diff)
downloadmpd-d6e28c42e5c2bdab73d3553b21a09fa28dabd037.tar.gz
mpd-d6e28c42e5c2bdab73d3553b21a09fa28dabd037.tar.xz
mpd-d6e28c42e5c2bdab73d3553b21a09fa28dabd037.zip
ReplayGainInfo: refactor to a class
Diffstat (limited to 'src/filter/ReplayGainFilterPlugin.cxx')
-rw-r--r--src/filter/ReplayGainFilterPlugin.cxx12
1 files changed, 7 insertions, 5 deletions
diff --git a/src/filter/ReplayGainFilterPlugin.cxx b/src/filter/ReplayGainFilterPlugin.cxx
index 5fb59b741..4d6173e9b 100644
--- a/src/filter/ReplayGainFilterPlugin.cxx
+++ b/src/filter/ReplayGainFilterPlugin.cxx
@@ -76,7 +76,7 @@ public:
ReplayGainFilter()
:mixer(nullptr), mode(REPLAY_GAIN_OFF),
volume(PCM_VOLUME_1) {
- replay_gain_info_init(&info);
+ info.Clear();
}
void SetMixer(Mixer *_mixer, unsigned _base) {
@@ -91,9 +91,9 @@ public:
void SetInfo(const ReplayGainInfo *_info) {
if (_info != NULL) {
info = *_info;
- replay_gain_info_complete(info);
+ info.Complete();
} else
- replay_gain_info_init(&info);
+ info.Clear();
Update();
}
@@ -126,8 +126,10 @@ void
ReplayGainFilter::Update()
{
if (mode != REPLAY_GAIN_OFF) {
- float scale = replay_gain_tuple_scale(&info.tuples[mode],
- replay_gain_preamp, replay_gain_missing_preamp, replay_gain_limit);
+ const auto &tuple = info.tuples[mode];
+ float scale = tuple.CalculateScale(replay_gain_preamp,
+ replay_gain_missing_preamp,
+ replay_gain_limit);
FormatDebug(replay_gain_domain,
"scale=%f\n", (double)scale);