summaryrefslogtreecommitdiff
path: root/plugins/dfsound
diff options
context:
space:
mode:
authoriCatButler <i.am.catbutler@gmail.com>2018-03-19 07:39:08 +0000
committerGitHub <noreply@github.com>2018-03-19 07:39:08 +0000
commit6f76041029393c6823973a29426b28c8c2d0b064 (patch)
tree13c1bb5215c2510a7c430b59bc22df666cd2fbf3 /plugins/dfsound
parent768332417644451d38ce1a737465656c7cc75de3 (diff)
parent128d6afb179756513860187cf5e31d84d6d8cac4 (diff)
downloadpcsxr-6f76041029393c6823973a29426b28c8c2d0b064.tar.gz
Merge pull request #7 from loathingKernel/sync-with-codeplex
Sync with codeplex
Diffstat (limited to 'plugins/dfsound')
-rw-r--r--plugins/dfsound/CMakeLists.txt135
-rwxr-xr-xplugins/dfsound/Makefile.am79
-rwxr-xr-xplugins/dfsound/cfg.c4
3 files changed, 139 insertions, 79 deletions
diff --git a/plugins/dfsound/CMakeLists.txt b/plugins/dfsound/CMakeLists.txt
new file mode 100644
index 00000000..865ddc13
--- /dev/null
+++ b/plugins/dfsound/CMakeLists.txt
@@ -0,0 +1,135 @@
+message(STATUS "* Configuring dfsound")
+
+include(GlibCompileResourcesSupport)
+
+set(SND_BACKEND "sdl" CACHE STRING "Sound backend to use.")
+set_property(CACHE SND_BACKEND PROPERTY STRINGS oss alsa pulse sdl openal null)
+
+#deps
+
+find_package(GLib REQUIRED)
+if(NOT GLib_FOUND)
+ message(FATAL_ERROR "GLIB2 library not found")
+endif(NOT GLib_FOUND)
+include_directories(${GLib_INCLUDE_DIRS})
+
+find_package(GTK3 REQUIRED)
+if(NOT GTK3_FOUND)
+ message(FATAL_ERROR "GTK3 library not found")
+endif(NOT GTK3_FOUND)
+include_directories(${GTK3_INCLUDE_DIRS})
+set(GTK_LIBRARIES ${GTK3_LIBRARY} ${GDK3_LIBRARY} ${GDKPixbuf_LIBRARY} ${Pango_LIBRARY} ${Cairo_LIBRARY} ${GObject_LIBRARY} ${GLib_LIBRARY} ${GIO_LIBRARY})
+
+
+if (${SND_BACKEND} STREQUAL "oss")
+ find_package(OSS REQUIRED)
+ include_directories(${OSS_INCLUDE_DIR})
+ add_definitions(-DUSEOSS=1)
+
+elseif (${SND_BACKEND} STREQUAL "alsa")
+ find_package(ALSA REQUIRED)
+ include_directories(${ALSA_INCLUDE_DIRS})
+ add_definitions(-DUSEALSA=1)
+
+elseif (${SND_BACKEND} STREQUAL "pulse")
+ find_package(PulseAudio REQUIRED)
+ include_directories(${PULSEAUDIO_INCLUDE_DIR})
+ add_definitions(-DUSEPULSEAUDIO=1)
+
+elseif (${SND_BACKEND} STREQUAL "sdl")
+ find_package(SDL2)
+ if(NOT SDL2_FOUND)
+ find_package(SDL)
+ if(NOT SDL_FOUND)
+ message(FATAL_ERROR "SDL or SDL2 library not found")
+ else(NOT SDL_FOUND)
+ message(STATUS "Using SDL")
+ include_directories(${SDL_INCLUDE_DIR})
+ endif(NOT SDL_FOUND)
+ else(NOT SDL2_FOUND)
+ set(USE_SDL2 1)
+ message(STATUS "Using SDL2")
+ include_directories(${SDL2_INCLUDE_DIR})
+ endif(NOT SDL2_FOUND)
+ add_definitions(-DUSESDL=1)
+
+elseif (${SND_BACKEND} STREQUAL "openal")
+ find_package(OpenAL REQUIRED)
+ include_directories(${OPENAL_INCLUDE_DIR})
+ add_definitions(-DUSEOPENAL=1)
+elseif (${SND_BACKEND} STREQUAL "null")
+ add_definitions(-DUSENULL=1)
+
+endif()
+
+find_package(Threads REQUIRED)
+
+#defs
+add_definitions(-DLOCALE_DIR="${CMAKE_INSTALL_FULL_DATAROOTDIR}/locale/" -DPSEMU_DATA_DIR="${CMAKE_INSTALL_FULL_DATAROOTDIR}/psemu" -DDEF_PLUGIN_DIR="${CMAKE_INSTALL_FULL_LIBDIR}/games/psemu")
+
+#sources
+set(PLUGIN_SRCS
+ adsr.c
+ cfg.c
+ dma.c
+ externals.c
+ freeze.c
+ registers.c
+ reverb.c
+ spu.c
+ xa.c
+)
+
+set(GUI_SRCS
+ spucfg-0.1df/main.c
+)
+
+
+#resources
+set(RESOURCE_LIST
+ ${CMAKE_CURRENT_SOURCE_DIR}/spucfg-0.1df/dfsound.ui
+)
+
+
+compile_gresources(RESOURCE_FILE
+ XML_OUT
+ TYPE EMBED_C
+ PREFIX /org/pcsxr/dfsound
+ SOURCE_DIR ${CMAKE_CURRENT_SOURCE_DIR}/spucfg-0.1df
+ RESOURCES ${RESOURCE_LIST})
+
+add_custom_target(dfsound_resource DEPENDS ${RESOURCE_FILE})
+
+include_directories(${CMAKE_SOURCE_DIR}/libpcsxcore)
+
+if (${SND_BACKEND} STREQUAL "oss")
+ add_library(DFSound MODULE ${PLUGIN_SRCS} oss.c)
+
+elseif (${SND_BACKEND} STREQUAL "alsa")
+ add_library(DFSound MODULE ${PLUGIN_SRCS} alsa.c)
+ target_link_libraries(DFSound ${ALSA_LIBRARIES} ${CMAKE_THREAD_LIBS_INIT})
+
+elseif (${SND_BACKEND} STREQUAL "pulse")
+ add_library(DFSound MODULE ${PLUGIN_SRCS} pulseaudio.c)
+ target_link_libraries(DFSound ${PULSEAUDIO_LIBRARY} ${CMAKE_THREAD_LIBS_INIT})
+
+elseif (${SND_BACKEND} STREQUAL "sdl")
+ add_library(DFSound MODULE ${PLUGIN_SRCS} sdl.c)
+ target_link_libraries(DFSound ${SDL_LIBRARY} ${SDL2_LIBRARY} ${CMAKE_THREAD_LIBS_INIT})
+
+elseif (${SND_BACKEND} STREQUAL "openal")
+ add_library(DFSound MODULE ${PLUGIN_SRCS} openal.c)
+ target_link_libraries(DFSound ${OPENAL_LIBRARY} ${CMAKE_THREAD_LIBS_INIT})
+
+elseif (${SND_BACKEND} STREQUAL "null")
+ add_library(DFSound MODULE ${PLUGIN_SRCS} nullsnd.c)
+
+endif()
+
+
+add_executable(cfgDFSound ${GUI_SRCS} ${RESOURCE_FILE})
+add_dependencies(cfgDFSound dfsound_resource)
+target_link_libraries(cfgDFSound ${GTK_LIBRARIES})
+
+install(TARGETS DFSound LIBRARY DESTINATION ${CMAKE_INSTALL_FULL_LIBDIR}/games/psemu)
+install(TARGETS cfgDFSound RUNTIME DESTINATION ${CMAKE_INSTALL_FULL_LIBDIR}/games/psemu)
diff --git a/plugins/dfsound/Makefile.am b/plugins/dfsound/Makefile.am
deleted file mode 100755
index 9f8130a1..00000000
--- a/plugins/dfsound/Makefile.am
+++ /dev/null
@@ -1,79 +0,0 @@
-AM_CPPFLAGS = -I../../include
-
-bindir = @libdir@/games/psemu/
-libdir = @libdir@/games/psemu/
-
-lib_LTLIBRARIES = libDFSound.la
-
-libDFSound_la_SOURCES = adsr.c adsr.h spu.c spu.h cfg.c cfg.h dma.c dma.h gauss_i.h freeze.c reverb.c reverb.h registers.c registers.h externals.c externals.h dsoundoss.h psemuxa.h regs.h xa.c xa.h stdafx.h
-
-libDFSound_la_CPPFLAGS = $(AM_CPPFLAGS)
-libDFSound_la_LDFLAGS = -module -avoid-version
-libDFSound_la_LIBADD = -lpthread -lm
-
-if SOUND_ALSA
-libDFSound_la_SOURCES += alsa.c
-libDFSound_la_CPPFLAGS += -DUSEALSA=1
-libDFSound_la_LIBADD += $(ALSA_LIBS)
-endif
-
-if SOUND_OSS
-libDFSound_la_SOURCES += oss.c
-libDFSound_la_CPPFLAGS += -DUSEOSS=1
-endif
-
-if SOUND_PULSEAUDIO
-libDFSound_la_SOURCES += pulseaudio.c
-libDFSound_la_CPPFLAGS += -DUSEPULSEAUDIO=1 $(PULSEAUDIO_CFLAGS)
-libDFSound_la_LIBADD += $(PULSEAUDIO_LIBS)
-endif
-
-if SOUND_SDL
-libDFSound_la_SOURCES += sdl.c
-libDFSound_la_CPPFLAGS += -DUSESDL=1 $(SDL2_CFLAGS) $(SDL_CFLAGS)
-libDFSound_la_LIBADD += $(SDL2_LIBS) $(SDL_LIBS)
-endif
-
-if SOUND_OPENAL
-libDFSound_la_SOURCES += openal.c
-libDFSound_la_CPPFLAGS += -DUSEOPENAL=1
-libDFSound_la_LIBADD += $(OPENAL_LIBS)
-endif
-
-if SOUND_NULL
-libDFSound_la_SOURCES += nullsnd.c
-libDFSound_la_CPPFLAGS += -DUSENULL=1
-endif
-
-bin_PROGRAMS = cfgDFSound
-cfgDFSound_CPPFLAGS = -DLOCALE_DIR=\"${datadir}/locale/\" \
- -DDATADIR=\"${datadir}/psemu/\" \
- $(GTK3_CFLAGS) $(AM_CPPFLAGS)
-cfgDFSound_SOURCES = spucfg-0.1df/main.c GtkResources.c GtkResources.h
-cfgDFSound_LDADD = $(GTK3_LIBS)
-
-# gresource.xml is dynamically generated in CMake. Mirror that here in a static way.
-define gresource_xml =
-<?xml version="1.0" encoding="UTF-8"?>
-<gresources>
- <gresource prefix="/org/pcsxr/dfsound">
- <file>dfsound.ui</file>
- </gresource>
-</gresources>
-endef
-
-dfsound.gresource.xml:
- $(file >$@,$(gresource_xml))
-dfsound_gresource: dfsound.gresource.xml
- $(shell $(GLIB_COMPILE_RESOURCES) --sourcedir=$(srcdir)/spucfg-0.1df --generate-dependencies $(srcdir)/$<)
-GtkResources.c: dfsound.gresource.xml $(dfsound_gresource)
- $(AM_V_GEN) $(GLIB_COMPILE_RESOURCES) --target=$@ --sourcedir=$(srcdir)/spucfg-0.1df --generate-source --c-name dfsound $<
-GtkResources.h: dfsound.gresource.xml $(dfsound_gresource)
- $(AM_V_GEN) $(GLIB_COMPILE_RESOURCES) --target=$@ --sourcedir=$(srcdir)/spucfg-0.1df --generate-header --c-name dfsound $<
-
-#glade_DATA = spucfg-0.1df/dfsound.ui
-#gladedir = $(datadir)/psemu/
-EXTRA_DIST = $(glade_DATA)
-
-CLEANFILES = dfsound.gresource.xml GtkResources.c GtkResources.h
-
diff --git a/plugins/dfsound/cfg.c b/plugins/dfsound/cfg.c
index 0bb2172c..0e1f63fa 100755
--- a/plugins/dfsound/cfg.c
+++ b/plugins/dfsound/cfg.c
@@ -26,6 +26,10 @@
////////////////////////////////////////////////////////////////////////
#include <unistd.h>
+#if defined(__linux__)
+#include <sys/types.h>
+#include <sys/wait.h>
+#endif
////////////////////////////////////////////////////////////////////////
// START EXTERNAL CFG TOOL