Commit graph

35 commits

Author SHA1 Message Date
dobrykafe ca517f27b8 enhance editor toolbar sounds 2023-10-06 17:09:19 +02:00
Robert Müller b9951dd411 Refactor and reorder RateConvert, DecodeOpus, DecodeWV
Pass sample by reference instead of by index, as the functions are only used internally and a valid sample is assured.
2023-09-21 23:52:44 +02:00
Robert Müller 07e18ebecb Replace most global variables in engine sound with member variables
Most variables used in the sound engine were static globals, as they are used in the static sound mixing function. The global variables are replaced by member variables, by passing the sound interface as user-data for the SDL mixing callback. The `Mix` function is made a public member function of `ISound` instead of being exposed using `ISoundMixFunc GetSoundMixFunc()`.

This allows to remove the direct dependency of the engine sound on the engine video, by instead passing the sound mixing function as a lambda to the engine video in the engine client.

The old WavPack reader function interface does support passing a user-data pointer to the callback function, so global variables are still used here.
2023-09-21 23:52:13 +02:00
Robert Müller a2de08a8db Add UpdateVolume function, remove unnecessary lock usage
Using the lock is not necessary, as the volume is already an atomic variable.
2023-09-21 23:44:59 +02:00
Robert Müller beaf263f3d Reorder SetChannel and SetListenerPos functions 2023-09-21 23:44:58 +02:00
Robert Müller b0356aea13 Rename argument, reduce indentation of SetVoiceTimeOffset 2023-09-21 23:44:58 +02:00
Dennis Felsing 69ba84e62c CSound: Initialize all members (fixes #6795) 2023-07-01 19:50:20 +02:00
Robert Müller c25d20047b Add storage parameter to sound loading functions
So the storage type can be specified when loading sound files directly from the storage.
2023-06-25 21:25:34 +02:00
Learath f91a3069c3 Let CKernel clean-up. Use unused CSound::Shutdown 2022-09-16 16:50:19 +02:00
Robert Müller b4a82b1b87 Reduce visibility of engine sound members and methods 2022-06-26 22:43:32 +02:00
Robert Müller 757d7d0068 Change m_SoundEnabled from int to bool 2022-06-26 22:43:32 +02:00
Robert Müller 939c51bae1 Add IsPlaying to engine sound
To check if a specific sample is currently being played back.
2022-06-26 22:43:30 +02:00
Robert Müller 23cce5415e Organize engine-client includes 2022-06-17 17:46:43 +02:00
Robert Müller 4b36584ca1 Organize engine-client includes 2022-05-29 21:24:43 +02:00
Chairn 583d6e6c01 Mark virtual function as override using a script:
while IFS= read -r line; do file=${line%%:*}; lineno=$(echo $line | cut
-d':' -f2); echo "Treating $file line $lineno"; sed -i -e
"${lineno}s/virtual //" -e "${lineno}s/);\$/) override;/" -e
"${lineno}s/)\$/) override/" -e "${lineno}s/const\$/const override/" -e
"${lineno}s/) {/) override {/" -e "${lineno}s/) const {/) const override
{/" -e "${lineno}s/const;$/const override;/" "$file"; done < a
2022-05-17 23:47:32 +02:00
Jupeyy e572704963 Multithreaded video rendering 2022-03-20 18:03:33 +01:00
def b178c7c74a Make sure headers compile standalone
Not planning to do this automatically, but at least cleaning it up once
provides some benefit. Every header should include what it uses.

$ for i in src/**/*.h; do j=${i#"src/"}; echo $j; echo "#include <$j>\nint main() { return 0; }" | /usr/bin/c++ -DCONF_OPENSSL -DCONF_SQL -DCONF_VIDEORECORDER -DCONF_WAVPACK_CLOSE_FILE -DCONF_WAVPACK_OPEN_FILE_INPUT_EX -DGAME_RELEASE_VERSION=\"15.0.5\" -DGLEW_STATIC -D_FORTIFY_SOURCE=2 -I/usr/include/freetype2 -I/usr/include/opus -I/usr/include/SDL2 -I/usr/include/wavpack -I/usr/include/gdk-pixbuf-2.0 -I/usr/include/glib-2.0 -I/usr/lib/glib-2.0/include -I/usr/include/libmount -I/usr/include/blkid -Isrc -I/usr/include/mysql -I/home/deen/sys/include/ -O2 -g -DNDEBUG -fdiagnostics-color=always -fstack-protector-all -Wall -Wextra -Wno-unused-parameter -Wno-missing-field-initializers -Wformat=2 -Wno-nullability-completeness -Wduplicated-cond -Wduplicated-branches -Wlogical-op -Wrestrict -std=gnu++11 -o /dev/null -x c++ -; done

Ignored: tuning.h, variables.h, config_common.h, mapitems_ex_types.h, mapbugs_list.h, protocol7.h, teehistorian_ex_chunks.h, protocol_ex_msgs.h, config.h, config_variables.h, external, keynames.h
2020-09-26 21:50:27 +02:00
heinrich5991 94818ec1f0 Try to find external GLEW, pnglite and Wavpack
Allow for newer versions of Wavpack, fixes #1023.

Fixes #1016.
2018-02-12 23:29:45 +01:00
def c6a5a7dcb3 Try using more modern SDL audio interface 2017-07-30 12:33:51 +02:00
BeaR 98d42adf9d Implement sound logic for shaped sounds, fix rectangle height property in editor and submit voice shape information to audio interface 2014-11-29 14:29:40 +01:00
BeaR 9996751161 Remove deprecated falloff distance 2014-11-28 19:21:59 +01:00
def 26260181bd Some work on Opus map sounds (not working yet) 2014-10-27 16:23:53 +01:00
def 699fb60532 Fix: Mapping sounds in editor works even when the sound system is disabled 2014-10-25 01:23:39 +02:00
BeaR 2b1272ed69 Work on nicer audio timing 2014-10-18 18:41:59 +02:00
BeaR e211c7a2b2 Ingame sound pos envelope support 2014-10-18 18:41:55 +02:00
BeaR 8addf25b24 Add support to modulate voice volume and falloff distance 2014-10-18 18:41:54 +02:00
BeaR b5d0034674 Add embedded sound support 2014-10-18 18:41:53 +02:00
BeaR 96a6d6d85b Take sample duration into account when enqueuing sound sources 2014-10-18 18:41:53 +02:00
BeaR 16084d93cf Working on correctly replay sounds 2014-10-18 18:41:52 +02:00
oy 47cdd2524b do not try to play sound when it isn't enabled 2011-06-27 22:57:06 +02:00
oy 1a5d70450f added "reimplemented menu music by teetow-the-great-teetow" by Choupom 2011-04-13 20:00:54 +02:00
oy d9ce720387 made engine an interface 2011-02-27 15:03:57 +01:00
GreYFoXGTi 1b2703aaba Refactoring & fixed WEAPONSPEC_GUN in content.py 2011-02-12 21:18:41 +01:00
Sworddragon fc9211c777 Updated copyrights 2010-11-20 21:26:06 +01:00
Magnus Auvinen 72c06a2589 copied refactor to trunk 2010-05-29 07:25:38 +00:00