aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorGravatar ctrlaltca2024-02-12 21:11:03 +0100
committerGravatar GitHub2024-02-12 21:11:03 +0100
commit6b57f7f31bf91fffe93084399e9ad7fa2a4de33d (patch)
tree02c8472c8d9833372adc4a8220d1a4c8f0722092
parentReplace deprecated define. Fix #2601 (#2603) (diff)
downloadKVIrc-6b57f7f31bf91fffe93084399e9ad7fa2a4de33d.tar.gz
KVIrc-6b57f7f31bf91fffe93084399e9ad7fa2a4de33d.tar.bz2
KVIrc-6b57f7f31bf91fffe93084399e9ad7fa2a4de33d.zip
Check for QtMultimedia before using QSound; partially fix #2166 (#2604)
-rw-r--r--CMakeLists.txt1
-rw-r--r--cmake/kvi_sysconfig.h.cmake1
-rw-r--r--src/modules/snd/libkvisnd.cpp8
-rw-r--r--src/modules/snd/libkvisnd.h2
4 files changed, 12 insertions, 0 deletions
diff --git a/CMakeLists.txt b/CMakeLists.txt
index 69f145a6e..ec671755d 100644
--- a/CMakeLists.txt
+++ b/CMakeLists.txt
@@ -482,6 +482,7 @@ find_package(Qt${QT_VERSION_MAJOR} COMPONENTS Multimedia)
if(Qt${QT_VERSION_MAJOR}Multimedia_FOUND)
include_directories(${Qt${QT_VERSION_MAJOR}Multimedia_INCLUDE_DIRS})
list(APPEND qt_kvirc_modules Qt::Multimedia)
+ set(COMPILE_QTMULTIMEDIA_SUPPORT 1)
endif()
# Qt Concurrent
diff --git a/cmake/kvi_sysconfig.h.cmake b/cmake/kvi_sysconfig.h.cmake
index 11d8f804e..7b17ef24e 100644
--- a/cmake/kvi_sysconfig.h.cmake
+++ b/cmake/kvi_sysconfig.h.cmake
@@ -42,6 +42,7 @@
#cmakedefine COMPILE_PHONON_SUPPORT 1
#cmakedefine COMPILE_ESD_SUPPORT 1
#cmakedefine COMPILE_OSS_SUPPORT 1
+#cmakedefine COMPILE_QTMULTIMEDIA_SUPPORT 1
#cmakedefine HAVE_LINUX_SOUNDCARD_H 1
#cmakedefine HAVE_SYS_SOUNDCARD_H 1
#cmakedefine HAVE_MACHINE_SOUNDCARD_H 1
diff --git a/src/modules/snd/libkvisnd.cpp b/src/modules/snd/libkvisnd.cpp
index 3ad4d5bd9..b4580074d 100644
--- a/src/modules/snd/libkvisnd.cpp
+++ b/src/modules/snd/libkvisnd.cpp
@@ -34,11 +34,13 @@
#include "KviLocale.h"
#include "KviQString.h"
+#ifdef COMPILE_QTMULTIMEDIA_SUPPORT
#if QT_VERSION < QT_VERSION_CHECK(6, 0, 0)
#include <QSound>
#else
#include <QSoundEffect>
#endif
+#endif
#ifdef COMPILE_PHONON_SUPPORT
#include <phonon/mediaobject.h>
@@ -120,7 +122,9 @@ KviSoundPlayer::KviSoundPlayer()
#endif //!COMPILE_ON_WINDOWS
+#ifdef COMPILE_QTMULTIMEDIA_SUPPORT
m_pSoundSystemDict->insert("qt", new KviSoundPlayerEntry(KVI_PTR2MEMBER(KviSoundPlayer::playQt), KVI_PTR2MEMBER(KviSoundPlayer::cleanupQt)));
+#endif
m_pSoundSystemDict->insert("null", new KviSoundPlayerEntry(KVI_PTR2MEMBER(KviSoundPlayer::playNull), KVI_PTR2MEMBER(KviSoundPlayer::cleanupNull)));
}
@@ -234,7 +238,9 @@ void KviSoundPlayer::detectSoundSystem()
KVI_OPTION_STRING(KviOption_stringSoundSystem) = "oss";
#endif
+#ifdef COMPILE_QTMULTIMEDIA_SUPPORT
KVI_OPTION_STRING(KviOption_stringSoundSystem) = "qt";
+#endif
return;
#endif
}
@@ -347,6 +353,7 @@ void KviSoundPlayer::cleanupEsd()
#endif //COMPILE_ESD_SUPPORT
#endif //!COMPILE_ON_WINDOWS
+#ifdef COMPILE_QTMULTIMEDIA_SUPPORT
bool KviSoundPlayer::playQt(const QString & szFileName)
{
if(isMuted())
@@ -366,6 +373,7 @@ void KviSoundPlayer::cleanupQt()
// how to stop Qt sounds ?
// using the play/stop slots instead of the static ::play (TODO)
}
+#endif
bool KviSoundPlayer::playNull(const QString &)
{
diff --git a/src/modules/snd/libkvisnd.h b/src/modules/snd/libkvisnd.h
index 38e2e03a2..0a535385b 100644
--- a/src/modules/snd/libkvisnd.h
+++ b/src/modules/snd/libkvisnd.h
@@ -200,8 +200,10 @@ protected:
void cleanupEsd();
#endif //COMPILE_ESD_SUPPORT
#endif //!COMPILE_ON_WINDOWS
+#ifdef COMPILE_QTMULTIMEDIA_SUPPORT
bool playQt(const QString & szFileName);
void cleanupQt();
+#endif
bool playNull(const QString & szFileName);
void cleanupNull();
};