From a0cbebf404d6c46e59b090e7217ce39d7e760809 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?J=C3=B6rg=20M=C3=BCller?= Date: Tue, 16 Jun 2015 10:03:35 +0200 Subject: [PATCH] Audaspace: fixing problems for the merge to master suggested by Campbell and Sergey. - rename WITH_EXTERNAL_AUDASPACE to WITH_SYSTEM_AUDASPACE. - rename C/PYAUDASPACE to AUDASPACE_C/PY - simplifying cmake defines and includes. - fixing include paths and enabling WITH_SYSTEM_AUDASPACE for windows. - fixing scons building. - other minor build system fixes. --- CMakeLists.txt | 44 +++++++++- SConstruct | 14 ++- build_files/cmake/Modules/FindAudaspace.cmake | 87 +++++++++++++------ build_files/cmake/macros.cmake | 4 +- build_files/scons/config/darwin-config.py | 2 + build_files/scons/config/linux-config.py | 2 + .../scons/config/win32-mingw-config.py | 2 + build_files/scons/config/win32-vc-config.py | 2 + .../scons/config/win64-mingw-config.py | 2 + build_files/scons/config/win64-vc-config.py | 2 + build_files/scons/tools/btools.py | 6 ++ intern/audaspace/CMakeLists.txt | 6 +- intern/audaspace/SConscript | 4 + intern/audaspace/intern/AUD_PyInit.cpp | 6 +- source/blender/blenkernel/BKE_sound.h | 8 +- source/blender/blenkernel/CMakeLists.txt | 14 +-- source/blender/blenkernel/SConscript | 5 +- source/blender/blenkernel/intern/nla.c | 6 +- source/blender/blenkernel/intern/sequencer.c | 6 +- source/blender/blenkernel/intern/sound.c | 16 ++-- .../blender/blenkernel/intern/writeffmpeg.c | 8 +- source/blender/editors/sound/CMakeLists.txt | 11 +-- source/blender/editors/sound/SConscript | 5 +- source/blender/editors/sound/sound_ops.c | 6 +- .../editors/space_graph/CMakeLists.txt | 11 +-- source/blender/editors/space_graph/SConscript | 5 +- .../blender/editors/space_graph/graph_edit.c | 6 +- .../editors/space_sequencer/CMakeLists.txt | 11 +-- .../editors/space_sequencer/SConscript | 5 +- .../editors/space_sequencer/sequencer_add.c | 6 +- source/blender/makesrna/SConscript | 1 - source/blender/makesrna/intern/CMakeLists.txt | 12 +-- source/blender/makesrna/intern/SConscript | 5 +- source/blender/makesrna/intern/rna_scene.c | 8 +- source/blender/python/SConscript | 1 - source/blender/windowmanager/CMakeLists.txt | 7 +- source/blender/windowmanager/SConscript | 5 +- .../windowmanager/intern/wm_playanim.c | 9 +- source/creator/CMakeLists.txt | 10 +++ .../BlenderRoutines/BL_KetsjiEmbedStart.cpp | 6 +- .../gameengine/BlenderRoutines/CMakeLists.txt | 11 +-- source/gameengine/BlenderRoutines/SConscript | 5 +- source/gameengine/Converter/CMakeLists.txt | 11 +-- .../Converter/KX_ConvertActuators.cpp | 6 +- source/gameengine/Converter/SConscript | 5 +- .../GamePlayer/ghost/CMakeLists.txt | 11 +-- .../GamePlayer/ghost/GPG_Application.cpp | 6 +- source/gameengine/GamePlayer/ghost/SConscript | 5 +- source/gameengine/Ketsji/CMakeLists.txt | 15 ++-- source/gameengine/Ketsji/KX_PythonInit.cpp | 2 +- source/gameengine/Ketsji/KX_SoundActuator.cpp | 12 +-- source/gameengine/Ketsji/KX_SoundActuator.h | 8 +- source/gameengine/Ketsji/SConscript | 7 +- 53 files changed, 271 insertions(+), 209 deletions(-) diff --git a/CMakeLists.txt b/CMakeLists.txt index cac75d339b6..591942cc8fe 100644 --- a/CMakeLists.txt +++ b/CMakeLists.txt @@ -247,8 +247,13 @@ option(WITH_HEADLESS "Build without graphical support (renderfarm, server m mark_as_advanced(WITH_HEADLESS) option(WITH_AUDASPACE "Build with blenders audio library (only disable if you know what you're doing!)" ON) -option(WITH_EXTERNAL_AUDASPACE "Build with external audaspace library installed on the system (only enable if you know what you're doing!)" OFF) +option(WITH_SYSTEM_AUDASPACE "Build with external audaspace library installed on the system (only enable if you know what you're doing!)" OFF) mark_as_advanced(WITH_AUDASPACE) +mark_as_advanced(WITH_SYSTEM_AUDASPACE) + +if(NOT WITH_AUDASPACE) + set(WITH_SYSTEM_AUDASPACE OFF) +endif() option(WITH_OPENMP "Enable OpenMP (has to be supported by the compiler)" ON) @@ -707,6 +712,29 @@ if(HAVE_STDBOOL_H) add_definitions(-DHAVE_STDBOOL_H) endif() +if(WITH_AUDASPACE) + if(WITH_SYSTEM_AUDASPACE) + add_definitions("-DAUD_DEVICE_H=") + add_definitions("-DAUD_SPECIAL_H=") + add_definitions("-DAUD_SOUND_H=") + add_definitions("-DAUD_HANDLE_H=") + add_definitions("-DAUD_SEQUENCE_H=") + add_definitions("-DAUD_TYPES_H=") + add_definitions("-DAUD_PYTHON_H=") + set(AUDASPACE_DEFINITIONS -DWITH_AUDASPACE -DWITH_SYSTEM_AUDASPACE) + else() + add_definitions("-DAUD_DEVICE_H=") + add_definitions("-DAUD_SPECIAL_H=") + add_definitions("-DAUD_SOUND_H=") + add_definitions("-DAUD_HANDLE_H=") + add_definitions("-DAUD_SEQUENCE_H=") + add_definitions("-DAUD_TYPES_H=") + set(AUDASPACE_C_INCLUDE_DIRS "${CMAKE_SOURCE_DIR}/intern/audaspace/intern") + set(AUDASPACE_PY_INCLUDE_DIRS "${CMAKE_SOURCE_DIR}/intern/audaspace/intern") + set(AUDASPACE_DEFINITIONS -DWITH_AUDASPACE) + endif() +endif() + #----------------------------------------------------------------------------- # Check for valid directories # ... a partial checkout may cause this. @@ -884,9 +912,9 @@ if(UNIX AND NOT APPLE) endif() # Audio IO - if(WITH_EXTERNAL_AUDASPACE) + if(WITH_SYSTEM_AUDASPACE) find_package_wrapper(Audaspace) - if(NOT AUDASPACE_FOUND OR NOT CAUDASPACE_FOUND) + if(NOT AUDASPACE_FOUND OR NOT AUDASPACE_C_FOUND) message(FATAL_ERROR "Audaspace external library not found!") endif() endif() @@ -1550,6 +1578,16 @@ elseif(WIN32) set(SDL_LIBPATH ${SDL}/lib) endif() + # Audio IO + if(WITH_SYSTEM_AUDASPACE) + set(AUDASPACE_INCLUDE_DIRS ${LIBDIR}/audaspace/include/audaspace) + set(AUDASPACE_LIBRARIES ${LIBDIR}/audaspace/lib/audaspace.lib) + set(AUDASPACE_C_INCLUDE_DIRS ${LIBDIR}/audaspace/include/audaspace) + set(AUDASPACE_C_LIBRARIES ${LIBDIR}/audaspace/lib/audaspace-c.lib) + set(AUDASPACE_PY_INCLUDE_DIRS ${LIBDIR}/audaspace/include/audaspace) + set(AUDASPACE_PY_LIBRARIES ${LIBDIR}/audaspace/lib/audaspace-py.lib) + endif() + # used in many places so include globally, like OpenGL blender_include_dirs_sys("${PTHREADS_INCLUDE_DIRS}") diff --git a/SConstruct b/SConstruct index f706645896b..ea3d840aaed 100644 --- a/SConstruct +++ b/SConstruct @@ -540,13 +540,25 @@ else: env['CPPFLAGS'].append('-D__LITTLE_ENDIAN__') # TODO, make optional (as with CMake) -env['CPPFLAGS'].append('-DWITH_AUDASPACE') env['CPPFLAGS'].append('-DWITH_AVI') env['CPPFLAGS'].append('-DWITH_OPENNL') if env['OURPLATFORM'] not in ('win32-vc', 'win64-vc'): env['CPPFLAGS'].append('-DHAVE_STDBOOL_H') +# Audaspace + +if env['WITH_BF_AUDASPACE']: + env['BF_AUDASPACE_C_INC'] = '#intern/audaspace/intern' + env['BF_AUDASPACE_PY_INC'] = '#intern/audaspace/intern' + env['BF_AUDASPACE_DEF'] = ['WITH_AUDASPACE'] + env['BF_AUDASPACE_DEF'].append('AUD_DEVICE_H=""') + env['BF_AUDASPACE_DEF'].append('AUD_SPECIAL_H=""') + env['BF_AUDASPACE_DEF'].append('AUD_SOUND_H=""') + env['BF_AUDASPACE_DEF'].append('AUD_HANDLE_H=""') + env['BF_AUDASPACE_DEF'].append('AUD_SEQUENCE_H=""') + env['BF_AUDASPACE_DEF'].append('AUD_TYPES_H=""') + # OpenGL if env['WITH_BF_GL_PROFILE_COMPAT']: diff --git a/build_files/cmake/Modules/FindAudaspace.cmake b/build_files/cmake/Modules/FindAudaspace.cmake index 361c1bf3ba4..5d0c7651593 100644 --- a/build_files/cmake/Modules/FindAudaspace.cmake +++ b/build_files/cmake/Modules/FindAudaspace.cmake @@ -4,12 +4,24 @@ # AUDASPACE_FOUND - system has audaspace # AUDASPACE_INCLUDE_DIRS - the audaspace include directories # AUDASPACE_LIBRARIES - link these to use audaspace -# CAUDASPACE_FOUND - system has audaspace's C binding -# CAUDASPACE_INCLUDE_DIRS - the audaspace's C binding include directories -# CAUDASPACE_LIBRARIES - link these to use audaspace's C binding -# PYAUDASPACE_FOUND - system has audaspace's python binding -# PYAUDASPACE_INCLUDE_DIRS - the audaspace's python binding include directories -# PYAUDASPACE_LIBRARIES - link these to use audaspace's python binding +# AUDASPACE_C_FOUND - system has audaspace's C binding +# AUDASPACE_C_INCLUDE_DIRS - the audaspace's C binding include directories +# AUDASPACE_C_LIBRARIES - link these to use audaspace's C binding +# AUDASPACE_PY_FOUND - system has audaspace's python binding +# AUDASPACE_PY_INCLUDE_DIRS - the audaspace's python binding include directories +# AUDASPACE_PY_LIBRARIES - link these to use audaspace's python binding + +IF(NOT AUDASPACE_ROOT_DIR AND NOT $ENV{AUDASPACE_ROOT_DIR} STREQUAL "") + SET(AUDASPACE_ROOT_DIR $ENV{AUDASPACE_ROOT_DIR}) +ENDIF() + +SET(_audaspace_SEARCH_DIRS + ${AUDASPACE_ROOT_DIR} + /usr/local + /sw # Fink + /opt/local # DarwinPorts + /opt/csw # Blastwave +) # Use pkg-config to get hints about paths find_package(PkgConfig) @@ -19,58 +31,77 @@ endif(PKG_CONFIG_FOUND) # Include dir find_path(AUDASPACE_INCLUDE_DIR - NAMES audaspace/ISound.h + NAMES ISound.h + HINTS ${_audaspace_SEARCH_DIRS} PATHS ${AUDASPACE_PKGCONF_INCLUDE_DIRS} ) # Library find_library(AUDASPACE_LIBRARY NAMES audaspace + HINTS ${_audaspace_SEARCH_DIRS} PATHS ${AUDASPACE_PKGCONF_LIBRARY_DIRS} ) # Include dir -find_path(CAUDASPACE_INCLUDE_DIR - NAMES audaspace/AUD_Sound.h +find_path(AUDASPACE_C_INCLUDE_DIR + NAMES AUD_Sound.h + HINTS ${_audaspace_SEARCH_DIRS} PATHS ${AUDASPACE_PKGCONF_INCLUDE_DIRS} ) # Library -find_library(CAUDASPACE_LIBRARY - NAMES caudaspace +find_library(AUDASPACE_C_LIBRARY + NAMES audaspace-c + HINTS ${_audaspace_SEARCH_DIRS} PATHS ${AUDASPACE_PKGCONF_LIBRARY_DIRS} ) # Include dir -find_path(PYAUDASPACE_INCLUDE_DIR - NAMES audaspace/python/PyAPI.h +find_path(AUDASPACE_PY_INCLUDE_DIR + NAMES python/PyAPI.h + HINTS ${_audaspace_SEARCH_DIRS} PATHS ${AUDASPACE_PKGCONF_INCLUDE_DIRS} ) # Library -find_library(PYAUDASPACE_LIBRARY - NAMES pyaudaspace +find_library(AUDASPACE_PY_LIBRARY + NAMES audaspace-py + HINTS ${_audaspace_SEARCH_DIRS} PATHS ${AUDASPACE_PKGCONF_LIBRARY_DIRS} ) find_package(PackageHandleStandardArgs) find_package_handle_standard_args(Audaspace DEFAULT_MSG AUDASPACE_LIBRARY AUDASPACE_INCLUDE_DIR) -find_package_handle_standard_args(CAudaspace DEFAULT_MSG CAUDASPACE_LIBRARY CAUDASPACE_INCLUDE_DIR) -find_package_handle_standard_args(PyAudaspace DEFAULT_MSG PYAUDASPACE_LIBRARY PYAUDASPACE_INCLUDE_DIR) +find_package_handle_standard_args(Audaspace_C DEFAULT_MSG AUDASPACE_C_LIBRARY AUDASPACE_C_INCLUDE_DIR) +find_package_handle_standard_args(Audaspace_Py DEFAULT_MSG AUDASPACE_PY_LIBRARY AUDASPACE_PY_INCLUDE_DIR) if(AUDASPACE_FOUND) - set(AUDASPACE_LIBRARIES ${AUDASPACE_LIBRARY}) - set(AUDASPACE_INCLUDE_DIRS ${AUDASPACE_INCLUDE_DIR}) + set(AUDASPACE_LIBRARIES ${AUDASPACE_LIBRARY}) + set(AUDASPACE_INCLUDE_DIRS ${AUDASPACE_INCLUDE_DIR}) endif(AUDASPACE_FOUND) -if(CAUDASPACE_FOUND) - set(CAUDASPACE_LIBRARIES ${CAUDASPACE_LIBRARY}) - set(CAUDASPACE_INCLUDE_DIRS ${CAUDASPACE_INCLUDE_DIR}) -endif(CAUDASPACE_FOUND) +if(AUDASPACE_C_FOUND) + set(AUDASPACE_C_LIBRARIES ${AUDASPACE_C_LIBRARY}) + set(AUDASPACE_C_INCLUDE_DIRS ${AUDASPACE_C_INCLUDE_DIR}) +endif(AUDASPACE_C_FOUND) -if(PYAUDASPACE_FOUND) - set(PYAUDASPACE_LIBRARIES ${PYAUDASPACE_LIBRARY}) - set(PYAUDASPACE_INCLUDE_DIRS ${PYAUDASPACE_INCLUDE_DIR}) -endif(PYAUDASPACE_FOUND) +if(AUDASPACE_PY_FOUND) + set(AUDASPACE_PY_LIBRARIES ${AUDASPACE_PY_LIBRARY}) + set(AUDASPACE_PY_INCLUDE_DIRS ${AUDASPACE_PY_INCLUDE_DIR}) +endif(AUDASPACE_PY_FOUND) -mark_as_advanced(AUDASPACE_LIBRARY AUDASPACE_LIBRARIES AUDASPACE_INCLUDE_DIR AUDASPACE_INCLUDE_DIRS CAUDASPACE_LIBRARY CAUDASPACE_LIBRARIES CAUDASPACE_INCLUDE_DIR CAUDASPACE_INCLUDE_DIRS PYAUDASPACE_LIBRARY PYAUDASPACE_LIBRARIES PYAUDASPACE_INCLUDE_DIR PYAUDASPACE_INCLUDE_DIRS) +mark_as_advanced( + AUDASPACE_LIBRARY + AUDASPACE_LIBRARIES + AUDASPACE_INCLUDE_DIR + AUDASPACE_INCLUDE_DIRS + AUDASPACE_C_LIBRARY + AUDASPACE_C_LIBRARIES + AUDASPACE_C_INCLUDE_DIR + AUDASPACE_C_INCLUDE_DIRS + AUDASPACE_PY_LIBRARY + AUDASPACE_PY_LIBRARIES + AUDASPACE_PY_INCLUDE_DIR + AUDASPACE_PY_INCLUDE_DIRS +) diff --git a/build_files/cmake/macros.cmake b/build_files/cmake/macros.cmake index de2109b5a6e..e7fc0ec0a6e 100644 --- a/build_files/cmake/macros.cmake +++ b/build_files/cmake/macros.cmake @@ -343,8 +343,8 @@ function(setup_liblinks if(WITH_BULLET AND WITH_SYSTEM_BULLET) target_link_libraries(${target} ${BULLET_LIBRARIES}) endif() - if(WITH_EXTERNAL_AUDASPACE) - target_link_libraries(${target} ${CAUDASPACE_LIBRARIES} ${PYAUDASPACE_LIBRARIES}) + if(WITH_AUDASPACE AND WITH_SYSTEM_AUDASPACE) + target_link_libraries(${target} ${AUDASPACE_C_LIBRARIES} ${AUDASPACE_PY_LIBRARIES}) endif() if(WITH_OPENAL) target_link_libraries(${target} ${OPENAL_LIBRARY}) diff --git a/build_files/scons/config/darwin-config.py b/build_files/scons/config/darwin-config.py index d3d4afaa6ab..0bf03a46bd2 100644 --- a/build_files/scons/config/darwin-config.py +++ b/build_files/scons/config/darwin-config.py @@ -52,6 +52,8 @@ BF_CXX = '/usr' WITH_BF_STATICCXX = False BF_CXX_LIB_STATIC = '${BF_CXX}/lib/libstdc++.a' +WITH_BF_AUDASPACE = True + # we use simply jack framework WITH_BF_JACK = True BF_JACK = '/Library/Frameworks/Jackmp.framework' diff --git a/build_files/scons/config/linux-config.py b/build_files/scons/config/linux-config.py index 3556c52021a..ff8ecf0aa72 100644 --- a/build_files/scons/config/linux-config.py +++ b/build_files/scons/config/linux-config.py @@ -26,6 +26,8 @@ BF_CXX = '/usr' WITH_BF_STATICCXX = False BF_CXX_LIB_STATIC = '${BF_CXX}/lib/libstdc++.a' +WITH_BF_AUDASPACE = True + WITH_BF_JACK = False BF_JACK = '/usr' BF_JACK_INC = '${BF_JACK}/include/jack' diff --git a/build_files/scons/config/win32-mingw-config.py b/build_files/scons/config/win32-mingw-config.py index 3a4dfcef4c9..552a1a5cec3 100644 --- a/build_files/scons/config/win32-mingw-config.py +++ b/build_files/scons/config/win32-mingw-config.py @@ -23,6 +23,8 @@ BF_FFMPEG_LIBPATH = LIBDIR + '/ffmpeg/lib' BF_FFMPEG_INC = LIBDIR + '/ffmpeg/include' BF_FFMPEG_DLL = '${BF_FFMPEG_LIBPATH}/avformat-55.dll ${BF_FFMPEG_LIBPATH}/avcodec-55.dll ${BF_FFMPEG_LIBPATH}/avdevice-55.dll ${BF_FFMPEG_LIBPATH}/avutil-52.dll ${BF_FFMPEG_LIBPATH}/swscale-2.dll' +WITH_BF_AUDASPACE = True + WITH_BF_JACK = False BF_JACK = LIBDIR + '/jack' BF_JACK_INC = '${BF_JACK}/include' diff --git a/build_files/scons/config/win32-vc-config.py b/build_files/scons/config/win32-vc-config.py index b639621c7d7..94e6cf9c8c4 100644 --- a/build_files/scons/config/win32-vc-config.py +++ b/build_files/scons/config/win32-vc-config.py @@ -42,6 +42,8 @@ BF_ICONV_INC = '${BF_ICONV}/include' BF_ICONV_LIB = 'iconv' BF_ICONV_LIBPATH = '${BF_ICONV}/lib' +WITH_BF_AUDASPACE = True + WITH_BF_JACK = False BF_JACK = LIBDIR + '/jack' BF_JACK_INC = '${BF_JACK}/include ${BF_FFMPEG}/include/msvc' diff --git a/build_files/scons/config/win64-mingw-config.py b/build_files/scons/config/win64-mingw-config.py index 16d859194db..87a9b5e4eac 100644 --- a/build_files/scons/config/win64-mingw-config.py +++ b/build_files/scons/config/win64-mingw-config.py @@ -22,6 +22,8 @@ BF_FFMPEG_LIBPATH = LIBDIR + '/ffmpeg/lib' BF_FFMPEG_INC = LIBDIR + '/ffmpeg/include' BF_FFMPEG_DLL = '${BF_FFMPEG_LIBPATH}/avformat-53.dll ${BF_FFMPEG_LIBPATH}/avcodec-53.dll ${BF_FFMPEG_LIBPATH}/avdevice-53.dll ${BF_FFMPEG_LIBPATH}/avutil-51.dll ${BF_FFMPEG_LIBPATH}/swscale-2.dll ${BF_FFMPEG_LIBPATH}/swresample-0.dll ${BF_FFMPEG_LIBPATH}/xvidcore.dll' +WITH_BF_AUDASPACE = True + WITH_BF_JACK = False BF_JACK = LIBDIR + '/jack' BF_JACK_INC = '${BF_JACK}/include' diff --git a/build_files/scons/config/win64-vc-config.py b/build_files/scons/config/win64-vc-config.py index 7cb6e6a471d..c25b62a756a 100644 --- a/build_files/scons/config/win64-vc-config.py +++ b/build_files/scons/config/win64-vc-config.py @@ -55,6 +55,8 @@ BF_SDL_INC = '${BF_SDL}/include' BF_SDL_LIB = 'SDL2.lib' BF_SDL_LIBPATH = '${BF_SDL}/lib' +WITH_BF_AUDASPACE = True + WITH_BF_JACK = False BF_PTHREADS = LIBDIR + '/pthreads' diff --git a/build_files/scons/tools/btools.py b/build_files/scons/tools/btools.py index 931b557c248..0b85940d024 100644 --- a/build_files/scons/tools/btools.py +++ b/build_files/scons/tools/btools.py @@ -107,6 +107,7 @@ def print_arguments(args, bc): def validate_arguments(args, bc): opts_list = [ 'WITH_BF_FREESTYLE', 'WITH_BF_PYTHON', 'WITH_BF_PYTHON_SAFETY', 'WITH_BF_PYTHON_SECURITY', 'BF_PYTHON', 'BF_PYTHON_VERSION', 'BF_PYTHON_INC', 'BF_PYTHON_BINARY', 'BF_PYTHON_LIB', 'BF_PYTHON_LIBPATH', 'BF_PYTHON_LIBPATH_ARCH', 'WITH_BF_STATICPYTHON', 'WITH_OSX_STATICPYTHON', 'BF_PYTHON_LIB_STATIC', 'BF_PYTHON_DLL', 'BF_PYTHON_ABI_FLAGS', + 'WITH_BF_AUDASPACE', 'BF_AUDASPACE_C_INC', 'BF_AUDASPACE_PY_INC', 'BF_AUDASPACE_DEF', 'WITH_BF_OPENAL', 'BF_OPENAL', 'BF_OPENAL_INC', 'BF_OPENAL_LIB', 'BF_OPENAL_LIBPATH', 'WITH_BF_STATICOPENAL', 'BF_OPENAL_LIB_STATIC', 'WITH_BF_SDL', 'BF_SDL', 'BF_SDL_INC', 'BF_SDL_LIB', 'BF_SDL_LIBPATH', 'WITH_BF_SDL_DYNLOAD', 'WITH_BF_JACK', 'BF_JACK', 'BF_JACK_INC', 'BF_JACK_LIB', 'BF_JACK_LIBPATH', 'WITH_BF_JACK_DYNLOAD', @@ -298,6 +299,11 @@ def read_opts(env, cfg, args): ('BF_OPENAL_LIBPATH', 'Path to OpenAL library', ''), (BoolVariable('WITH_BF_STATICOPENAL', 'Staticly link to openal', False)), + (BoolVariable('WITH_BF_AUDASPACE', 'Build with audaspace if true', True)), + ('BF_AUDASPACE_C_INC', 'audaspace-c include path', ''), + ('BF_AUDASPACE_PY_INC', 'audaspace-py include path', ''), + ('BF_AUDASPACE_DEF', 'audaspace defines', ''), + (BoolVariable('WITH_BF_SDL', 'Use SDL if true', False)), ('BF_SDL', 'SDL base path', ''), ('BF_SDL_INC', 'SDL include path', ''), diff --git a/intern/audaspace/CMakeLists.txt b/intern/audaspace/CMakeLists.txt index 7c6335166ec..7fecb1a48a7 100644 --- a/intern/audaspace/CMakeLists.txt +++ b/intern/audaspace/CMakeLists.txt @@ -21,15 +21,15 @@ remove_extra_strict_flags() -if(WITH_EXTERNAL_AUDASPACE) +if(WITH_SYSTEM_AUDASPACE) set(INC . ) set(INC_SYS - ${CAUDASPACE_INCLUDE_DIRS} - ${PYAUDASPACE_INCLUDE_DIRS} + ${AUDASPACE_C_INCLUDE_DIRS} + ${AUDASPACE_PY_INCLUDE_DIRS} ) set(SRC diff --git a/intern/audaspace/SConscript b/intern/audaspace/SConscript index cc338629c85..2975545f2b6 100644 --- a/intern/audaspace/SConscript +++ b/intern/audaspace/SConscript @@ -24,6 +24,10 @@ Import ('env') sources = env.Glob('intern/*.cpp') + env.Glob('FX/*.cpp') + +# AUD_PyInit is for external audaspace only +sources.remove('intern/AUD_PyInit.cpp') + incs = '. intern FX ' + env['BF_PTHREADS_INC'] + ' ' + env['BF_BOOST_INC'] defs = [] diff --git a/intern/audaspace/intern/AUD_PyInit.cpp b/intern/audaspace/intern/AUD_PyInit.cpp index 5e89d88c68f..4e27c31b838 100644 --- a/intern/audaspace/intern/AUD_PyInit.cpp +++ b/intern/audaspace/intern/AUD_PyInit.cpp @@ -28,9 +28,9 @@ #include "AUD_PyInit.h" -#include -#include -#include +#include +#include +#include extern "C" { extern void *BKE_sound_get_factory(void *sound); diff --git a/source/blender/blenkernel/BKE_sound.h b/source/blender/blenkernel/BKE_sound.h index cb71b939dc5..fc543b887e4 100644 --- a/source/blender/blenkernel/BKE_sound.h +++ b/source/blender/blenkernel/BKE_sound.h @@ -35,10 +35,8 @@ #define SOUND_WAVE_SAMPLES_PER_SECOND 250 -#ifdef WITH_AUDASPACE -# ifdef WITH_EXTERNAL_AUDASPACE -# include -# endif +#ifdef WITH_SYSTEM_AUDASPACE +# include AUD_DEVICE_H #endif struct bSound; @@ -83,7 +81,7 @@ void BKE_sound_load(struct Main *main, struct bSound *sound); void BKE_sound_free(struct bSound *sound); -#if defined(__AUD_C_API_H__) || defined(WITH_EXTERNAL_AUDASPACE) +#if defined(__AUD_C_API_H__) || defined(WITH_SYSTEM_AUDASPACE) AUD_Device *BKE_sound_mixdown(struct Scene *scene, AUD_DeviceSpecs specs, int start, float volume); #endif diff --git a/source/blender/blenkernel/CMakeLists.txt b/source/blender/blenkernel/CMakeLists.txt index dd5fcafd964..f0d6cfb7e1c 100644 --- a/source/blender/blenkernel/CMakeLists.txt +++ b/source/blender/blenkernel/CMakeLists.txt @@ -311,17 +311,11 @@ if(WIN32) endif() if(WITH_AUDASPACE) - list(APPEND INC - ../../../intern/audaspace/intern - ) - add_definitions(-DWITH_AUDASPACE) + add_definitions(${AUDASPACE_DEFINITIONS}) - if(WITH_EXTERNAL_AUDASPACE) - add_definitions(-DWITH_EXTERNAL_AUDASPACE) - list(APPEND INC_SYS - ${CAUDASPACE_INCLUDE_DIRS} - ) - endif() + list(APPEND INC_SYS + ${AUDASPACE_C_INCLUDE_DIRS} + ) endif() if(WITH_BULLET) diff --git a/source/blender/blenkernel/SConscript b/source/blender/blenkernel/SConscript index 5e6d402115b..20ac329f2cf 100644 --- a/source/blender/blenkernel/SConscript +++ b/source/blender/blenkernel/SConscript @@ -48,7 +48,6 @@ incs = [ env['BF_GLEW_INC'], '#/intern/ghost', '#/intern/glew-mx', - '#/intern/audaspace/intern', '#/intern/elbeem/extern', '#/intern/iksolver/extern', '#/intern/smoke/extern', @@ -121,6 +120,10 @@ if env['WITH_BF_CINEON']: if env['WITH_BF_HDR']: defs.append('WITH_HDR') +if env['WITH_BF_AUDASPACE']: + defs += env['BF_AUDASPACE_DEF'] + incs += ' ' + env['BF_AUDASPACE_C_INC'] + if env['WITH_BF_JACK']: defs.append('WITH_JACK') diff --git a/source/blender/blenkernel/intern/nla.c b/source/blender/blenkernel/intern/nla.c index 25629e7db94..037b44e0d8c 100644 --- a/source/blender/blenkernel/intern/nla.c +++ b/source/blender/blenkernel/intern/nla.c @@ -59,11 +59,7 @@ #include "BKE_library.h" #ifdef WITH_AUDASPACE -# ifdef WITH_EXTERNAL_AUDASPACE -# include -# else -# include "AUD_C-API.h" -# endif +# include AUD_SPECIAL_H #endif #include "RNA_access.h" diff --git a/source/blender/blenkernel/intern/sequencer.c b/source/blender/blenkernel/intern/sequencer.c index b087d809e82..bd652b02da2 100644 --- a/source/blender/blenkernel/intern/sequencer.c +++ b/source/blender/blenkernel/intern/sequencer.c @@ -88,11 +88,7 @@ #include "BKE_sound.h" #ifdef WITH_AUDASPACE -# ifdef WITH_EXTERNAL_AUDASPACE -# include -# else -# include "AUD_C-API.h" -# endif +# include AUD_SPECIAL_H #endif static ImBuf *seq_render_strip_stack(const SeqRenderData *context, ListBase *seqbasep, float cfra, int chanshown); diff --git a/source/blender/blenkernel/intern/sound.c b/source/blender/blenkernel/intern/sound.c index db92e0ed3c9..b81839f80fb 100644 --- a/source/blender/blenkernel/intern/sound.c +++ b/source/blender/blenkernel/intern/sound.c @@ -48,14 +48,12 @@ #include "DNA_speaker_types.h" #ifdef WITH_AUDASPACE -# ifdef WITH_EXTERNAL_AUDASPACE -# include -# include -# include -# include -# include "AUD_Set.h" -# else -# include "AUD_C-API.h" +# include AUD_SOUND_H +# include AUD_SEQUENCE_H +# include AUD_HANDLE_H +# include AUD_SPECIAL_H +# ifdef WITH_SYSTEM_AUDASPACE +# include "../../../intern/audaspace/intern/AUD_Set.h" # endif #endif @@ -845,7 +843,7 @@ float BKE_sound_get_length(bSound *sound) bool BKE_sound_is_jack_supported(void) { -#ifdef WITH_EXTERNAL_AUDASPACE +#ifdef WITH_SYSTEM_AUDASPACE return 1; #else return (bool)AUD_isJackSupported(); diff --git a/source/blender/blenkernel/intern/writeffmpeg.c b/source/blender/blenkernel/intern/writeffmpeg.c index eb07a2d370b..8969d6694ff 100644 --- a/source/blender/blenkernel/intern/writeffmpeg.c +++ b/source/blender/blenkernel/intern/writeffmpeg.c @@ -45,12 +45,8 @@ #include "BLI_blenlib.h" #ifdef WITH_AUDASPACE -# ifdef WITH_EXTERNAL_AUDASPACE -# include -# include -# else -# include "AUD_C-API.h" -# endif +# include AUD_DEVICE_H +# include AUD_SPECIAL_H #endif #include "BLI_utildefines.h" diff --git a/source/blender/editors/sound/CMakeLists.txt b/source/blender/editors/sound/CMakeLists.txt index c3ef0f8851f..535cd579030 100644 --- a/source/blender/editors/sound/CMakeLists.txt +++ b/source/blender/editors/sound/CMakeLists.txt @@ -39,14 +39,11 @@ set(SRC ) if(WITH_AUDASPACE) - add_definitions(-DWITH_AUDASPACE) + add_definitions(${AUDASPACE_DEFINITIONS}) - if(WITH_EXTERNAL_AUDASPACE) - add_definitions(-DWITH_EXTERNAL_AUDASPACE) - list(APPEND INC_SYS ${CAUDASPACE_INCLUDE_DIRS}) - else() - list(APPEND INC ../../../../intern/audaspace/intern) - endif() + list(APPEND INC_SYS + ${AUDASPACE_C_INCLUDE_DIRS} + ) endif() if(WITH_CODEC_FFMPEG) diff --git a/source/blender/editors/sound/SConscript b/source/blender/editors/sound/SConscript index 33feedf51cc..fad52c64df1 100644 --- a/source/blender/editors/sound/SConscript +++ b/source/blender/editors/sound/SConscript @@ -31,7 +31,6 @@ sources = env.Glob('*.c') incs = [ '#/intern/guardedalloc', - '#/intern/audaspace/intern', '../include', '../../blenkernel', '../../blenlib', @@ -44,6 +43,10 @@ incs = ' '.join(incs) defs = [] +if env['WITH_BF_AUDASPACE']: + defs += env['BF_AUDASPACE_DEF'] + incs += ' ' + env['BF_AUDASPACE_C_INC'] + if env['WITH_BF_FFMPEG']: defs.append('WITH_FFMPEG') diff --git a/source/blender/editors/sound/sound_ops.c b/source/blender/editors/sound/sound_ops.c index 1fd48dd7e00..c081539df41 100644 --- a/source/blender/editors/sound/sound_ops.c +++ b/source/blender/editors/sound/sound_ops.c @@ -67,11 +67,7 @@ #include "WM_types.h" #ifdef WITH_AUDASPACE -# ifdef WITH_EXTERNAL_AUDASPACE -# include -# else -# include "AUD_C-API.h" -# endif +# include AUD_SPECIAL_H #endif #include "ED_sound.h" diff --git a/source/blender/editors/space_graph/CMakeLists.txt b/source/blender/editors/space_graph/CMakeLists.txt index b911f9effbe..b692f0b1c12 100644 --- a/source/blender/editors/space_graph/CMakeLists.txt +++ b/source/blender/editors/space_graph/CMakeLists.txt @@ -48,14 +48,11 @@ set(SRC ) if(WITH_AUDASPACE) - add_definitions(-DWITH_AUDASPACE) + add_definitions(${AUDASPACE_DEFINITIONS}) - if(WITH_EXTERNAL_AUDASPACE) - add_definitions(-DWITH_EXTERNAL_AUDASPACE) - list(APPEND INC_SYS ${CAUDASPACE_INCLUDE_DIRS}) - else() - list(APPEND INC ../../../../intern/audaspace/intern) - endif() + list(APPEND INC_SYS + ${AUDASPACE_C_INCLUDE_DIRS} + ) endif() if(WITH_INTERNATIONAL) diff --git a/source/blender/editors/space_graph/SConscript b/source/blender/editors/space_graph/SConscript index 35e09749743..ac23e8ee4e7 100644 --- a/source/blender/editors/space_graph/SConscript +++ b/source/blender/editors/space_graph/SConscript @@ -33,7 +33,6 @@ incs = [ '#/intern/guardedalloc', env['BF_GLEW_INC'], '#/intern/glew-mx', - '#/intern/audaspace/intern', '../include', '../../blenfont', '../../blenkernel', @@ -47,6 +46,10 @@ incs = [ defs = env['BF_GL_DEFINITIONS'] +if env['WITH_BF_AUDASPACE']: + defs += env['BF_AUDASPACE_DEF'] + incs.append(env['BF_AUDASPACE_C_INC']) + if env['WITH_BF_INTERNATIONAL']: defs.append('WITH_INTERNATIONAL') diff --git a/source/blender/editors/space_graph/graph_edit.c b/source/blender/editors/space_graph/graph_edit.c index 1f2b02dcf31..cc18df92cb1 100644 --- a/source/blender/editors/space_graph/graph_edit.c +++ b/source/blender/editors/space_graph/graph_edit.c @@ -36,11 +36,7 @@ #include #ifdef WITH_AUDASPACE -# ifdef WITH_EXTERNAL_AUDASPACE -# include -# else -# include "AUD_C-API.h" -# endif +# include AUD_SPECIAL_H #endif #include "MEM_guardedalloc.h" diff --git a/source/blender/editors/space_sequencer/CMakeLists.txt b/source/blender/editors/space_sequencer/CMakeLists.txt index ea12ee3b751..03d81019997 100644 --- a/source/blender/editors/space_sequencer/CMakeLists.txt +++ b/source/blender/editors/space_sequencer/CMakeLists.txt @@ -53,14 +53,11 @@ set(SRC ) if(WITH_AUDASPACE) - add_definitions(-DWITH_AUDASPACE) + add_definitions(${AUDASPACE_DEFINITIONS}) - if(WITH_EXTERNAL_AUDASPACE) - add_definitions(-DWITH_EXTERNAL_AUDASPACE) - list(APPEND INC_SYS ${CAUDASPACE_INCLUDE_DIRS}) - else() - list(APPEND INC ../../../../intern/audaspace/intern) - endif() + list(APPEND INC_SYS + ${AUDASPACE_C_INCLUDE_DIRS} + ) endif() if(WITH_INTERNATIONAL) diff --git a/source/blender/editors/space_sequencer/SConscript b/source/blender/editors/space_sequencer/SConscript index 954f8abff69..8ec1cddce10 100644 --- a/source/blender/editors/space_sequencer/SConscript +++ b/source/blender/editors/space_sequencer/SConscript @@ -33,7 +33,6 @@ incs = [ '#/intern/guardedalloc', env['BF_GLEW_INC'], '#/intern/glew-mx', - '#/intern/audaspace/intern', '../include', '../../blenfont', '../../blenkernel', @@ -47,6 +46,10 @@ incs = [ defs = env['BF_GL_DEFINITIONS'] +if env['WITH_BF_AUDASPACE']: + defs += env['BF_AUDASPACE_DEF'] + incs.append(env['BF_AUDASPACE_C_INC']) + if env['OURPLATFORM'] in ('win32-vc', 'win32-mingw', 'linuxcross', 'win64-vc', 'win64-mingw'): incs.append(env['BF_PTHREADS_INC']) diff --git a/source/blender/editors/space_sequencer/sequencer_add.c b/source/blender/editors/space_sequencer/sequencer_add.c index 7ffed70d7b8..2039358b772 100644 --- a/source/blender/editors/space_sequencer/sequencer_add.c +++ b/source/blender/editors/space_sequencer/sequencer_add.c @@ -66,11 +66,7 @@ #include "BKE_sound.h" #ifdef WITH_AUDASPACE -# ifdef WITH_EXTERNAL_AUDASPACE -# include -# else -# include "AUD_C-API.h" -# endif +# include AUD_SEQUENCE_H #endif /* own include */ diff --git a/source/blender/makesrna/SConscript b/source/blender/makesrna/SConscript index 52c01f6d476..4b05a0db358 100644 --- a/source/blender/makesrna/SConscript +++ b/source/blender/makesrna/SConscript @@ -40,7 +40,6 @@ incs = [ '#/intern/memutil', env['BF_GLEW_INC'], '#/intern/glew-mx', - '#/intern/audaspace/intern', '#/intern/cycles/blender', '#/intern/smoke/extern', '../blenfont', diff --git a/source/blender/makesrna/intern/CMakeLists.txt b/source/blender/makesrna/intern/CMakeLists.txt index 36e0a49c01d..3ebce1a7af0 100644 --- a/source/blender/makesrna/intern/CMakeLists.txt +++ b/source/blender/makesrna/intern/CMakeLists.txt @@ -224,14 +224,11 @@ if(WITH_IMAGE_FRAMESERVER) endif() if(WITH_AUDASPACE) - add_definitions(-DWITH_AUDASPACE) + add_definitions(${AUDASPACE_DEFINITIONS}) - if(WITH_EXTERNAL_AUDASPACE) - add_definitions(-DWITH_EXTERNAL_AUDASPACE) - list(APPEND INC_SYS ${CAUDASPACE_INCLUDE_DIRS}) - else() - list(APPEND INC ../../../../intern/audaspace/intern) - endif() + list(APPEND INC_SYS + ${AUDASPACE_C_INCLUDE_DIRS} + ) endif() if(WITH_CODEC_QUICKTIME) @@ -332,7 +329,6 @@ blender_include_dirs( ../../windowmanager ../../editors/include ../../render/extern/include - ../../../../intern/audaspace/intern ../../../../intern/cycles/blender ../../../../intern/guardedalloc ../../../../intern/glew-mx diff --git a/source/blender/makesrna/intern/SConscript b/source/blender/makesrna/intern/SConscript index 0e36a4c9712..0a9f9eec08c 100644 --- a/source/blender/makesrna/intern/SConscript +++ b/source/blender/makesrna/intern/SConscript @@ -59,7 +59,6 @@ incs = [ '#/intern/guardedalloc', env['BF_GLEW_INC'], '#/intern/glew-mx', - '#/intern/audaspace/intern', '#/intern/cycles/blender', '#/intern/smoke/extern', '../../blenfont', @@ -110,6 +109,10 @@ if env['WITH_BF_HDR']: if env['WITH_BF_FRAMESERVER']: defs.append('WITH_FRAMESERVER') +if env['WITH_BF_AUDASPACE']: + defs += env['BF_AUDASPACE_DEF'] + incs += ' ' + env['BF_AUDASPACE_C_INC'] + if env['WITH_BF_FFMPEG']: defs.append('WITH_FFMPEG') incs += ' ' + env['BF_FFMPEG_INC'] + ' #/intern/ffmpeg' diff --git a/source/blender/makesrna/intern/rna_scene.c b/source/blender/makesrna/intern/rna_scene.c index 9c4fcd927c8..db00f149758 100644 --- a/source/blender/makesrna/intern/rna_scene.c +++ b/source/blender/makesrna/intern/rna_scene.c @@ -58,13 +58,7 @@ #ifdef WITH_QUICKTIME # include "quicktime_export.h" -# ifdef WITH_AUDASPACE -# ifdef WITH_EXTERNAL_AUDASPACE -# include -# else -# include "AUD_Space.h" -# endif -# endif +# include AUD_TYPES_H #endif #ifdef WITH_FFMPEG diff --git a/source/blender/python/SConscript b/source/blender/python/SConscript index 5f032f25cf3..7c5156605fc 100644 --- a/source/blender/python/SConscript +++ b/source/blender/python/SConscript @@ -35,7 +35,6 @@ incs = [ '#/intern/memutil', env['BF_GLEW_INC'], '#/intern/glew-mx', - '#/intern/audaspace/intern', '#/intern/cycles/blender', '../blenfont', '../blenkernel', diff --git a/source/blender/windowmanager/CMakeLists.txt b/source/blender/windowmanager/CMakeLists.txt index 4014d370eb8..5328e62367b 100644 --- a/source/blender/windowmanager/CMakeLists.txt +++ b/source/blender/windowmanager/CMakeLists.txt @@ -80,10 +80,11 @@ set(SRC ) if(WITH_AUDASPACE) - list(APPEND INC - ../../../intern/audaspace/intern + add_definitions(${AUDASPACE_DEFINITIONS}) + + list(APPEND INC_SYS + ${AUDASPACE_C_INCLUDE_DIRS} ) - add_definitions(-DWITH_AUDASPACE) endif() add_definitions(${GL_DEFINITIONS}) diff --git a/source/blender/windowmanager/SConscript b/source/blender/windowmanager/SConscript index 47eee41cf16..e05bc130c20 100644 --- a/source/blender/windowmanager/SConscript +++ b/source/blender/windowmanager/SConscript @@ -32,7 +32,6 @@ sources = env.Glob('intern/*.c') incs = [ '.', - '#/intern/audaspace/intern', '#/intern/ghost', '#/intern/guardedalloc', '#/intern/memutil', @@ -74,6 +73,10 @@ if env['OURPLATFORM'] in ('win32-vc', 'win32-mingw', 'win64-vc', 'win64-mingw'): if env['WITH_BF_IME']: defs.append('WITH_INPUT_IME') +if env['WITH_BF_AUDASPACE']: + defs += env['BF_AUDASPACE_DEF'] + incs += ' ' + env['BF_AUDASPACE_C_INC'] + if env['WITH_BF_INTERNATIONAL']: defs.append('WITH_INTERNATIONAL') diff --git a/source/blender/windowmanager/intern/wm_playanim.c b/source/blender/windowmanager/intern/wm_playanim.c index 3173e0180fa..e63b4661870 100644 --- a/source/blender/windowmanager/intern/wm_playanim.c +++ b/source/blender/windowmanager/intern/wm_playanim.c @@ -72,7 +72,10 @@ #include "WM_api.h" /* only for WM_main_playanim */ #ifdef WITH_AUDASPACE -#include "AUD_C-API.h" +# include AUD_DEVICE_H +# include AUD_HANDLE_H +# include AUD_SOUND_H +# include AUD_SPECIAL_H AUD_Sound *source = NULL; AUD_Handle *playback_handle = NULL; @@ -1107,8 +1110,8 @@ static char *wm_main_playanim_intern(int argc, const char **argv) AUD_initOnce(); - if (!(audio_device = AUD_init("OpenAL", specs, AUD_DEFAULT_BUFFER_SIZE, "Blender"))) - audio_device = AUD_init("Null", specs, AUD_DEFAULT_BUFFER_SIZE, "Blender"); + if (!(audio_device = AUD_init("OpenAL", specs, 1024, "Blender"))) + audio_device = AUD_init("Null", specs, 0, "Blender"); #endif diff --git a/source/creator/CMakeLists.txt b/source/creator/CMakeLists.txt index f0b6001cca1..5930fd36988 100644 --- a/source/creator/CMakeLists.txt +++ b/source/creator/CMakeLists.txt @@ -794,6 +794,16 @@ elseif(WIN32) DESTINATION "." ) endif() + + if(WITH_SYSTEM_AUDASPACE) + install( + FILES + ${LIBDIR}/audaspace/lib/audaspace.dll + ${LIBDIR}/audaspace/lib/audaspace-c.dll + ${LIBDIR}/audaspace/lib/audaspace-py.dll + DESTINATION "." + ) + endif() if(NOT CMAKE_CL_64) install( diff --git a/source/gameengine/BlenderRoutines/BL_KetsjiEmbedStart.cpp b/source/gameengine/BlenderRoutines/BL_KetsjiEmbedStart.cpp index 7dfefb07184..dcdc5463b04 100644 --- a/source/gameengine/BlenderRoutines/BL_KetsjiEmbedStart.cpp +++ b/source/gameengine/BlenderRoutines/BL_KetsjiEmbedStart.cpp @@ -102,11 +102,7 @@ typedef void * wmUIHandlerRemoveFunc; } #ifdef WITH_AUDASPACE -# ifdef WITH_EXTERNAL_AUDASPACE -# include -# else -# include "AUD_C-API.h" -# endif +# include AUD_DEVICE_H #endif static BlendFileData *load_game_data(char *filename) diff --git a/source/gameengine/BlenderRoutines/CMakeLists.txt b/source/gameengine/BlenderRoutines/CMakeLists.txt index 324babf9fa9..aaeb2e10462 100644 --- a/source/gameengine/BlenderRoutines/CMakeLists.txt +++ b/source/gameengine/BlenderRoutines/CMakeLists.txt @@ -56,14 +56,11 @@ set(SRC add_definitions(${GL_DEFINITIONS}) if(WITH_AUDASPACE) - add_definitions(-DWITH_AUDASPACE) + add_definitions(${AUDASPACE_DEFINITIONS}) - if(WITH_EXTERNAL_AUDASPACE) - add_definitions(-DWITH_EXTERNAL_AUDASPACE) - list(APPEND INC_SYS ${CAUDASPACE_INCLUDE_DIRS}) - else() - list(APPEND INC ../../../intern/audaspace/intern) - endif() + list(APPEND INC_SYS + ${AUDASPACE_C_INCLUDE_DIRS} + ) endif() if(WITH_CODEC_FFMPEG) diff --git a/source/gameengine/BlenderRoutines/SConscript b/source/gameengine/BlenderRoutines/SConscript index def0bc32697..9bce7b78bf4 100644 --- a/source/gameengine/BlenderRoutines/SConscript +++ b/source/gameengine/BlenderRoutines/SConscript @@ -39,7 +39,6 @@ incs = [ '#source/blender', env['BF_GLEW_INC'], '#/intern/glew-mx', - '#intern/audaspace/intern', '#intern/ghost/include', '#intern/moto/include', '#source/blender/blenfont', @@ -67,6 +66,10 @@ incs = [ ] incs = ' '.join(incs) +if env['WITH_BF_AUDASPACE']: + defs += env['BF_AUDASPACE_DEF'] + incs += ' ' + env['BF_AUDASPACE_C_INC'] + if env['WITH_BF_FFMPEG']: defs.append('WITH_FFMPEG') diff --git a/source/gameengine/Converter/CMakeLists.txt b/source/gameengine/Converter/CMakeLists.txt index dba3f4da050..4db9fcebd06 100644 --- a/source/gameengine/Converter/CMakeLists.txt +++ b/source/gameengine/Converter/CMakeLists.txt @@ -113,14 +113,11 @@ if(WITH_BULLET) endif() if(WITH_AUDASPACE) - add_definitions(-DWITH_AUDASPACE) + add_definitions(${AUDASPACE_DEFINITIONS}) - if(WITH_EXTERNAL_AUDASPACE) - add_definitions(-DWITH_EXTERNAL_AUDASPACE) - list(APPEND INC_SYS ${CAUDASPACE_INCLUDE_DIRS}) - else() - list(APPEND INC ../../../intern/audaspace/intern) - endif() + list(APPEND INC_SYS + ${AUDASPACE_C_INCLUDE_DIRS} + ) endif() blender_add_lib(ge_converter "${SRC}" "${INC}" "${INC_SYS}") diff --git a/source/gameengine/Converter/KX_ConvertActuators.cpp b/source/gameengine/Converter/KX_ConvertActuators.cpp index 65290ae4f2c..3b36e094a75 100644 --- a/source/gameengine/Converter/KX_ConvertActuators.cpp +++ b/source/gameengine/Converter/KX_ConvertActuators.cpp @@ -42,11 +42,7 @@ #include "KX_ConvertActuators.h" #ifdef WITH_AUDASPACE -# ifdef WITH_EXTERNAL_AUDASPACE -# include -# else -# include "AUD_C-API.h" -# endif +# include AUD_SOUND_H #endif // Actuators diff --git a/source/gameengine/Converter/SConscript b/source/gameengine/Converter/SConscript index affd4c94ed8..6336fcd3906 100644 --- a/source/gameengine/Converter/SConscript +++ b/source/gameengine/Converter/SConscript @@ -37,7 +37,6 @@ incs = [ '#intern/guardedalloc', '#intern/string', '#source/blender', - '#intern/audaspace/intern', '#intern/moto/include', '#source/blender/blenkernel', '#source/blender/blenlib', @@ -79,6 +78,10 @@ if env['WITH_BF_PYTHON']: incs += ' ' + env['BF_PYTHON_INC'] defs.append('WITH_PYTHON') +if env['WITH_BF_AUDASPACE']: + defs += env['BF_AUDASPACE_DEF'] + incs += ' ' + env['BF_AUDASPACE_C_INC'] + if env['WITH_BF_CXX_GUARDEDALLOC']: defs.append('WITH_CXX_GUARDEDALLOC') diff --git a/source/gameengine/GamePlayer/ghost/CMakeLists.txt b/source/gameengine/GamePlayer/ghost/CMakeLists.txt index 58e47bc4440..48938b11cb9 100644 --- a/source/gameengine/GamePlayer/ghost/CMakeLists.txt +++ b/source/gameengine/GamePlayer/ghost/CMakeLists.txt @@ -85,14 +85,11 @@ if(WITH_INTERNATIONAL) endif() if(WITH_AUDASPACE) - add_definitions(-DWITH_AUDASPACE) + add_definitions(${AUDASPACE_DEFINITIONS}) - if(WITH_EXTERNAL_AUDASPACE) - add_definitions(-DWITH_EXTERNAL_AUDASPACE) - list(APPEND INC_SYS ${CAUDASPACE_INCLUDE_DIRS}) - else() - list(APPEND INC ../../../../intern/audaspace/intern) - endif() + list(APPEND INC_SYS + ${AUDASPACE_C_INCLUDE_DIRS} + ) endif() if(WITH_SDL AND WITH_SDL_DYNLOAD) diff --git a/source/gameengine/GamePlayer/ghost/GPG_Application.cpp b/source/gameengine/GamePlayer/ghost/GPG_Application.cpp index a0c314230f5..c3eb07d18a1 100644 --- a/source/gameengine/GamePlayer/ghost/GPG_Application.cpp +++ b/source/gameengine/GamePlayer/ghost/GPG_Application.cpp @@ -100,11 +100,7 @@ extern "C" #include "GHOST_Rect.h" #ifdef WITH_AUDASPACE -# ifdef WITH_EXTERNAL_AUDASPACE -# include -# else -# include "AUD_C-API.h" -# endif +# include AUD_DEVICE_H #endif static void frameTimerProc(GHOST_ITimerTask* task, GHOST_TUns64 time); diff --git a/source/gameengine/GamePlayer/ghost/SConscript b/source/gameengine/GamePlayer/ghost/SConscript index 610abcd0357..c31bd0c2f08 100644 --- a/source/gameengine/GamePlayer/ghost/SConscript +++ b/source/gameengine/GamePlayer/ghost/SConscript @@ -44,7 +44,6 @@ incs = [ '#intern/memutil', '#intern/moto/include', '#intern/container', - '#intern/audaspace/intern', '#source/gameengine/Rasterizer/RAS_OpenGLRasterizer', '#source/gameengine/BlenderRoutines', '#source/gameengine/Converter', @@ -81,6 +80,10 @@ if env['WITH_BF_PYTHON']: incs += Split(env['BF_PYTHON_INC']) defs.append('WITH_PYTHON') +if env['WITH_BF_AUDASPACE']: + defs += env['BF_AUDASPACE_DEF'] + incs.append(env['BF_AUDASPACE_C_INC']) + if env['WITH_BF_FFMPEG']: defs.append('WITH_FFMPEG') diff --git a/source/gameengine/Ketsji/CMakeLists.txt b/source/gameengine/Ketsji/CMakeLists.txt index f938994f86a..2607e2bb4b7 100644 --- a/source/gameengine/Ketsji/CMakeLists.txt +++ b/source/gameengine/Ketsji/CMakeLists.txt @@ -248,17 +248,12 @@ if(WITH_CODEC_FFMPEG) endif() if(WITH_AUDASPACE) - list(APPEND INC ../../../intern/audaspace/intern) + add_definitions(${AUDASPACE_DEFINITIONS}) - add_definitions(-DWITH_AUDASPACE) - - if(WITH_EXTERNAL_AUDASPACE) - add_definitions(-DWITH_EXTERNAL_AUDASPACE) - list(APPEND INC_SYS - ${CAUDASPACE_INCLUDE_DIRS} - ${PYAUDASPACE_INCLUDE_DIRS} - ) - endif() + list(APPEND INC_SYS + ${AUDASPACE_C_INCLUDE_DIRS} + ${AUDASPACE_PY_INCLUDE_DIRS} + ) endif() if(WITH_BULLET) diff --git a/source/gameengine/Ketsji/KX_PythonInit.cpp b/source/gameengine/Ketsji/KX_PythonInit.cpp index 2eaacf43041..4cb632ed739 100644 --- a/source/gameengine/Ketsji/KX_PythonInit.cpp +++ b/source/gameengine/Ketsji/KX_PythonInit.cpp @@ -61,7 +61,7 @@ extern "C" { # include "marshal.h" /* python header for loading/saving dicts */ } -#include "AUD_PyInit.h" +#include "../../../../intern/audaspace/intern/AUD_PyInit.h" #endif /* WITH_PYTHON */ diff --git a/source/gameengine/Ketsji/KX_SoundActuator.cpp b/source/gameengine/Ketsji/KX_SoundActuator.cpp index 8f225e4d93b..14f0598d088 100644 --- a/source/gameengine/Ketsji/KX_SoundActuator.cpp +++ b/source/gameengine/Ketsji/KX_SoundActuator.cpp @@ -37,14 +37,14 @@ #include "KX_SoundActuator.h" #ifdef WITH_AUDASPACE -# ifdef WITH_EXTERNAL_AUDASPACE +# ifdef WITH_SYSTEM_AUDASPACE typedef float sample_t; -# include -# include -# include -# include -# include +# include AUD_PYTHON_H # endif +# include AUD_SOUND_H +# include AUD_SPECIAL_H +# include AUD_DEVICE_H +# include AUD_HANDLE_H #endif #include "KX_GameObject.h" diff --git a/source/gameengine/Ketsji/KX_SoundActuator.h b/source/gameengine/Ketsji/KX_SoundActuator.h index 83d22142bda..5ec2fda722f 100644 --- a/source/gameengine/Ketsji/KX_SoundActuator.h +++ b/source/gameengine/Ketsji/KX_SoundActuator.h @@ -35,12 +35,8 @@ #include "SCA_IActuator.h" #ifdef WITH_AUDASPACE -# ifdef WITH_EXTERNAL_AUDASPACE -# include -# include -# else -# include "AUD_C-API.h" -# endif +# include AUD_SOUND_H +# include AUD_HANDLE_H #endif #include "BKE_sound.h" diff --git a/source/gameengine/Ketsji/SConscript b/source/gameengine/Ketsji/SConscript index 8074a4064ff..5b2807d8172 100644 --- a/source/gameengine/Ketsji/SConscript +++ b/source/gameengine/Ketsji/SConscript @@ -40,8 +40,6 @@ incs = [ '#source/blender', env['BF_GLEW_INC'], '#/intern/glew-mx', - '#intern/audaspace/FX', - '#intern/audaspace/intern', '#intern/moto/include', '#source/blender/blenfont', '#source/blender/blenkernel', @@ -86,6 +84,11 @@ if env['WITH_BF_PYTHON']: incs += ' ' + env['BF_PYTHON_INC'] defs.append('WITH_PYTHON') +if env['WITH_BF_AUDASPACE']: + defs += env['BF_AUDASPACE_DEF'] + incs += ' ' + env['BF_AUDASPACE_C_INC'] + incs += ' ' + env['BF_AUDASPACE_PY_INC'] + if env['WITH_BF_FFMPEG']: defs.append('WITH_FFMPEG')