aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--CMakeLists.txt1
-rw-r--r--README2
-rw-r--r--README.RUS2
-rw-r--r--src/plugins/Output/CMakeLists.txt5
-rw-r--r--src/plugins/Output/directsound/CMakeLists.txt59
5 files changed, 67 insertions, 2 deletions
diff --git a/CMakeLists.txt b/CMakeLists.txt
index 37b6184ae..27bc60673 100644
--- a/CMakeLists.txt
+++ b/CMakeLists.txt
@@ -158,6 +158,7 @@ PRINT_SUMMARY ("JACK support ......................" USE_JACK JACK_FOUND)
PRINT_SUMMARY ("PulseAudio support ................" USE_PULSE PULSE_FOUND)
PRINT_SUMMARY ("Null output support ..............." USE_NULL 1)
PRINT_SUMMARY ("Win32 Waveout support ............." USE_WAVEOUT WINDOWS_H_FOUND)
+PRINT_SUMMARY ("Win32 DirectSound support ........." USE_DSOUND DSOUND_H_FOUND)
MESSAGE("")
MESSAGE("Effect Plugins:")
diff --git a/README b/README
index efb99ffe0..52d70610f 100644
--- a/README
+++ b/README
@@ -120,7 +120,7 @@ Available options:
- USE_CURL, USE_MMS (transports);
- USE_MAD, USE_FLAC, USE_VORBIS, USE_MPC, USE_MODPLUG, USE_SNDFILE, USE_WAVPACK, USE_FFMPEG, USE_AAC, USE_CUE,
USE_MPLAYER, USE_CDA, USE_MIDI, USE_GME, USE_FFMPEG_LEGACY, USE_OPUS (decoders);
-- USE_ALSA, USE_OSS, USE_JACK, USE_PULSE, USE_NULL, USE_OSS4, USE_WAVEOUT (output plugins);
+- USE_ALSA, USE_OSS, USE_JACK, USE_PULSE, USE_NULL, USE_OSS4, USE_WAVEOUT, UDE_DSOUND (output plugins);
- USE_SRC, USE_BS2B, USE_LADSPA, USE_CROSSFADE, USE_STEREO (effects);
- USE_ANALYZER, USE_PROJECTM (visualization);
- USE_MPRIS, USE_SCROBBLER, USE_STATICON, USE_NOTIFIER, USE_LYRICS, USE_HAL, USE_HOTKEY, USE_FILEOPS, USE_COVER,
diff --git a/README.RUS b/README.RUS
index 5b9ac0faa..2b43d415e 100644
--- a/README.RUS
+++ b/README.RUS
@@ -117,7 +117,7 @@ cmake ./ -DUSE_JACK:BOOL=FALSE
- USE_CURL, USE_MMS (транспортные модули);
- USE_MAD, USE_FLAC, USE_VORBIS, USE_MPC, USE_MODPLUG, USE_SNDFILE, USE_WAVPACK, USE_FFMPEG, USE_AAC, USE_CUE,
USE_MPLAYER, USE_CDA, USE_MIDI, USE_GME, USE_FFMPEG_LEGACY, USE_OPUS (декодеры);
-- USE_ALSA, USE_OSS, USE_JACK, USE_PULSE, USE_NULL, USE_OSS4, USE_WAVEOUT (модули вывода);
+- USE_ALSA, USE_OSS, USE_JACK, USE_PULSE, USE_NULL, USE_OSS4, USE_WAVEOUT, USE_DSOUND (модули вывода);
- USE_SRC, USE_BS2B, USE_LADSPA, USE_CROSSFADE, USE_STEREO (эффекты);
- USE_ANALYZER, USE_PROJECTM (визуализация);
- USE_MPRIS, USE_SCROBBLER, USE_STATICON, USE_NOTIFIER, USE_LYRICS, USE_HAL, USE_HOTKEY, USE_FILEOPS, USE_COVER,
diff --git a/src/plugins/Output/CMakeLists.txt b/src/plugins/Output/CMakeLists.txt
index f819335e5..239199a8e 100644
--- a/src/plugins/Output/CMakeLists.txt
+++ b/src/plugins/Output/CMakeLists.txt
@@ -5,6 +5,7 @@ SET(USE_OSS4 TRUE CACHE BOOL "enable/disable oss4 plugin")
SET(USE_PULSE TRUE CACHE BOOL "enable/disable pulse audio plugin")
SET(USE_NULL TRUE CACHE BOOL "enable/disable null output plugin")
SET(USE_WAVEOUT TRUE CACHE BOOL "enable/disable Win32 waveout plugin")
+SET(USE_DSOUND TRUE CACHE BOOL "enable/disable DirectSound plugin")
IF(USE_ALSA)
add_subdirectory(alsa)
@@ -33,3 +34,7 @@ ENDIF(USE_NULL)
IF(USE_WAVEOUT)
add_subdirectory(waveout)
ENDIF(USE_WAVEOUT)
+
+IF(USE_DSOUND)
+add_subdirectory(directsound)
+ENDIF(USE_DSOUND)
diff --git a/src/plugins/Output/directsound/CMakeLists.txt b/src/plugins/Output/directsound/CMakeLists.txt
new file mode 100644
index 000000000..5f8727756
--- /dev/null
+++ b/src/plugins/Output/directsound/CMakeLists.txt
@@ -0,0 +1,59 @@
+project(libdirectsound)
+
+cmake_minimum_required(VERSION 2.4.7)
+
+INCLUDE(CheckIncludeFile)
+
+if(COMMAND cmake_policy)
+cmake_policy(SET CMP0003 NEW)
+endif(COMMAND cmake_policy)
+
+# qt plugin
+ADD_DEFINITIONS( -Wall )
+ADD_DEFINITIONS(${QT_DEFINITIONS})
+ADD_DEFINITIONS(-DQT_PLUGIN)
+ADD_DEFINITIONS(-DQT_NO_DEBUG)
+ADD_DEFINITIONS(-DQT_SHARED)
+ADD_DEFINITIONS(-DQT_THREAD)
+
+include_directories(${CMAKE_CURRENT_BINARY_DIR})
+
+SET(QT_INCLUDES
+ ${QT_INCLUDES}
+ ${CMAKE_CURRENT_SOURCE_DIR}/../../../
+)
+
+# libqmmp
+include_directories(${CMAKE_CURRENT_SOURCE_DIR}/../../../)
+link_directories(${CMAKE_CURRENT_BINARY_DIR}/../../../qmmp)
+
+# Win32 DirectSound
+CHECK_INCLUDE_FILE(dsound.h DSOUND_H_FOUND)
+
+SET(libdirectsound_SRCS
+ outputdirectsound.cpp
+ outputdirectsoundfactory.cpp
+)
+
+SET(libdirectsound_MOC_HDRS
+ outputdirectsoundfactory.h
+)
+
+SET(libdirectsound_HDRS
+ outputdirectsound.h
+)
+
+SET(libdirectsound_RCCS translations/translations.qrc)
+
+QT4_ADD_RESOURCES(libdirectsound_RCC_SRCS ${libdirectsound_RCCS})
+
+QT4_WRAP_CPP(libdirectsound_MOC_SRCS ${libdirectsound_MOC_HDRS})
+
+
+IF(DSOUND_H_FOUND)
+ADD_LIBRARY(directsound MODULE ${libdirectsound_SRCS} ${libdirectsound_MOC_SRCS} ${libdirectsound_RCC_SRCS} ${libdirectsound_HDRS})
+add_dependencies(directsound qmmp)
+target_link_libraries(directsound ${QT_LIBRARIES} -lqmmp -ldxguid -lstrmiids -ldmoguids -lmsdmo -lole32 -loleaut32 -luuid -lgdi32 -ldsound)
+install(TARGETS directsound DESTINATION ${LIB_DIR}/qmmp/Output)
+ENDIF(DSOUND_H_FOUND)
+