allow setting unreasonably high gain

apparently packing is still a thing or whatever... someone asked
This commit is contained in:
ouwou 2023-06-22 01:12:44 -04:00
parent 7832ab5d2a
commit 85bc7b95f7
4 changed files with 28 additions and 0 deletions

View File

@ -382,3 +382,8 @@
.voice-state-server {
color: red;
}
spinbutton {
color: @text_color;
margin-top: 10px;
}

View File

@ -110,9 +110,17 @@ VoiceSettingsWindow::VoiceSettingsWindow()
}
});
m_gain.set_increments(1.0, 5.0);
m_gain.set_range(0.0, 6969696969.0);
m_gain.set_value(Abaddon::Get().GetAudio().GetCaptureGain() * 100.0);
m_gain.signal_value_changed().connect([this]() {
m_signal_gain.emit(m_gain.get_value() / 100.0);
});
m_main.add(m_encoding_mode);
m_main.add(m_signal);
m_main.add(m_bitrate);
m_main.add(m_gain);
add(m_main);
show_all_children();
@ -122,4 +130,8 @@ VoiceSettingsWindow::VoiceSettingsWindow()
});
}
VoiceSettingsWindow::type_signal_gain VoiceSettingsWindow::signal_gain() {
return m_signal_gain;
}
#endif

View File

@ -18,8 +18,14 @@ public:
Gtk::ComboBoxText m_encoding_mode;
Gtk::ComboBoxText m_signal;
Gtk::Scale m_bitrate;
Gtk::SpinButton m_gain;
private:
using type_signal_gain = sigc::signal<void(double)>;
type_signal_gain m_signal_gain;
public:
type_signal_gain signal_gain();
};
#endif

View File

@ -163,6 +163,11 @@ VoiceWindow::VoiceWindow(Snowflake channel_id)
m_menu_view_sub.append(m_menu_view_settings);
m_menu_view_settings.signal_activate().connect([this]() {
auto *window = new VoiceSettingsWindow;
const auto cb = [this](double gain) {
m_capture_gain.set_value(gain * 100.0);
m_signal_gain.emit(gain);
};
window->signal_gain().connect(sigc::track_obj(cb, *this));
window->show();
});