Skip to content
Open
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
230 commits
Select commit Hold shift + click to select a range
f62ebbf
:tada: Add audio engine
florianSasz Sep 26, 2023
759e68b
:beetle: openal-soft compilation fixed
florianSasz Sep 27, 2023
a85c494
:tada: Add temporary audio playback test
florianSasz Sep 27, 2023
2ad76eb
:wrench: remove wrong line
florianSasz Sep 27, 2023
92dc459
:wrench: adjust function param and add deconstructor
florianSasz Sep 27, 2023
fdf7ccb
:tada: Add sound source class:
florianSasz Sep 28, 2023
fabf95d
:hammer: Make AudioEngine compilable
florianSasz Sep 28, 2023
1e8439c
:truck: Add sub directory
florianSasz Sep 28, 2023
4f5b927
:tada: Add AudioEngine to Application Startup
florianSasz Sep 28, 2023
4e90de0
:wrench: Add function declaration
florianSasz Sep 28, 2023
2178829
:tada: Add BufferManager and Source to Main class
florianSasz Sep 28, 2023
824f3ff
:tada: Add File reading and Buffer filling
florianSasz Sep 29, 2023
bc76886
:wrench: fix compilation erros
florianSasz Sep 29, 2023
bbf55cc
:tada: Add temporary BufferManager and Source Test
florianSasz Sep 29, 2023
41ac7e2
:wrench: Removed not needed Sound Test
florianSasz Sep 29, 2023
939e1e1
:beetle: Fix wrong pointer type
florianSasz Sep 29, 2023
1d6cf61
:wrench: Add AudioEngine to Application clean up
florianSasz Oct 3, 2023
3c4580d
:tada: Add first draft of pipeline and processing steps
florianSasz Oct 3, 2023
e2eff54
:tada: Add Listener Settings
florianSasz Oct 3, 2023
6886065
:tada: Add error handling for OpenAL calls
florianSasz Oct 3, 2023
2ab0d52
:tada: Add Audio Source Settings
florianSasz Oct 3, 2023
c817d59
:tada: Add error error handling
florianSasz Oct 3, 2023
4f89ac8
:tada: Add error handling for OpenAL Context calls
florianSasz Oct 3, 2023
226d40d
:tada: Add get/set Devices function
florianSasz Oct 3, 2023
7b852c0
:wrench: update temporary test function
florianSasz Oct 3, 2023
f811812
:tada: Add get/set Devices function
florianSasz Oct 3, 2023
cc4a2b8
:wrench: define deconstructor and adjust type
florianSasz Oct 3, 2023
9a00018
:beetle: fix typo
florianSasz Oct 3, 2023
e74e37f
:truck: Renamed openAL error handling class
florianSasz Oct 6, 2023
ccb75f1
:wrench: Remove Pipelines form AudioEngine
florianSasz Oct 6, 2023
09ea78f
:hammer: Make alErrorHandling static
florianSasz Oct 6, 2023
1b64bb3
:tada: Make getDevice() functional
florianSasz Oct 6, 2023
8cda780
:tada: Disable Copying and Moving
florianSasz Oct 6, 2023
d3d8c81
:tada: Add ProcessingStepManager
florianSasz Oct 6, 2023
4cf51b8
:tada: Add master volume function
florianSasz Oct 6, 2023
35242ca
:wrench: update temporary test functions
florianSasz Oct 6, 2023
04c0461
:tada: Add settings buffer to source
florianSasz Oct 6, 2023
383dff3
:wrench: Add temporary audio settings test
florianSasz Oct 6, 2023
819daac
:tada: Add Source groups
florianSasz Oct 6, 2023
c8fb7c6
:tada: Add functionality to processing steps
florianSasz Oct 6, 2023
e5798fb
:wrench: update usage of new alErrorHandling class
florianSasz Oct 6, 2023
e930db3
:wrench: Add/remove comments
florianSasz Oct 6, 2023
02833ea
:wrench: Update Source constructor
florianSasz Oct 6, 2023
c2b3919
:wrench: Update includes
florianSasz Oct 6, 2023
43e6a3a
:wrench: update source constructor
florianSasz Oct 6, 2023
23ba2dc
:wrench: Add const keyword to functions
florianSasz Oct 6, 2023
f0a3b69
:wrench: Adjust member variables
florianSasz Oct 6, 2023
071ac99
:beetle: Fix typo
florianSasz Oct 10, 2023
df099fd
:hammer: Change SourceSettings type to map
florianSasz Oct 10, 2023
e2e546d
:tada: implement source groups
florianSasz Oct 10, 2023
ba73a06
:tada: Add SettingsMixer
florianSasz Oct 10, 2023
54a6aec
:wrench: simplify source constructor
florianSasz Oct 10, 2023
418009a
:wrench: adjust/add temporary tests
florianSasz Oct 10, 2023
ad17bd2
:wrench: change type
florianSasz Oct 10, 2023
106adcb
:tada: Add usefulness check for update calls
florianSasz Oct 12, 2023
ddbf706
:wrench: generalize settingsMixer
florianSasz Oct 12, 2023
1b79fd1
:beetle: Add member variables to initialization list
florianSasz Oct 12, 2023
8756a8d
:tada: Add AudioControllers
florianSasz Oct 12, 2023
01ab901
:hammer: Simplify and generalize SettingsMixer
florianSasz Oct 13, 2023
1e03f94
:hammer: Outsource SourceSettings
florianSasz Oct 13, 2023
9522484
:hammer: centralize update call for sources
florianSasz Oct 13, 2023
a01d0d2
:wrench: Adjust temporary test function
florianSasz Oct 13, 2023
9890f4f
:hammer: define Pipeline for each plugin
florianSasz Oct 13, 2023
047964d
:tada: Add remove setting function
florianSasz Oct 17, 2023
3dd6953
:tada: Add UpdateBuilder
florianSasz Oct 18, 2023
cce34c8
:wrench: change pipeline identifier to audioController ptr
florianSasz Oct 18, 2023
6ad006f
:tada: Add Diff finder with map and vector
florianSasz Oct 18, 2023
bf7fa67
:hammer: Rework global update call
florianSasz Oct 18, 2023
072011a
:tada: Add utils file for testing
florianSasz Oct 18, 2023
96967b6
:hammer: Refactor with better error handling
florianSasz Oct 18, 2023
dbe227d
:beetle: Fix typo
florianSasz Oct 18, 2023
69b1c4b
:wrench: update temporary tests
florianSasz Oct 18, 2023
3760602
:tada: Add update function
florianSasz Oct 18, 2023
8106d3f
:wrench: fix type, improve var name, remove comment
florianSasz Oct 18, 2023
7751216
:tada: Add GUI settings for audio
florianSasz Oct 19, 2023
c575160
:wrench: Move OpenAL init to more appropriate moment
florianSasz Oct 19, 2023
055c2e7
:hammer: Move AudioController init from config to code
florianSasz Oct 19, 2023
98856f2
:hammer: change to singleton class
florianSasz Oct 24, 2023
a43a0b9
:wrench: Adjust types
florianSasz Oct 24, 2023
0bfb436
:wrench: Adjust include paths
florianSasz Oct 24, 2023
cc2f059
:wrench: Add Audio Gui to CMake
florianSasz Oct 24, 2023
70f457b
:tada: Add output device dropdown in audio settings
florianSasz Oct 24, 2023
c9aa8ef
:wrench: Adjust master volume slider
florianSasz Oct 24, 2023
3431ba3
:wrench: Add types
florianSasz Oct 24, 2023
416c91f
:wrench: Format whitespaces
florianSasz Oct 24, 2023
98f8291
:beetle: Make audio settings readable from config
florianSasz Oct 24, 2023
86ddcc4
:tada: Add change output device functionality
florianSasz Oct 24, 2023
343cee8
:wrench: Refactor Wave file reading
florianSasz Oct 24, 2023
5b83017
:beetle: remove csp-lod-bodies assert bugs
florianSasz Oct 30, 2023
c92ec58
:truck: Rename UpdateBuilder to UpdateInstructor
florianSasz Oct 30, 2023
206d5c6
:hammer: Outsource mixing settings to updateConstructor
florianSasz Oct 30, 2023
c8f7677
:wrench: generalize update registration and adjust type
florianSasz Oct 30, 2023
fd01d69
:tada: Add check if file to play exists
florianSasz Oct 30, 2023
8ee5b25
:tada: Add every frame update function to processing steps
florianSasz Oct 30, 2023
91c50f4
:wrench: Rename add() and mMemberSources
florianSasz Oct 30, 2023
b81117a
:tada: Add getSources()
florianSasz Oct 30, 2023
119ed10
:wrench: Adjust data type to vector and rename
florianSasz Oct 30, 2023
9e9a9be
:wrench: Adjust mAttributeList type to vector
florianSasz Oct 30, 2023
255d2f1
:wrench: Add initialization list
florianSasz Oct 30, 2023
2e722f4
:memo: Add documentation
florianSasz Oct 30, 2023
31ce5ae
:tada: Add Spatialization functionality
florianSasz Oct 30, 2023
0be35d4
:hammer: Outsource mixing settings to updateConstructor
florianSasz Oct 30, 2023
cb56a1d
:truck: Rename UpdateBuilder to UpdateInstructor
florianSasz Oct 30, 2023
07227e0
:wrench: Make member public
florianSasz Oct 30, 2023
d09e429
:wrench: Adjust temporary test functions
florianSasz Oct 30, 2023
a1d8a65
:wrench: Refactor settings processing
florianSasz Oct 30, 2023
9014baa
:tada: Automatically apply controller/group setting when creating/joi…
florianSasz Oct 30, 2023
10418bf
:wrench: Make mOpenAlId private and add getter
florianSasz Oct 30, 2023
120581b
:tada: Add removal of not needed PS from updateList
florianSasz Oct 30, 2023
019b2fd
:hammer: Change mixing functions to modify via pointers
florianSasz Oct 30, 2023
f0fde5d
:beetle: Fix settings differentiation bug
florianSasz Oct 30, 2023
0185c98
:tada: Set source pos relative in case listener moves
florianSasz Oct 30, 2023
3e8a28e
:tada: Add (not working) speed calculation
florianSasz Oct 30, 2023
5e3f47c
:wrench: add temporary tests
florianSasz Oct 30, 2023
c97b0f8
:beetle: Fix velocity calculation
florianSasz Nov 1, 2023
542f746
:hammer: provide source pointer to processing steps
florianSasz Nov 1, 2023
c43a49c
:tada: Add removal of source settings
florianSasz Nov 1, 2023
75af358
:memo: Add Documentation/Comments
florianSasz Nov 2, 2023
08af4b2
:tada: Add (not yet working) support for 32 Bit data
florianSasz Nov 2, 2023
de9e7c7
:wrench: remove comments
florianSasz Nov 2, 2023
0212fea
:wrench: update temporary tests
florianSasz Nov 2, 2023
0b21701
:wrench: Simplify object copying
florianSasz Nov 2, 2023
a23880a
:beetle: Fix wrong return value
florianSasz Nov 3, 2023
019f615
:tada: Add proper remove setting function
florianSasz Nov 3, 2023
fd79620
:wrench: adjust temporary tests
florianSasz Nov 3, 2023
b19ca7f
:wrench: continue (not yet working) 32 Bit support
florianSasz Nov 3, 2023
15625f3
:tada: Add file change support for playing sources
florianSasz Nov 7, 2023
b7985d4
:wrench: Replace raw pointer with smart pointer
florianSasz Nov 7, 2023
951434d
:tada: Add cs-scene
florianSasz Nov 9, 2023
db861fe
:hammer: Manage source playback by pipeline
florianSasz Nov 9, 2023
e1d2b0d
:tada: Add volume culling
florianSasz Nov 9, 2023
5eca697
:tada: Add distance culling
florianSasz Nov 9, 2023
30bcb5f
:wrench: Pass settings to processingStepsManager
florianSasz Nov 9, 2023
7f50094
:truck: Rename Spatialization processing step
florianSasz Nov 9, 2023
711ad3c
:memo: Remove/Adjust comments
florianSasz Nov 9, 2023
39a426e
:wrench: Remove debugging line
florianSasz Nov 9, 2023
52a9f49
:wrench: Adjust includes/forward declarations
florianSasz Nov 9, 2023
a5b1c64
:hammer: Outsource base functionality of Source
florianSasz Nov 10, 2023
16531ea
:tada: Add (not yet working) Streaming Source
florianSasz Nov 10, 2023
a124677
:tada: Add Sphere Spatialization
florianSasz Nov 10, 2023
2e9a756
:tada: Add Audio util class
florianSasz Nov 10, 2023
92a82b0
:tada: Add Distance Model Processing Step
florianSasz Nov 10, 2023
8df9c42
:wrench: Adjust temporary test functions
florianSasz Nov 10, 2023
7efe88c
:wrench: Remove/Adjust unnecessary lines
florianSasz Nov 10, 2023
555ddf7
:memo: Add processing steps documentation
florianSasz Nov 14, 2023
69e4d43
:beetle: Fix variable names
florianSasz Nov 14, 2023
6426951
:beetle: Fix types, names and comparison operators
florianSasz Nov 14, 2023
ae5794c
:tada: Add Spatialization Util for common funcitons
florianSasz Nov 14, 2023
030e806
:beetle: Fix name and processing
florianSasz Nov 14, 2023
38b3cc5
:hammer: Outsource common function to util class
florianSasz Nov 14, 2023
0b852f6
:wrench: Remove debugging lines
florianSasz Nov 14, 2023
10661ee
:wrench: Change radius to float and add validation
florianSasz Nov 14, 2023
58bc772
:wrench: Outsource spatialization reset to util
florianSasz Nov 14, 2023
580db87
:wrench: Make return const
florianSasz Nov 14, 2023
91eee49
:memo: Add documentation, format lines
florianSasz Nov 14, 2023
6de854b
:wrench: Remove function definition
florianSasz Nov 14, 2023
c45aa1b
:wrench: Adjust temporary tests
florianSasz Nov 14, 2023
2dd9dc0
:wrench: Use common function for .wav header
florianSasz Nov 15, 2023
f0100a3
:tada: Add print funciton
florianSasz Nov 15, 2023
1d0064a
:beetle: Fix type
florianSasz Nov 15, 2023
e1f7960
:tada: Add getter function
florianSasz Nov 15, 2023
127b8c3
:wrench: Remove audio tests form audio engine
florianSasz Nov 17, 2023
ec8eec3
:wrench: Remove goto statements
florianSasz Nov 17, 2023
bde9d09
:wrench: Remove SolarSystem form AudioEngine
florianSasz Nov 17, 2023
d61da8f
:tada: Add audioEngine to PluginBase
florianSasz Nov 21, 2023
77d8b63
:wrench: Make distance calculation functions const
florianSasz Nov 21, 2023
bb26bfe
:tada: Add DirectPlay PS to default Pipeline
florianSasz Nov 21, 2023
58e53ff
:wrench: Change controller type to weak_ptr
florianSasz Nov 21, 2023
aba2edb
:tada: Add function to revert update call
florianSasz Nov 21, 2023
3b96e29
:wrench: Change group type to weak_ptr
florianSasz Nov 21, 2023
997a8a2
:hammer: Add/Adjust deconstructor
florianSasz Nov 21, 2023
2b7347b
:tada: Add function to delete Sources and Groups from AudioEngine
florianSasz Nov 21, 2023
387eefd
:memo: Add/Remove/Adjust comments and documentation
florianSasz Nov 21, 2023
07304d1
:wrench: Adjust order of deconstruction
florianSasz Nov 21, 2023
1acd969
:hammer: Use Constructors instead of getInstance functions
florianSasz Nov 21, 2023
18d78d9
:wrench: Add deconstructor declaration
florianSasz Nov 21, 2023
7b667cc
:wrench: Add override specifiers
florianSasz Nov 21, 2023
f5eb08d
:hammer: Get Streaming up and running
florianSasz Nov 21, 2023
4f184f7
:wrench: Continue 32 Bit support
florianSasz Nov 21, 2023
9227ea0
:wrench: Add logger include
florianSasz Nov 21, 2023
14d0e49
:wrench: Rework group assignment
florianSasz Nov 27, 2023
6b73ea2
:wrench: Remove not needed includes
florianSasz Nov 27, 2023
f67c813
:fire: Move test_utils to AudioUtils and delete test_utils
florianSasz Nov 29, 2023
dc370b0
:tada: Add LibSndFile Library
florianSasz Nov 29, 2023
59b305f
:hammer: Change pipeline key from pointer to id
florianSasz Nov 29, 2023
dccc65b
:hammer: Resolve memory issues, tie audio objects lifetime to plugins
florianSasz Nov 29, 2023
6207db3
:wrench: remove friend classes
florianSasz Nov 29, 2023
a8a7e23
:wrench: rename remove source from group function
florianSasz Nov 29, 2023
56fb339
:wrench: generalize UpdateInstruction members initialization
florianSasz Nov 29, 2023
2282fb1
:wrench: Make getPlaybackSettings() return const
florianSasz Nov 29, 2023
0bc180f
:hammer: Replace own file reading implementation with LibSndFile impl…
florianSasz Nov 29, 2023
3f765d5
:wrench: Fix comments, includes, grammar
florianSasz Nov 29, 2023
6ec9666
:wrench: simplify buffer deletion
florianSasz Nov 29, 2023
4ed081b
:tada: Remove group settings when leaving group
florianSasz Nov 30, 2023
49d9adb
:tada: Implement streaming via LibSndFile
florianSasz Nov 30, 2023
fb3eb3a
:tada: Add FrameStats for AudioEngine
florianSasz Dec 1, 2023
ab67a03
:tada: Add OpenAL-Soft and LibSndFile
florianSasz Dec 1, 2023
1066eb6
Merge branch 'feature/audio' of https://github.com/cosmoscout/cosmosc…
Dec 1, 2023
853eed6
:hammer: Adjustments for Linux compatibility
florianSasz Dec 4, 2023
a9551ac
:wrench: Adjust device enumaration for linux
florianSasz Dec 4, 2023
f17d4ea
:tada: Add support for looping streams
florianSasz Dec 4, 2023
93c5635
:memo: Add/Adjust documentation
florianSasz Dec 5, 2023
d628e86
:wrench: remove unnecessary create functions
florianSasz Dec 5, 2023
913632c
:tada: Add getter for update settings
florianSasz Dec 5, 2023
d97f8f2
:wrench: Adjust includes, grammar, messages, line breaks
florianSasz Dec 5, 2023
f30834d
:tada: Add leader check for cluster mode
florianSasz Dec 5, 2023
c28eb63
:wrench: Include AudioContainer and FormatTyp in FileReader
florianSasz Dec 5, 2023
135cbbb
:wrench: Change FormatName to getFormatName
florianSasz Dec 5, 2023
65ddb74
:wrench: Simplify AudioContainer
florianSasz Dec 5, 2023
26426a6
:memo: Add documentation
florianSasz Dec 5, 2023
d88d36f
:wrench: Fix typo
florianSasz Dec 5, 2023
52d069a
:beetle: Fix forgotten hard coded string
florianSasz Dec 6, 2023
cd7bd0b
:twisted_rightwards_arrows: Merge main audio branch into linux compat…
florianSasz Dec 6, 2023
6e39bb9
:tada: Disable all function calls for members in cluster mode
florianSasz Dec 6, 2023
2a5c1f4
:beetle: Fix constructors for members in cluster mode
florianSasz Dec 6, 2023
6f23bb1
:wrench: Refactor warnings
florianSasz Dec 6, 2023
8fa5818
:truck: Rename alErrorHandling class
florianSasz Dec 6, 2023
49dcae9
:sparkles: Apply clang-format.
JonasGilg Dec 6, 2023
8778d41
:truck: Apply CamelCase to alErrorHandling name
florianSasz Dec 8, 2023
3414d38
:beetle: Fix vector include
florianSasz Dec 8, 2023
5b1004c
:arrow_up_small: Update OpenAL
florianSasz Dec 8, 2023
6993155
Merge branch 'feature/audio' of https://github.com/cosmoscout/cosmosc…
florianSasz Dec 8, 2023
4567754
:wrench: Make destructor virtual
florianSasz Dec 8, 2023
52bea07
:wrench: Add override specifier
florianSasz Dec 8, 2023
9868f3a
:wrench: Add virtual destructor
florianSasz Dec 8, 2023
306fd63
:sparkles: Apply clang format
florianSasz Dec 8, 2023
76b11eb
:tada: Add fallOffFactor calculation for zero gain at distance
florianSasz Jan 14, 2024
bdc119e
:wrench: Fix wrong error message
florianSasz Jan 14, 2024
8c2446c
:tada: Add stationaryOutputDevice config value
florianSasz Jan 21, 2024
2e77ecf
:truck: Rename Default_PS to SoundAttributes_PS and make it not a def…
florianSasz Jan 29, 2024
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
6 changes: 6 additions & 0 deletions .gitmodules
Original file line number Diff line number Diff line change
Expand Up @@ -56,3 +56,9 @@
[submodule "externals/openvr"]
path = externals/openvr
url = https://github.com/ValveSoftware/openvr.git
[submodule "externals/openal-soft"]
path = externals/openal-soft
url = https://github.com/kcat/openal-soft.git
[submodule "externals/libsndfile"]
path = externals/libsndfile
url = https://github.com/libsndfile/libsndfile.git
15 changes: 15 additions & 0 deletions CMakeLists.txt
Original file line number Diff line number Diff line change
Expand Up @@ -143,6 +143,18 @@ else()
SET(VistaCoreLibs_DIR ${COSMOSCOUT_EXTERNALS_DIR}/share/VistaCoreLibs/cmake)
endif()

