Add setting for setting reply gain fallback gain
This commit is contained in:
@@ -46,7 +46,8 @@ Engine::Base::Base()
|
||||
device_(QVariant()),
|
||||
rg_enabled_(false),
|
||||
rg_mode_(0),
|
||||
rg_preamp_(0),
|
||||
rg_preamp_(0.0),
|
||||
rg_fallbackgain_(0.0),
|
||||
rg_compression_(true),
|
||||
buffer_duration_nanosec_(BackendSettingsPage::kDefaultBufferDuration * kNsecPerMsec),
|
||||
buffer_low_watermark_(BackendSettingsPage::kDefaultBufferLowWatermark),
|
||||
@@ -115,7 +116,8 @@ void Engine::Base::ReloadSettings() {
|
||||
|
||||
rg_enabled_ = s.value("rgenabled", false).toBool();
|
||||
rg_mode_ = s.value("rgmode", 0).toInt();
|
||||
rg_preamp_ = s.value("rgpreamp", 0.0).toFloat();
|
||||
rg_preamp_ = s.value("rgpreamp", 0.0).toDouble();
|
||||
rg_fallbackgain_ = s.value("rgfallbackgain", 0.0).toDouble();
|
||||
rg_compression_ = s.value("rgcompression", true).toBool();
|
||||
|
||||
fadeout_enabled_ = s.value("FadeoutEnabled", false).toBool();
|
||||
|
||||
@@ -180,7 +180,8 @@ class Base : public QObject {
|
||||
// ReplayGain
|
||||
bool rg_enabled_;
|
||||
int rg_mode_;
|
||||
float rg_preamp_;
|
||||
double rg_preamp_;
|
||||
double rg_fallbackgain_;
|
||||
bool rg_compression_;
|
||||
|
||||
// Buffering
|
||||
|
||||
@@ -812,7 +812,7 @@ std::shared_ptr<GstEnginePipeline> GstEngine::CreatePipeline() {
|
||||
ret->set_volume_enabled(volume_control_);
|
||||
ret->set_stereo_balancer_enabled(stereo_balancer_enabled_);
|
||||
ret->set_equalizer_enabled(equalizer_enabled_);
|
||||
ret->set_replaygain(rg_enabled_, rg_mode_, rg_preamp_, rg_compression_);
|
||||
ret->set_replaygain(rg_enabled_, rg_mode_, rg_preamp_, rg_fallbackgain_, rg_compression_);
|
||||
ret->set_buffer_duration_nanosec(buffer_duration_nanosec_);
|
||||
ret->set_buffer_low_watermark(buffer_low_watermark_);
|
||||
ret->set_buffer_high_watermark(buffer_high_watermark_);
|
||||
|
||||
@@ -79,6 +79,7 @@ GstEnginePipeline::GstEnginePipeline(GstEngine *engine)
|
||||
eq_preamp_(0),
|
||||
rg_mode_(0),
|
||||
rg_preamp_(0.0),
|
||||
rg_fallbackgain_(0.0),
|
||||
rg_compression_(true),
|
||||
buffer_duration_nanosec_(BackendSettingsPage::kDefaultBufferDuration * kNsecPerMsec),
|
||||
buffer_low_watermark_(BackendSettingsPage::kDefaultBufferLowWatermark),
|
||||
@@ -176,11 +177,12 @@ void GstEnginePipeline::set_equalizer_enabled(const bool enabled) {
|
||||
if (pipeline_) UpdateEqualizer();
|
||||
}
|
||||
|
||||
void GstEnginePipeline::set_replaygain(const bool enabled, const int mode, const float preamp, const bool compression) {
|
||||
void GstEnginePipeline::set_replaygain(const bool enabled, const int mode, const double preamp, const double fallbackgain, const bool compression) {
|
||||
|
||||
rg_enabled_ = enabled;
|
||||
rg_mode_ = mode;
|
||||
rg_preamp_ = preamp;
|
||||
rg_fallbackgain_ = fallbackgain;
|
||||
rg_compression_ = compression;
|
||||
|
||||
}
|
||||
@@ -376,7 +378,8 @@ bool GstEnginePipeline::InitAudioBin() {
|
||||
eventprobe = rgconverter;
|
||||
// Set replaygain settings
|
||||
g_object_set(G_OBJECT(rgvolume), "album-mode", rg_mode_, nullptr);
|
||||
g_object_set(G_OBJECT(rgvolume), "pre-amp", double(rg_preamp_), nullptr);
|
||||
g_object_set(G_OBJECT(rgvolume), "pre-amp", rg_preamp_, nullptr);
|
||||
g_object_set(G_OBJECT(rgvolume), "fallback-gain", rg_fallbackgain_, nullptr);
|
||||
g_object_set(G_OBJECT(rglimiter), "enabled", int(rg_compression_), nullptr);
|
||||
}
|
||||
}
|
||||
|
||||
@@ -69,7 +69,7 @@ class GstEnginePipeline : public QObject {
|
||||
void set_volume_enabled(const bool enabled);
|
||||
void set_stereo_balancer_enabled(const bool enabled);
|
||||
void set_equalizer_enabled(const bool enabled);
|
||||
void set_replaygain(const bool enabled, const int mode, const float preamp, const bool compression);
|
||||
void set_replaygain(const bool enabled, const int mode, const double preamp, const double fallbackgain, const bool compression);
|
||||
void set_buffer_duration_nanosec(const qint64 duration_nanosec);
|
||||
void set_buffer_low_watermark(const double value);
|
||||
void set_buffer_high_watermark(const double value);
|
||||
@@ -205,7 +205,8 @@ class GstEnginePipeline : public QObject {
|
||||
|
||||
// ReplayGain
|
||||
int rg_mode_;
|
||||
float rg_preamp_;
|
||||
double rg_preamp_;
|
||||
double rg_fallbackgain_;
|
||||
bool rg_compression_;
|
||||
|
||||
// Buffering
|
||||
|
||||
Reference in New Issue
Block a user