From 85bc7b95f76cbc27e414c9f9182e51052b259b20 Mon Sep 17 00:00:00 2001 From: ouwou <26526779+ouwou@users.noreply.github.com> Date: Thu, 22 Jun 2023 01:12:44 -0400 Subject: allow setting unreasonably high gain apparently packing is still a thing or whatever... someone asked --- res/css/main.css | 5 +++++ src/windows/voicesettingswindow.cpp | 12 ++++++++++++ src/windows/voicesettingswindow.hpp | 6 ++++++ src/windows/voicewindow.cpp | 5 +++++ 4 files changed, 28 insertions(+) diff --git a/res/css/main.css b/res/css/main.css index dcbdf4f..40e1696 100644 --- a/res/css/main.css +++ b/res/css/main.css @@ -382,3 +382,8 @@ .voice-state-server { color: red; } + +spinbutton { + color: @text_color; + margin-top: 10px; +} diff --git a/src/windows/voicesettingswindow.cpp b/src/windows/voicesettingswindow.cpp index c009cbf..3749986 100644 --- a/src/windows/voicesettingswindow.cpp +++ b/src/windows/voicesettingswindow.cpp @@ -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 diff --git a/src/windows/voicesettingswindow.hpp b/src/windows/voicesettingswindow.hpp index cf6b477..9b3498e 100644 --- a/src/windows/voicesettingswindow.hpp +++ b/src/windows/voicesettingswindow.hpp @@ -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; + type_signal_gain m_signal_gain; + +public: + type_signal_gain signal_gain(); }; #endif diff --git a/src/windows/voicewindow.cpp b/src/windows/voicewindow.cpp index 9e2efee..a915da6 100644 --- a/src/windows/voicewindow.cpp +++ b/src/windows/voicewindow.cpp @@ -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(); }); -- cgit v1.2.3