if (DEFINED ENV{OPENAL_ROOT_DIR})
SET(ENV{OPENALDIR} "$ENV{OPENAL_ROOT_DIR}")
else()
SET(ENV{OPENALDIR} ${COSMOSCOUT_EXTERNALS_DIR})
endif()

if (DEFINED ENV{LIBSNDFILE_ROOT_DIR})
SET(ENV{LIBSNDFILE_DIR} "$ENV{LIBSNDFILE_ROOT_DIR}")
else()
SET(ENV{LIBSNDFILE_DIR} ${COSMOSCOUT_EXTERNALS_DIR})
endif()

find_package(GLM REQUIRED)
find_package(GLI REQUIRED)
find_package(DOCTEST REQUIRED)
Expand All @@ -161,6 +173,8 @@ find_package(CIVETWEB REQUIRED)
find_package(VistaCoreLibs REQUIRED
COMPONENTS "VistaBase" "VistaKernel" "VistaKernelOpenSGExt" "VistaOGLExt"
)
find_package(OpenAL REQUIRED)
find_package(SndFile REQUIRED)

# X11 is used on Linux to set the application window's name and icon.
if (UNIX)
Expand Down Expand Up @@ -309,6 +323,7 @@ include_directories(
${CMAKE_BINARY_DIR}/src/cs-core
${CMAKE_BINARY_DIR}/src/cs-utils
${CMAKE_BINARY_DIR}/src/cs-graphics
${CMAKE_BINARY_DIR}/src/cs-audio
${CMAKE_BINARY_DIR}/src/cs-gui
${CMAKE_BINARY_DIR}/src/cs-scene
)
Expand Down
33 changes: 33 additions & 0 deletions cmake/FindSndFile.cmake
Original file line number Diff line number Diff line change
@@ -0,0 +1,33 @@
# ------------------------------------------------------------------------------------------------ #
# This file is part of CosmoScout VR #
# ------------------------------------------------------------------------------------------------ #

