diff options
author | ouwou <26526779+ouwou@users.noreply.github.com> | 2023-01-07 20:14:16 -0500 |
---|---|---|
committer | ouwou <26526779+ouwou@users.noreply.github.com> | 2023-01-07 20:16:09 -0500 |
commit | 5e85d16cd61a9f28bd046d4c7921be8f6cc2b2fc (patch) | |
tree | 80b4bf62140bbc55ff12a28a0fde8706cb2d584f /src/abaddon.cpp | |
parent | 78adcf2f5c9858d241dcf6f6e48f2f64bbc63f4e (diff) | |
download | abaddon-portaudio-5e85d16cd61a9f28bd046d4c7921be8f6cc2b2fc.tar.gz abaddon-portaudio-5e85d16cd61a9f28bd046d4c7921be8f6cc2b2fc.zip |
dont disconnect on voice window close, add ability to reopen
Diffstat (limited to 'src/abaddon.cpp')
-rw-r--r-- | src/abaddon.cpp | 22 |
1 files changed, 13 insertions, 9 deletions
diff --git a/src/abaddon.cpp b/src/abaddon.cpp index 8b760fd..5ed17be 100644 --- a/src/abaddon.cpp +++ b/src/abaddon.cpp @@ -432,6 +432,19 @@ void Abaddon::DiscordOnThreadUpdate(const ThreadUpdateData &data) { #ifdef WITH_VOICE void Abaddon::OnVoiceConnected() { m_audio->StartCaptureDevice(); + ShowVoiceWindow(); +} + +void Abaddon::OnVoiceDisconnected() { + m_audio->StopCaptureDevice(); + m_audio->RemoveAllSSRCs(); + if (m_voice_window != nullptr) { + m_voice_window->close(); + } +} + +void Abaddon::ShowVoiceWindow() { + if (m_voice_window != nullptr) return; auto *wnd = new VoiceWindow(m_discord.GetVoiceChannelID()); m_voice_window = wnd; @@ -470,21 +483,12 @@ void Abaddon::OnVoiceConnected() { wnd->show(); wnd->signal_hide().connect([this, wnd]() { - m_discord.DisconnectFromVoice(); m_voice_window = nullptr; delete wnd; delete m_user_menu; SetupUserMenu(); }); } - -void Abaddon::OnVoiceDisconnected() { - m_audio->StopCaptureDevice(); - m_audio->RemoveAllSSRCs(); - if (m_voice_window != nullptr) { - m_voice_window->close(); - } -} #endif SettingsManager::Settings &Abaddon::GetSettings() { |