capostrophic
f779529cab
Change the default reverb preset to improve underwater FX transition
2019-08-16 17:37:38 +03:00
Capostrophic
af80eddc0e
Use loudness data for 2D voiceover (bug #4947 )
2019-04-04 19:07:29 +03:00
Andrei Kortunov
3032b177a1
Remove redundant includes
2019-02-23 08:02:12 +04:00
Ilya Zhuravlev
07e9ce84b3
Replace volatile bools with std::atomic<bool>
2018-12-24 14:19:35 -05:00
Andrei Kortunov
e06f0b797a
Replace all NULLs to nullptr
2018-10-09 10:21:12 +04:00
Andrei Kortunov
70ed8fd1a9
Use constants instead of widely used magic numbers (task #4645 )
2018-09-17 19:22:50 +04:00
Andrei Kortunov
d5bcc49079
Initialize missing struct fields
2018-09-11 11:11:24 +04:00
Chris Robinson
c2b3ca9638
Update some comments
...
It wasn't actually a bug in OSX like the comment said, but intended behavior.
2018-08-25 01:24:35 -07:00
Chris Robinson
4e3ae85c11
Set the OpenAL source offset after setting the buffer
...
This is to work around a bug in the Rapture3D driver.
2018-08-25 01:24:35 -07:00
Andrei Kortunov
5a4d0cec3a
Use new logging system for game itself
2018-08-14 23:05:43 +04:00
Andrei Kortunov
359e748c28
Initialize some missing fields in constructors
2018-06-25 09:35:42 +04:00
Andrei Kortunov
a68de93308
Initialize srate variable in openal_output
2018-05-16 16:34:58 +04:00
Andrei Kortunov
e5db5e2651
Fix 'maybe-uninitialized' warning in openal_output
2018-05-16 16:13:22 +04:00
Chris Robinson
08e947319a
Restore exception throwing to the decoder
2017-12-09 11:00:56 -08:00
Chris Robinson
06ae61479a
If a sound effect fails to load, substitute silence.
2017-12-08 22:10:09 -08:00
Chris Robinson
aecf74e7bb
Don't throw exceptions from the audio decoder
2017-12-08 07:00:04 -08:00
Chris Robinson
41bb35655b
Avoid an extra call to get the buffer size
2017-09-16 16:25:32 -07:00
Chris Robinson
4b448c74d2
Use range-for loops instead of for_each
2017-09-16 16:25:32 -07:00
Chris Robinson
9dbb713b7c
Print a bit more information for sound initialization
2017-09-16 16:25:32 -07:00
Chris Robinson
acd6d9cd72
Try opening the default device fallback in OpenAL_Output
2017-09-16 16:25:32 -07:00
Chris Robinson
d68e1581ee
Use an std::array for the OpenAL stream buffers
2017-09-15 05:40:20 -07:00
Chris Robinson
780e82480d
Make the PlayMode and PlayType enums scoped
...
Also shorten them by putting them in the MWSound namespace
2017-09-15 02:36:59 -07:00
Chris Robinson
0c1ad7c74e
Replace a few more explicit loops
2017-09-15 02:36:46 -07:00
Chris Robinson
3757571d46
Set HRTF when initializing the device
2017-09-14 16:00:43 -07:00
Chris Robinson
c17edfd547
Don't be so throw-happy in the sound manager
2017-09-14 16:00:43 -07:00
Chris Robinson
605c937572
Ensure 3D sources are spatialized
...
Standard OpenAL does not spatialize non-mono sounds, although the game has some
stereo sounds meant to play in 3D. The desired behavior can be achieved with
the AL_SOFT_source_spatialize extension.
2017-09-14 16:00:43 -07:00
Chris Robinson
edfba68eb5
Apply reverb and a low-pass filter when underwater
...
This replaces the pitch-shift effect when available.
2017-09-14 16:00:42 -07:00
Chris Robinson
0b720cd90c
Set the appropriate meter/unit scale for sound
2017-09-14 16:00:41 -07:00
Chris Robinson
c790fedd3f
Load an effect and filter for underwater
2017-09-14 16:00:41 -07:00
Chris Robinson
3d37cb3cf6
Load EFX functions when available
2017-09-14 16:00:41 -07:00
Chris Robinson
9e7a49f66e
Include alext.h to get OpenAL extension definitions
2017-09-14 16:00:40 -07:00
Chris Robinson
1fe60dd8e2
Replace some shared_ptrs with pointers to deque entries
2017-09-14 16:00:30 -07:00
Ewan Higgs
38a2de3c51
convert std::autor_ptr to std::unique_ptr, originally by Ewan Higgs and updated by Bret Curtis
2017-06-09 16:49:25 +02:00
Jules Blok
e9d8ff532f
OpenAL_Output: When a source is finished, rewind it instead of stopping it.
...
This works around a bug in the MacOS OpenAL implementation.
2016-12-29 01:03:13 +01:00
scrawl
530fb61ad0
Use OpenThreads instead of boost thread
...
This should allow OpenMW to work better with git versions of openscenegraph. OSG dev version 3.5.5 added the setting of thread affinity for the main thread. The problem is that in the boost/standard threading libraries, the affinity of a thread is inherited by any further threads launched from that thread, leading to these threads always running on the same core as the main thread unless you tell them not to.
With OpenThreads, the default affinity of a thread is none, no matter what parent thread it was launched from.
So, when using custom threading with OSG 3.6+, we have these options:
1. explicitely tell OSG to *not* set the thread affinity
or 2. explicitely set the thread affinity of additional threads created (possible with boost, but not possible with std::thread)
or 3. use OpenThreads
or 4. accept the suboptimal performance of non-OSG threads (in OpenMW's case the sound streaming & video threads) running on the same core as the main thread
This patch opts for 3.)
Reference: http://forum.openscenegraph.org/viewtopic.php?t=16158
2016-10-10 18:23:06 +02:00
scrawl
4699a8098b
Include fix
2016-06-27 21:51:18 +02:00
scrawl
dc1b010cf0
Don't analyze the loudness for sounds that don't need it
2016-06-27 21:37:13 +02:00
scrawl
965aaebbdb
Analyze the loudness data as the stream is decoded for playback
...
Instead of getting the loudness data for the whole file in advance, we now get it piece by piece as the sound is streamed.
The benefit is that we need to decode the audio just once instead of twice.
We no longer need to rewind() the stream when the first decoding is done, this should hopefully fix bug #3453 .
2016-06-27 21:32:54 +02:00
Chris Robinson
7fc2df153a
Rename stopSound/stopStream to finishSound/finishStream
...
Since they're also used to clean up output resources, not just stopping.
2015-12-11 15:13:14 -08:00
scrawl
1264651af7
Fix coverity defects
2015-12-08 21:12:05 +01:00
scrawl
e69750905a
Fix gcc warning about function casts
2015-12-08 16:51:50 +01:00
Chris Robinson
c75303b652
Add an option to select and enable HRTF
2015-12-05 17:14:53 -08:00
Chris Robinson
2face3d0a9
Combine duplicate code
2015-12-02 16:09:25 -08:00
Chris Robinson
1407366e51
Use a premade SoundStream object for the output's streamSound functions
2015-12-02 16:09:25 -08:00
Chris Robinson
2ee3265b66
Use a premade Sound object for the output's playSound functions
2015-12-02 16:09:25 -08:00
Chris Robinson
2883cdba5c
Initialize the Sound object before modifying the pitch variable
2015-12-02 16:09:24 -08:00
Chris Robinson
a6db96b2d8
Update sound and stream parameters
2015-12-02 16:09:24 -08:00
Chris Robinson
4bd235284b
Rename a couple members to avoid confusion
2015-12-02 16:09:24 -08:00
Chris Robinson
1ce3e7f5b9
Use a separate type for streams
...
They're basically the same, but it's to help avoid accidents with passing non-
streaming sounds to the stream functions, or vice-versa.
2015-12-02 16:09:24 -08:00
Chris Robinson
816015d6e6
Avoid inheriting from Sound for sound types
2015-12-02 16:09:24 -08:00