diff options
| author | 2024-02-12 21:11:03 +0100 | |
|---|---|---|
| committer | 2024-02-12 21:11:03 +0100 | |
| commit | 6b57f7f31bf91fffe93084399e9ad7fa2a4de33d (patch) | |
| tree | 02c8472c8d9833372adc4a8220d1a4c8f0722092 | |
| parent | Replace deprecated define. Fix #2601 (#2603) (diff) | |
| download | KVIrc-6b57f7f31bf91fffe93084399e9ad7fa2a4de33d.tar.gz KVIrc-6b57f7f31bf91fffe93084399e9ad7fa2a4de33d.tar.bz2 KVIrc-6b57f7f31bf91fffe93084399e9ad7fa2a4de33d.zip | |
Check for QtMultimedia before using QSound; partially fix #2166 (#2604)
| -rw-r--r-- | CMakeLists.txt | 1 | ||||
| -rw-r--r-- | cmake/kvi_sysconfig.h.cmake | 1 | ||||
| -rw-r--r-- | src/modules/snd/libkvisnd.cpp | 8 | ||||
| -rw-r--r-- | src/modules/snd/libkvisnd.h | 2 |
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(); }; |