# SPDX-FileCopyrightText: German Aerospace Center (DLR) <[email protected]>
# SPDX-License-Identifier: MIT

# Locate header.
find_path(SNDFILE_INCLUDE_DIR sndfile.h
HINTS $ENV{LIBSNDFILE_DIR}/include)


find_library(SNDFILE_LIBRARY
NAMES sndfile
HINTS $ENV{LIBSNDFILE_DIR}/lib)

include(FindPackageHandleStandardArgs)
find_package_handle_standard_args(SndFile DEFAULT_MSG SNDFILE_INCLUDE_DIR SNDFILE_LIBRARY)

# Add imported target.
if(SndFile_FOUND)
set(SNDFILE_INCLUDE_DIRS "${SNDFILE_INCLUDE_DIR}")

if(NOT SndFile_FIND_QUIETLY)
message(STATUS "SNDFILE_INCLUDE_DIRS .............. ${SNDFILE_INCLUDE_DIR}")
endif()

if(NOT TARGET sndfile::sndfile)
add_library(sndfile::sndfile INTERFACE IMPORTED)
set_target_properties(sndfile::sndfile PROPERTIES
INTERFACE_INCLUDE_DIRECTORIES "${SNDFILE_INCLUDE_DIRS}")
endif()
endif()
1 change: 1 addition & 0 deletions externals/libsndfile
Submodule libsndfile added at e486f2
1 change: 1 addition & 0 deletions externals/openal-soft
Submodule openal-soft added at 4527b8
24 changes: 23 additions & 1 deletion make_externals.bat
Original file line number Diff line number Diff line change
Expand Up @@ -423,7 +423,29 @@ if %USING_NINJA%==true (
cmake -E copy "%BUILD_DIR%/cef/libcef_dll_wrapper/%BUILD_TYPE%/libcef_dll_wrapper.lib" "%INSTALL_DIR%/lib"
)

