From 192aee0f191e6070b91be066b599b8dc3302a5e1 Mon Sep 17 00:00:00 2001 From: Andrey Kleshchev Date: Fri, 31 Jan 2020 15:05:51 +0000 Subject: Merged in SL-11445 Upgrade Fmodex to Fmod Studio --- indra/cmake/FMODSTUDIO.cmake | 38 ++++++++++++++++++++++++++++++++++++++ 1 file changed, 38 insertions(+) create mode 100644 indra/cmake/FMODSTUDIO.cmake (limited to 'indra/cmake/FMODSTUDIO.cmake') diff --git a/indra/cmake/FMODSTUDIO.cmake b/indra/cmake/FMODSTUDIO.cmake new file mode 100644 index 0000000000..1539270d6c --- /dev/null +++ b/indra/cmake/FMODSTUDIO.cmake @@ -0,0 +1,38 @@ +# -*- cmake -*- + +# FMODSTUDIO can be set when launching the make using the argument -DFMODSTUDIO:BOOL=ON +# When building using proprietary binaries though (i.e. having access to LL private servers), +# we always build with FMODSTUDIO. +if (INSTALL_PROPRIETARY) + set(FMODSTUDIO ON CACHE BOOL "Using FMODSTUDIO sound library.") +endif (INSTALL_PROPRIETARY) + +if (FMODSTUDIO) + if (FMODSTUDIO_LIBRARY AND FMODSTUDIO_INCLUDE_DIR) + # If the path have been specified in the arguments, use that + set(FMODSTUDIO_LIBRARIES ${FMODSTUDIO_LIBRARY}) + else (FMODSTUDIO_LIBRARY AND FMODSTUDIO_INCLUDE_DIR) + # If not, we're going to try to get the package listed in autobuild.xml + # Note: if you're not using INSTALL_PROPRIETARY, the package URL should be local (file:/// URL) + # as accessing the private LL location will fail if you don't have the credential + include(Prebuilt) + use_prebuilt_binary(fmodstudio) + if (WINDOWS) + set(FMODSTUDIO_LIBRARY + debug fmodL_vc + optimized fmod_vc) + elseif (DARWIN) + #despite files being called libfmod.dylib, we are searching for fmod + set(FMODSTUDIO_LIBRARY + debug fmodL + optimized fmod) + elseif (LINUX) + set(FMODEX_LIBRARY + debug fmodL + optimized fmod) + endif (WINDOWS) + set(FMODSTUDIO_LIBRARIES ${FMODSTUDIO_LIBRARY}) + set(FMODSTUDIO_INCLUDE_DIR ${LIBS_PREBUILT_DIR}/include/fmodstudio) + endif (FMODSTUDIO_LIBRARY AND FMODSTUDIO_INCLUDE_DIR) +endif (FMODSTUDIO) + -- cgit v1.3 From e76f25d25fb96965fcf37a477bbf8c14ef1eccb2 Mon Sep 17 00:00:00 2001 From: Andrey Kleshchev Date: Tue, 4 Feb 2020 16:19:20 +0200 Subject: SL-11445 Couple small fixes --- .gitignore | 1 + indra/cmake/FMODSTUDIO.cmake | 2 +- indra/llaudio/lllistener_fmodstudio.cpp | 5 +++-- indra/llaudio/llstreamingaudio_fmodstudio.h | 2 +- indra/newview/app_settings/settings.xml | 6 +++--- 5 files changed, 9 insertions(+), 7 deletions(-) (limited to 'indra/cmake/FMODSTUDIO.cmake') diff --git a/.gitignore b/.gitignore index 27b629a578..2d32e94c78 100755 --- a/.gitignore +++ b/.gitignore @@ -3,6 +3,7 @@ *.bak *.diff *.orig +*.patch *.pyc *.rej *.swp diff --git a/indra/cmake/FMODSTUDIO.cmake b/indra/cmake/FMODSTUDIO.cmake index 1539270d6c..8840354ac6 100644 --- a/indra/cmake/FMODSTUDIO.cmake +++ b/indra/cmake/FMODSTUDIO.cmake @@ -27,7 +27,7 @@ if (FMODSTUDIO) debug fmodL optimized fmod) elseif (LINUX) - set(FMODEX_LIBRARY + set(FMODSTUDIO_LIBRARY debug fmodL optimized fmod) endif (WINDOWS) diff --git a/indra/llaudio/lllistener_fmodstudio.cpp b/indra/llaudio/lllistener_fmodstudio.cpp index fd88b981c4..34f3d00eae 100644 --- a/indra/llaudio/lllistener_fmodstudio.cpp +++ b/indra/llaudio/lllistener_fmodstudio.cpp @@ -105,9 +105,10 @@ void LLListener_FMODSTUDIO::commitDeferredChanges() void LLListener_FMODSTUDIO::setRolloffFactor(F32 factor) { - //An internal FMODEx optimization skips 3D updates if there have not been changes to the 3D sound environment. + //An internal FMOD optimization skips 3D updates if there have not been changes to the 3D sound environment. + // (this was true for FMODex, looks to be still true for FMOD STUDIO) //Sadly, a change in rolloff is not accounted for, thus we must touch the listener properties as well. - //In short: Changing the position ticks a dirtyflag inside fmodex, which makes it not skip 3D processing next update call. + //In short: Changing the position ticks a dirtyflag inside fmod, which makes it not skip 3D processing next update call. if (mRolloffFactor != factor) { LLVector3 pos = mVelocity - LLVector3(0.f, 0.f, .1f); diff --git a/indra/llaudio/llstreamingaudio_fmodstudio.h b/indra/llaudio/llstreamingaudio_fmodstudio.h index 6637b2d155..1fc3c54d79 100644 --- a/indra/llaudio/llstreamingaudio_fmodstudio.h +++ b/indra/llaudio/llstreamingaudio_fmodstudio.h @@ -70,4 +70,4 @@ private: }; -#endif // LL_STREAMINGAUDIO_FMODEX_H +#endif // LL_STREAMINGAUDIO_FMODSTUDIO_H diff --git a/indra/newview/app_settings/settings.xml b/indra/newview/app_settings/settings.xml index da1e87fda4..2907d9f5b3 100644 --- a/indra/newview/app_settings/settings.xml +++ b/indra/newview/app_settings/settings.xml @@ -16167,7 +16167,7 @@ FMODExProfilerEnable Comment - Enable profiler tool if using FMOD Ex + Enable profiler tool if using FMOD Ex or FMOD Studio Persist 1 Type @@ -16178,7 +16178,7 @@ FMODExDecodeBufferSize Comment - Sets the streaming decode buffer size (in milliseconds) + Sets the streaming decode buffer size (in milliseconds) for FMOD Ex or FMOD Studio Persist 1 Type @@ -16189,7 +16189,7 @@ FMODExStreamBufferSize Comment - Sets the streaming buffer size (in milliseconds) + Sets the streaming buffer size (in milliseconds) for FMOD Ex or FMOD Studio Persist 1 Type -- cgit v1.3