Commit Graph

57 Commits (master)

Author SHA1 Message Date
elsid 944033db4e
Separate sound buffer pool from sound manager 4 years ago
Andrei Kortunov 2254256db9 Pause both audio and video playback when the game is minimized (feature #4944) 5 years ago
Capostrophic af80eddc0e Use loudness data for 2D voiceover (bug #4947) 6 years ago
Chris Robinson 41bb35655b Avoid an extra call to get the buffer size 7 years ago
Chris Robinson 3757571d46 Set HRTF when initializing the device 7 years ago
Chris Robinson c17edfd547 Don't be so throw-happy in the sound manager 7 years ago
Chris Robinson 1fe60dd8e2 Replace some shared_ptrs with pointers to deque entries 7 years ago
scrawl dc1b010cf0 Don't analyze the loudness for sounds that don't need it 9 years ago
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 .
9 years ago
Chris Robinson 7fc2df153a Rename stopSound/stopStream to finishSound/finishStream
Since they're also used to clean up output resources, not just stopping.
9 years ago
Chris Robinson c75303b652 Add an option to select and enable HRTF 9 years ago
Chris Robinson 1407366e51 Use a premade SoundStream object for the output's streamSound functions 9 years ago
Chris Robinson 2ee3265b66 Use a premade Sound object for the output's playSound functions 9 years ago
Chris Robinson 53718a5ca0 Use a typedef for the sound instance handle 9 years ago
Chris Robinson a6db96b2d8 Update sound and stream parameters 9 years ago
Chris Robinson 4bd235284b Rename a couple members to avoid confusion 9 years ago
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.
9 years ago
Chris Robinson 816015d6e6 Avoid inheriting from Sound for sound types 9 years ago
Chris Robinson 4ee409af84 Load loudness data asynchronously
Currently abuses the output audio streams' background processing thread to do
the work, since there's no generalized threaded processing mechanism.
9 years ago
Chris Robinson 82f3651f81 Treat the sound offset as the offset in seconds 9 years ago
Chris Robinson 669b7a2295 Batch update changes together, when possible
Certain OpenAL implementations, including Rapture3D, Creative's hardware
drivers, and more recent versions of OpenAL Soft, can batch together changes so
that they all occur at once, avoiding potential discontinuities with one sound
being changed before another, or the listeenr being changed before sounds are.

On other implementaitons, this is a no-op and maintains existing behavior.
9 years ago
Chris Robinson fbfcc4050f Stream voice clips
Voices tend to be a bit long, and not individually replayed often. So it's
better to stream them instead of loading theminto a sound buffer. The loudness
data is very small, though, so that can be kept buffered indefinitely.
9 years ago
Chris Robinson eee6a19e31 Add a method to stream sounds in 3D 9 years ago
Chris Robinson 0f33f41d8d Actually unload sounds when running over 9 years ago
Chris Robinson 22a6811425 Limit the sound buffer cache to 15MB 9 years ago
Chris Robinson 0b2747098c Keep track of unused sound buffers 9 years ago
Chris Robinson 495e138907 Load sound loudness and store it with the Sound_Buffer
Still not used for say yet, though
9 years ago
Chris Robinson 4571218827 Load the sound as needed and pass it directly to the play methods
This breaks say sounds, loudness handling, and the cache limit. Fixes are
forthcoming.
9 years ago
scrawl 7a3bc69df7 Readded sound listener 10 years ago
dteviot 407cd50890 fixed warning C4099:
type name first seen using 'class' now seen using 'struct'
10 years ago
scrawl 598c0c4ae7 Implement mouth animation for NPCs based on say sound (Fixes #642) 11 years ago
PLkolek f297c21e4d Old door sound fades out on door open/close. Door sound is synchronised to angle on action. 12 years ago
Chris Robinson 2f8daec379 Allow pausing only certain types of sounds 12 years ago
Chris Robinson dd3e568a00 Set the sound properties at initialization 12 years ago
Chris Robinson 86bf6388c6 Pass a decoder to the playStream sound output method 12 years ago
Chris Robinson 2c1eceb9f0 Add methods to pause and stop all playing sounds (and music) 12 years ago
Marc Zinnschlag 6bd48d12af Issue #107: SoundManager is accessed only through the interface class from now on 13 years ago
scrawl c85c794c86 fixed some cppcheck issues 13 years ago
Chris Robinson 87e8917c4d Don't try to play sounds when no sound output is initialized 13 years ago
Chris Robinson cbf6c0404a Implement a basic underwater sound environment 13 years ago
Chris Robinson 575474ff69 Pass the mode flags to the sound output play methods 13 years ago
Chris Robinson fc167dbc83 Pass Ogre Vector3s to playSound3D and updateListener 13 years ago
Chris Robinson fefc8f86ab Remove the unused streamSound3D method 13 years ago
Chris Robinson 1ee8b963d0 Store the sound listener position as well 13 years ago
Chris Robinson c6c06f1140 Return SoundPtr objects from the playSound and streamSound methods 13 years ago
Chris Robinson 5cb90ab704 Add some dummy copy constructors and assignment operators to prevent implicit versions from being used 13 years ago
Chris Robinson f11e3e39a1 Add an enumerate method to the sound output interface 13 years ago
Chris Robinson 4f69972a9c Add a method to stream a sound in 3D 13 years ago
Chris Robinson b938fd7b36 Make the sound output init return void 13 years ago
Chris Robinson 362e254720 Rename some more sound class member variables and functions 13 years ago