replay_gain_state: moved code to replay_gain_tuple_scale()
Moved (and renamed) the function calc_replay_gain_scale() to replay_gain_info.c.
This commit is contained in:
parent
eeef501ed8
commit
b21e4d9a58
@ -21,6 +21,7 @@
|
|||||||
#include "replay_gain_info.h"
|
#include "replay_gain_info.h"
|
||||||
|
|
||||||
#include <glib.h>
|
#include <glib.h>
|
||||||
|
#include <math.h>
|
||||||
|
|
||||||
struct replay_gain_info *
|
struct replay_gain_info *
|
||||||
replay_gain_info_new(void)
|
replay_gain_info_new(void)
|
||||||
@ -46,3 +47,19 @@ replay_gain_info_free(struct replay_gain_info *info)
|
|||||||
{
|
{
|
||||||
g_free(info);
|
g_free(info);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
float
|
||||||
|
replay_gain_tuple_scale(const struct replay_gain_tuple *tuple, float preamp)
|
||||||
|
{
|
||||||
|
float scale;
|
||||||
|
|
||||||
|
scale = pow(10.0, tuple->gain / 20.0);
|
||||||
|
scale *= preamp;
|
||||||
|
if (scale > 15.0)
|
||||||
|
scale = 15.0;
|
||||||
|
|
||||||
|
if (scale * tuple->peak > 1.0)
|
||||||
|
scale = 1.0 / tuple->peak;
|
||||||
|
|
||||||
|
return scale;
|
||||||
|
}
|
||||||
|
@ -57,4 +57,7 @@ replay_gain_tuple_defined(const struct replay_gain_tuple *tuple)
|
|||||||
return tuple->gain > 0.0;
|
return tuple->gain > 0.0;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
float
|
||||||
|
replay_gain_tuple_scale(const struct replay_gain_tuple *tuple, float preamp);
|
||||||
|
|
||||||
#endif
|
#endif
|
||||||
|
@ -24,7 +24,6 @@
|
|||||||
#include <glib.h>
|
#include <glib.h>
|
||||||
|
|
||||||
#include <assert.h>
|
#include <assert.h>
|
||||||
#include <math.h>
|
|
||||||
|
|
||||||
struct replay_gain_state {
|
struct replay_gain_state {
|
||||||
float preamp, missing_preamp;
|
float preamp, missing_preamp;
|
||||||
@ -60,22 +59,6 @@ replay_gain_state_free(struct replay_gain_state *state)
|
|||||||
g_free(state);
|
g_free(state);
|
||||||
}
|
}
|
||||||
|
|
||||||
static float
|
|
||||||
calc_replay_gain_scale(float gain, float peak, float preamp)
|
|
||||||
{
|
|
||||||
float scale;
|
|
||||||
|
|
||||||
scale = pow(10.0, gain / 20.0);
|
|
||||||
scale *= preamp;
|
|
||||||
if (scale > 15.0)
|
|
||||||
scale = 15.0;
|
|
||||||
|
|
||||||
if (scale * peak > 1.0) {
|
|
||||||
scale = 1.0 / peak;
|
|
||||||
}
|
|
||||||
return (scale);
|
|
||||||
}
|
|
||||||
|
|
||||||
static void
|
static void
|
||||||
replay_gain_state_calc_scale(struct replay_gain_state *state)
|
replay_gain_state_calc_scale(struct replay_gain_state *state)
|
||||||
{
|
{
|
||||||
@ -90,8 +73,7 @@ replay_gain_state_calc_scale(struct replay_gain_state *state)
|
|||||||
g_debug("computing ReplayGain scale with gain %f, peak %f",
|
g_debug("computing ReplayGain scale with gain %f, peak %f",
|
||||||
tuple->gain, tuple->peak);
|
tuple->gain, tuple->peak);
|
||||||
|
|
||||||
state->scale = calc_replay_gain_scale(tuple->gain, tuple->peak,
|
state->scale = replay_gain_tuple_scale(tuple, state->preamp);
|
||||||
state->preamp);
|
|
||||||
} else
|
} else
|
||||||
state->scale = state->missing_preamp;
|
state->scale = state->missing_preamp;
|
||||||
}
|
}
|
||||||
|
Loading…
Reference in New Issue
Block a user