rem ------------------------------------------------------------------------------------------------
rem openal-soft --------------------------------------------------------------------------------------
:openal-soft

echo.
echo Building and installing openal-soft ...
echo.

cmake -E make_directory "%BUILD_DIR%/openal-soft" && cd "%BUILD_DIR%/openal-soft"
cmake %CMAKE_FLAGS% -DCMAKE_BUILD_TYPE=%BUILD_TYPE% -DCMAKE_INSTALL_PREFIX="%INSTALL_DIR%"^
-DALSOFT_INSTALL_EXAMPLES=Off -DALSOFT_EXAMPLES=Off "%EXTERNALS_DIR%/openal-soft" || goto :error
cmake --build . --config %BUILD_TYPE% --target install --parallel %NUMBER_OF_PROCESSORS% || goto :error

rem libsndfile ----------------------------------------------------------------------------------------
:libsndfile

echo.
echo Building and installing libsndfile ...
echo.

cmake -E make_directory "%BUILD_DIR%/libsndfile" && cd "%BUILD_DIR%/libsndfile"
cmake %CMAKE_FLAGS% -DCMAKE_BUILD_TYPE=%BUILD_TYPE% -DCMAKE_INSTALL_PREFIX="%INSTALL_DIR%"^
-DBUILD_SHARED_LIBS=On "%EXTERNALS_DIR%/libsndfile" || goto :error
cmake --build . --config %BUILD_TYPE% --target install --parallel %NUMBER_OF_PROCESSORS% || goto :error

