22 bool have_rg_gain =
false, have_rg_peak =
false;
49 scale *= audio_math::gain_to_scale(gain);
54 if (scale * peak > peak_margin)
63 return query_scale(p_object->get_async_info_ref()->info());
69 get_core_settings(temp);
76 get_core_settings(temp);
86 format_dbdelta(
double p_val);
87 operator const char*()
const {
return m_buffer;}
91 static const char * querysign(
int val) {
92 return val<0 ?
"-" : val>0 ?
"+" :
"\xc2\xb1";
95 format_dbdelta::format_dbdelta(
double p_val) {
96 int val = (int)(p_val * 10);
97 m_buffer << querysign(val) << (abs(val)/10) <<
"." << (abs(val)%10) <<
"dB";
117 fmt <<
"Apply track gain";
126 fmt <<
"Apply album gain";
144 fmt <<
"Apply track gain";
146 fmt <<
", prevent clipping according to track peak.";
153 fmt <<
"Apply album gain";
155 fmt <<
", prevent clipping according to album peak.";
168 p_out =
"Prevent clipping according to track peak.";
171 p_out =
"Prevent clipping according to album peak.";
bool is_track_peak_present() const
void SHARED_EXPORT scale(const audio_sample *p_source, t_size p_count, audio_sample *p_output, audio_sample p_scale)
p_source/p_output can point to same buffer
void format_name(pfc::string_base &p_out) const
t_source_mode m_source_mode
void info(const char *p_message)
float m_preamp_without_rg
Structure containing ReplayGain scan results from some playable object, also providing various helper...
Main interface class for information about some playable object.
Structure storing ReplayGain configuration: album/track source data modes, gain/peak processing modes...
string8_fastalloc string_formatter
audio_sample query_scale(const file_info &info) const
audio_sample core_settings_query_scale(const file_info &p_info)
Helper; queries scale value for specified item according to core playback settings.
bool is_album_peak_present() const
bool is_track_gain_present() const
bool is_album_gain_present() const
virtual replaygain_info get_replaygain() const =0
Retrieves ReplayGain information.
t_processing_mode m_processing_mode