summaryrefslogtreecommitdiff
path: root/src/windows
diff options
context:
space:
mode:
authorouwou <26526779+ouwou@users.noreply.github.com>2022-10-21 01:23:37 -0400
committerouwou <26526779+ouwou@users.noreply.github.com>2022-10-21 01:23:37 -0400
commite888306272304224ac8edd37b3b2bd24ad8c0765 (patch)
tree3c0e58eea78f1580f2078b338b3a1e69349d3f67 /src/windows
parent848e75f5774d56ebb1a67ba4326a96c8ea5ac3f1 (diff)
downloadabaddon-portaudio-e888306272304224ac8edd37b3b2bd24ad8c0765.tar.gz
abaddon-portaudio-e888306272304224ac8edd37b3b2bd24ad8c0765.zip
add gain slider (how 2 loudmic? 🤓)
Diffstat (limited to 'src/windows')
-rw-r--r--src/windows/voicewindow.cpp13
-rw-r--r--src/windows/voicewindow.hpp4
2 files changed, 17 insertions, 0 deletions
diff --git a/src/windows/voicewindow.cpp b/src/windows/voicewindow.cpp
index 80a388e..9f53638 100644
--- a/src/windows/voicewindow.cpp
+++ b/src/windows/voicewindow.cpp
@@ -113,12 +113,21 @@ VoiceWindow::VoiceWindow(Snowflake channel_id)
m_capture_volume.SetTick(val / 100.0);
});
+ m_capture_gain.set_range(0.0, 200.0);
+ m_capture_gain.set_value_pos(Gtk::POS_LEFT);
+ m_capture_gain.set_value(100.0);
+ m_capture_gain.signal_value_changed().connect([this]() {
+ const double val = m_capture_gain.get_value();
+ m_signal_gain.emit(val / 100.0);
+ });
+
m_scroll.add(m_user_list);
m_controls.add(m_mute);
m_controls.add(m_deafen);
m_main.add(m_controls);
m_main.add(m_capture_volume);
m_main.add(m_capture_gate);
+ m_main.add(m_capture_gain);
m_main.add(m_scroll);
add(m_main);
show_all_children();
@@ -193,6 +202,10 @@ VoiceWindow::type_signal_gate VoiceWindow::signal_gate() {
return m_signal_gate;
}
+VoiceWindow::type_signal_gate VoiceWindow::signal_gain() {
+ return m_signal_gain;
+}
+
VoiceWindow::type_signal_mute_user_cs VoiceWindow::signal_mute_user_cs() {
return m_signal_mute_user_cs;
}
diff --git a/src/windows/voicewindow.hpp b/src/windows/voicewindow.hpp
index 86cedb8..8eb02f3 100644
--- a/src/windows/voicewindow.hpp
+++ b/src/windows/voicewindow.hpp
@@ -43,6 +43,7 @@ private:
VolumeMeter m_capture_volume;
Gtk::Scale m_capture_gate;
+ Gtk::Scale m_capture_gain;
Snowflake m_channel_id;
@@ -52,12 +53,14 @@ public:
using type_signal_mute = sigc::signal<void(bool)>;
using type_signal_deafen = sigc::signal<void(bool)>;
using type_signal_gate = sigc::signal<void(double)>;
+ using type_signal_gain = sigc::signal<void(double)>;
using type_signal_mute_user_cs = sigc::signal<void(Snowflake, bool)>;
using type_signal_user_volume_changed = sigc::signal<void(Snowflake, double)>;
type_signal_mute signal_mute();
type_signal_deafen signal_deafen();
type_signal_gate signal_gate();
+ type_signal_gain signal_gain();
type_signal_mute_user_cs signal_mute_user_cs();
type_signal_user_volume_changed signal_user_volume_changed();
@@ -65,6 +68,7 @@ private:
type_signal_mute m_signal_mute;
type_signal_deafen m_signal_deafen;
type_signal_gate m_signal_gate;
+ type_signal_gain m_signal_gain;
type_signal_mute_user_cs m_signal_mute_user_cs;
type_signal_user_volume_changed m_signal_user_volume_changed;
};