:finish
echo Finished successfully.
Expand Down
23 changes: 23 additions & 0 deletions make_externals.sh
Original file line number Diff line number Diff line change
Expand Up @@ -318,6 +318,29 @@ cmake -E copy_directory "$BUILD_DIR/cef/extracted/$CEF_DIR/Resources" "$INSTALL
cmake -E copy_directory "$BUILD_DIR/cef/extracted/$CEF_DIR/Release" "$INSTALL_DIR/lib"
cmake -E copy "$BUILD_DIR/cef/libcef_dll_wrapper/libcef_dll_wrapper.a" "$INSTALL_DIR/lib"

# openal-soft --------------------------------------------------------------------------------------

echo ""
echo "Building and installing openal-soft ..."
echo ""

cmake -E make_directory "$BUILD_DIR/openal-soft" && cd "$BUILD_DIR/openal-soft"
cmake "${CMAKE_FLAGS[@]}" -DCMAKE_BUILD_TYPE=$BUILD_TYPE -DCMAKE_INSTALL_PREFIX="$INSTALL_DIR" \
-DALSOFT_INSTALL_EXAMPLES=Off -DALSOFT_EXAMPLES=Off "$EXTERNALS_DIR/openal-soft"
cmake --build . --config $BUILD_TYPE --target install --parallel $NUMBER_OF_PROCESSORS

