From d2ff7112aac4f65106b99a92fb5f3492e7e5a827 Mon Sep 17 00:00:00 2001 From: ouwou <26526779+ouwou@users.noreply.github.com> Date: Fri, 29 Dec 2023 02:06:54 -0500 Subject: add notification sounds only to windows --- src/notifications/notifier_fallback.cpp | 30 ++++++++++++++++++++++++++++++ src/notifications/notifier_null.cpp | 9 --------- src/settings.hpp | 3 ++- 3 files changed, 32 insertions(+), 10 deletions(-) create mode 100644 src/notifications/notifier_fallback.cpp delete mode 100644 src/notifications/notifier_null.cpp (limited to 'src') diff --git a/src/notifications/notifier_fallback.cpp b/src/notifications/notifier_fallback.cpp new file mode 100644 index 0000000..00e9d4a --- /dev/null +++ b/src/notifications/notifier_fallback.cpp @@ -0,0 +1,30 @@ +#include "notifier.hpp" + +/* no actual notifications, just sounds + GNotification has no win32 backend, and WinToast uses headers msys2 doesnt provide + maybe it can be LoadLibrary'd in :s +*/ + +Notifier::Notifier() { +#ifdef ENABLE_NOTIFICATION_SOUNDS + if (ma_engine_init(nullptr, &m_engine) != MA_SUCCESS) { + printf("failed to initialize miniaudio engine\n"); + } +#endif +} + +Notifier::~Notifier() { +#ifdef ENABLE_NOTIFICATION_SOUNDS + ma_engine_uninit(&m_engine); +#endif +} + +void Notifier::Notify(const Glib::ustring &id, const Glib::ustring &title, const Glib::ustring &text, const Glib::ustring &default_action, const std::string &icon_path) { +#ifdef ENABLE_NOTIFICATION_SOUNDS + if (Abaddon::Get().GetSettings().NotificationsPlaySound) { + ma_engine_play_sound(&m_engine, Abaddon::Get().GetResPath("/sound/message.mp3").c_str(), nullptr); + } +#endif +} + +void Notifier::Withdraw(const Glib::ustring &id) {} diff --git a/src/notifications/notifier_null.cpp b/src/notifications/notifier_null.cpp deleted file mode 100644 index 1da99fd..0000000 --- a/src/notifications/notifier_null.cpp +++ /dev/null @@ -1,9 +0,0 @@ -#include "notifier.hpp" - -Notifier::Notifier() {} - -Notifier::~Notifier() {} - -void Notifier::Notify(const Glib::ustring &id, const Glib::ustring &title, const Glib::ustring &text, const Glib::ustring &default_action, const std::string &icon_path) {} - -void Notifier::Withdraw(const Glib::ustring &id) {} diff --git a/src/settings.hpp b/src/settings.hpp index 419734c..42f4838 100644 --- a/src/settings.hpp +++ b/src/settings.hpp @@ -47,10 +47,11 @@ public: // [notifications] #ifdef _WIN32 bool NotificationsEnabled { false }; + bool NotificationsPlaySound { false }; #else bool NotificationsEnabled { true }; -#endif bool NotificationsPlaySound { true }; +#endif // [voice] #ifdef WITH_RNNOISE -- cgit v1.2.3