Commit graph

36 commits

Author SHA1 Message Date
phosit
e2ed4afe00
SoundManager: reintroduce manual memory management
This reverts commit 94c907342a.

It introduced multiple errors and is to big to find the actual errors.

Fixes: #8342
Fixes: #8426
2025-10-13 20:42:32 +02:00
trompetin17
94c907342a
SoundManager: Replace manual memory with unorderedmap
Remove manual memory management throughout the SoundManager subsystem
in favor of unorderedmap.

Key changes:
- Eliminate manual new/delete calls and potential memory leaks
- Update all sound item classes to use SoundManager factory
- Modernize resource management in OggData and related components
- Ensure exception-safe memory handling across the audio pipeline

This refactoring improves code maintainability, reduces crash risk from
memory errors, and aligns with modern C++ best practices.
2025-08-25 09:45:14 -05:00
Ralph Sennhauser
3647921bed
Fix some includes all over the place
Make include-what-you-use happy with some files in source and fix what
needs to be fixed.

Ref: #8086
Signed-off-by: Ralph Sennhauser <ralph.sennhauser@gmail.com>
2025-08-13 19:38:21 +02:00
trompetin17
21f26455f5
Decouple buffer config from SoundManager
OggData now manages its own buffer size and count directly,
instead of relying on SoundManager to provide those values.

- Removed unused GetBufferCount() and GetBufferSize()
- Use default values for buffer size and count in OggData
- Documented buffer settings for clarity

This change centralizes control in OggData and improves encapsulation.
2025-07-22 08:40:59 -05:00
Ralph Sennhauser
ad3f6e3119
Dissolve external_libraries/openal.h
This header was used to overcome macos openal vs openal-soft header name
difference, for the migration to openal 1.1 and to pass arguments to the
linker on windows in the past. None of this is used anymore so dissolve
the header.

Also fix related headers so one can run include-what-you-use on the
changed files.

Ref: #8086
Signed-off-by: Ralph Sennhauser <ralph.sennhauser@gmail.com>
2025-07-08 19:33:36 +02:00
phosit
891908b801 Remove UNUSED
The `UNUSED` macro is used to mark a variable as unused but with a name.
Those usages are replaced with comments so that `UNUSED` can be removed.

https://isocpp.github.io/CppCoreGuidelines/CppCoreGuidelines#Rf-unused
2025-06-26 17:25:05 +02:00
vladislavbelov
ffc4a56b9f Revert non-ASCII characters from source and configuration files introduced in 157c6af18e.
Fixes #6846

Differential Revision: https://code.wildfiregames.com/D5185
This was SVN commit r27965.
2023-12-03 00:30:12 +00:00
bb
157c6af18e Make the space in 0 A.D. non-breaking throughout the codebase.
Avoid cases of filenames
Update years in terms and other legal(ish) documents
Don't update years in license headers, since change is not meaningful

Will add linter rule in seperate commit

Happy recompiling everyone!

Original Patch By: Nescio
Comment By: Gallaecio
Differential Revision: D2620
This was SVN commit r27786.
2023-07-27 20:54:46 +00:00
vladislavbelov
96708cc6a5 Adds header for forward declarations of CStr.
This was SVN commit r25905.
2021-09-09 17:39:08 +00:00
Stan
205486d6f3 Fix sound errors when no sound card is detected.
Based on a patch by: @Imarok
Refs: #3285

Differential Revision: https://code.wildfiregames.com/D1481
This was SVN commit r24551.
2021-01-11 18:56:33 +00:00
Stan
ea38089853 Fix userreport detection of sound cards
Differential Revision: https://code.wildfiregames.com/D3025
This was SVN commit r24367.
2020-12-10 18:36:05 +00:00
wraitii
ba736916fc Clean up ThreadUtil, use standard C++11 constructs instead of custom ones.
ThreadUtil shipped a scope lock and a mutex implementation, which can be
removed since we now have these in the standard library.
This lets us clean up this header which get included everywhere (through
profiler includes).

Tested By: Angen and Stan
Differential Revision: https://code.wildfiregames.com/D1915
This was SVN commit r22344.
2019-06-06 19:30:48 +00:00
leper
25b1837603 Pass CVector3D as const reference in a few places.
Reviewed By: Sandarac
Differential Revision: https://code.wildfiregames.com/D424
This was SVN commit r19534.
2017-05-08 04:04:45 +00:00
elexis
b18f74da44 Remove trailing whitespace and whitespace in empty lines of source/ except source/third_party/.
This was SVN commit r18987.
2016-11-23 11:18:37 +00:00
leper
ec7c8f2d65 Move gain config setting retrieval to the sound manager. Fixes #3030.
Also clean up the sound manager a bit.