# libsndfile ----------------------------------------------------------------------------------------

echo ""
echo "Building and installing libsndfile ..."
echo ""

cmake -E make_directory "$BUILD_DIR/libsndfile" && cd "$BUILD_DIR/libsndfile"
cmake "${CMAKE_FLAGS[@]}" -DCMAKE_BUILD_TYPE=$BUILD_TYPE -DCMAKE_INSTALL_PREFIX="$INSTALL_DIR" \
-DBUILD_SHARED_LIBS=On -DENABLE_EXTERNAL_LIBS=Off "$EXTERNALS_DIR/libsndfile"
cmake --build . --config $BUILD_TYPE --target install --parallel $NUMBER_OF_PROCESSORS


# --------------------------------------------------------------------------------------------------

if [ -e "$INSTALL_DIR/lib64" ]; then
Expand Down
2 changes: 1 addition & 1 deletion plugins/csp-lod-bodies/src/TileTextureArray.cpp
Original file line number Diff line number Diff line change
Expand Up @@ -95,7 +95,7 @@ TileDataType TileTextureArray::getDataType() const {
////////////////////////////////////////////////////////////////////////////////////////////////////

void TileTextureArray::allocateGPU(std::shared_ptr<BaseTileData> data) {
assert(rdata->getTexLayer() < 0);
assert(data->getTexLayer() < 0);

mUploadQueue.push_back(std::move(data));
}
Expand Down
4 changes: 2 additions & 2 deletions plugins/csp-lod-bodies/src/TreeManager.cpp
Original file line number Diff line number Diff line change
Expand Up @@ -296,7 +296,7 @@ void TreeManager::prune() {

if (count > 0) {
#if !defined(NDEBUG) && !defined(VISTAPLANET_NO_VERBOSE)
vstr::outi() << "[TreeManager::prune] nodes removed/kept " << count << " / " << mRdMap.size()
vstr::outi() << "[TreeManager::prune] nodes removed/kept " << count << " / " << mNodes.size()
<< std::endl;
#endif
}
Expand All @@ -320,7 +320,7 @@ void TreeManager::merge() {

for (auto& node : mergeNodes) {
assert(node != nullptr);
assert(node->getTile() != nullptr);
// assert(node->getTile() != nullptr);

if (insertNode(&mTree, node)) {
onNodeInserted(node);
Expand Down
1 change: 1 addition & 0 deletions src/CMakeLists.txt
Original file line number Diff line number Diff line change
Expand Up @@ -8,6 +8,7 @@
add_subdirectory(cs-utils)
add_subdirectory(cs-core)
add_subdirectory(cs-graphics)
add_subdirectory(cs-audio)
add_subdirectory(cs-gui)
add_subdirectory(cs-scene)
add_subdirectory(cosmoscout)
13 changes: 12 additions & 1 deletion src/cosmoscout/Application.cpp
Original file line number Diff line number Diff line change
Expand Up @@ -115,6 +115,7 @@ bool Application::Init(VistaSystem* pVistaSystem) {
mSolarSystem = std::make_shared<cs::core::SolarSystem>(mSettings, mGraphicsEngine, mTimeControl);
mDragNavigation =
std::make_unique<cs::core::DragNavigation>(mSolarSystem, mInputManager, mTimeControl);
mAudioEngine = std::make_shared<cs::core::AudioEngine>(mSettings, mGuiManager);

// The ObserverNavigationNode is used by several DFN networks to move the celestial observer.
VdfnNodeFactory* pNodeFactory = VdfnNodeFactory::GetSingleton();
Expand Down Expand Up @@ -212,6 +213,9 @@ void Application::Quit() {
assertCleanUp("mTimeControl", mTimeControl.use_count());
mTimeControl.reset();

assertCleanUp("mAudioEngine", mAudioEngine.use_count());
mAudioEngine.reset();

assertCleanUp("mGuiManager", mGuiManager.use_count());
mGuiManager.reset();

Expand Down Expand Up @@ -558,6 +562,12 @@ void Application::FrameUpdate() {
cs::utils::FrameStats::ScopedTimer timer("Update Graphics Engine");
mGraphicsEngine->update(glm::normalize(mSolarSystem->pSunPosition.get()));
}

// Update the AudioEngine
{
cs::utils::FrameStats::ScopedTimer timer("Update Audio Engine");
mAudioEngine->update();
}
}

// Update the user interface.
Expand Down Expand Up @@ -755,7 +765,8 @@ void Application::initPlugin(std::string const& name) {

// First provide the plugin with all required class instances.
plugin->second.mPlugin->setAPI(mSettings, mSolarSystem, mGuiManager, mInputManager,
GetVistaSystem()->GetGraphicsManager()->GetSceneGraph(), mGraphicsEngine, mTimeControl);
GetVistaSystem()->GetGraphicsManager()->GetSceneGraph(), mGraphicsEngine, mAudioEngine,
mTimeControl);

// Then do the actual initialization. This may actually take a while and the application will
// become unresponsive in the meantime.
Expand Down
4 changes: 4 additions & 0 deletions src/cosmoscout/Application.hpp
Original file line number Diff line number Diff line change
Expand Up @@ -8,6 +8,8 @@
#ifndef CS_APPLICATION_HPP
#define CS_APPLICATION_HPP

#include "../cs-core/AudioEngine.hpp"

#include <VistaKernel/VistaFrameLoop.h>
#include <limits>
#include <map>
Expand All @@ -33,6 +35,7 @@ class GraphicsEngine;
class TimeControl;
class SolarSystem;
class DragNavigation;
// class AudioEngine;
} // namespace cs::core

namespace cs::graphics {
Expand Down Expand Up @@ -173,6 +176,7 @@ class Application : public VistaFrameLoop {
std::shared_ptr<cs::core::TimeControl> mTimeControl;
std::shared_ptr<cs::core::SolarSystem> mSolarSystem;
std::unique_ptr<cs::core::DragNavigation> mDragNavigation;
std::shared_ptr<cs::core::AudioEngine> mAudioEngine;
std::map<std::string, Plugin> mPlugins;
std::unique_ptr<cs::utils::Downloader> mDownloader;
std::unique_ptr<IVistaClusterDataSync> mSceneSync;
Expand Down
Loading