This was SVN commit r16257.
2015-02-02 13:44:06 +00:00
historic_bruno
a63ed4e4c4 Fixes rare crash in sound manager, due to worker thread dereferencing global pointer before it had been assigned. Fixes #2333, refs #2387, #2317.
Fixes potential infinite loop if worker thread was running but not
enabled.
Fixes apparent bug in fading sound smoothness.
Cleans up worker class slightly.
Cleans up weird and inconsistent whitespace.

This was SVN commit r15269.
2014-06-02 02:09:58 +00:00
JoshuaJB
a725266337 Slightly better options menu.
This was SVN commit r14766.
2014-02-20 22:45:43 +00:00
Yves
4b1297b328 Removes g_ScriptingHost and implements global to compartment 1 to 1 relation.
Each GUI Page gets its own compartment and all ScriptInterfaces in the
same thread should now use the same JS Runtime.
This is required for the SpiderMonkey upgrade.
Check the ticket for details.

Closes #2241
Refs #1886
Refs #1966

This was SVN commit r14496.
2014-01-04 10:14:53 +00:00
historic_bruno
fbee618ac8 Fixes memory leak in sound manager
This was SVN commit r13915.
2013-09-30 01:09:16 +00:00
stwf
b1bd61938e add file notification to Mac ticket 514, also change name of class FileInfo to CFileInfo to ease Mac development
This was SVN commit r13821.
2013-09-10 14:17:04 +00:00
stwf
df190cbbd1 fix issues with menu mode and playlist, harden code and clear out ambient noises at game end, fixes #2066
This was SVN commit r13784.
2013-08-29 13:20:55 +00:00
stwf
36dec0e789 add restricted flag to SoundGroup xml for sounds thatonly the owning player should hear
This was SVN commit r13486.
2013-06-17 02:30:40 +00:00
stwf
26dbac8d57 fixes to SoundManager external interface, clean up ifdef situation, and SoundGroup playin
This was SVN commit r13474.
2013-06-13 12:12:44 +00:00
stwf
ada7702bec add UI sound channel, clean up external interface and javascript calls
This was SVN commit r13467.
2013-06-10 13:58:43 +00:00
stwf
71b25d5bd4 big SoundManager checkin,futureproof javascript interface, isolate external calls to remove OpenAL references
This was SVN commit r13455.
2013-06-06 11:13:57 +00:00
historic_bruno
94c57085e9 Makes some classes NONCOPYABLE, based on patch by Markus, refs #1852
This was SVN commit r13419.
2013-05-22 21:40:56 +00:00
stwf
3ce14e3f4b fix memory leak in SoundManager, patch taken from ticket #1934
This was SVN commit r13417.
2013-05-22 12:13:21 +00:00
stwf
71486bd57d SoundManager supports playlists
This was SVN commit r13368.
2013-04-24 12:03:42 +00:00
stwf
503b481468 handle initialization errors cleanly, clean stuff up
This was SVN commit r13359.
2013-04-18 03:24:20 +00:00
stwf
2a3f1cb412 eliminate most warnings produced by Cppcheck
This was SVN commit r13356.
2013-04-12 03:10:54 +00:00
stwf
c9a5d5cee5 pause music and ambient sounds when game pauses
This was SVN commit r13347.
2013-04-07 04:13:15 +00:00
stwf
e4a9312c46 newest soundmanager patch, should give better battle sequences, and handle low resource situations correctly.
This was SVN commit r13209.
2013-03-01 14:22:28 +00:00
stwf
44821da620 new threaded soundmanager and proper distance roll off
This was SVN commit r12709.
2012-09-27 02:42:03 +00:00
historic_bruno
89c8bccbde Sound system patch by stwf:
Fixes sound system to work with archives (use VFS files instead of
POSIX), fixes #1604.
Improves error handling and logging, refs #1594.
Allows sound to be disabled with -nosound/-quickstart runtime options or
--without-audio build option, fixes #1609, #1614.
Experimentally increases default buffer size to help prevent sound
stoppages.

This was SVN commit r12566.
2012-08-31 19:08:41 +00:00
historic_bruno
714426f761 Fixes unnecessary use of VfsPath pointers in sound system. Refs #1223
This was SVN commit r12444.
2012-08-16 01:41:45 +00:00
historic_bruno
011ba8255e New sound system implementation by stwf, refs #1223, #961.
Enables audio on OS X, refs #685, #931.
Fixes music not playing after a game, refs #946.

This was SVN commit r12428.
2012-08-15 00:10:44 +00:00