1
0
Fork 1
mirror of https://github.com/TES3MP/openmw-tes3mp.git synced 2025-01-16 04:19:55 +00:00
Commit graph

157 commits

Author SHA1 Message Date
Chris Robinson
7008bd2fe1 Store some sound properties in the Sound class 2012-03-28 04:58:47 -07:00
Chris Robinson
c072babd17 Better handle bad OpenAL source counts 2012-03-28 04:56:40 -07:00
Chris Robinson
089c340935 Switch the map so the SoundPtr is used as a key 2012-03-28 04:37:00 -07:00
Chris Robinson
c6c06f1140 Return SoundPtr objects from the playSound and streamSound methods 2012-03-27 05:59:09 -07:00
Chris Robinson
f0db2ab82f Split stopSound3D into separate functions to deal with stopping all sounds on an object 2012-03-27 03:20:50 -07:00
Chris Robinson
033faba9c4 Make a function parameter const 2012-03-27 03:00:04 -07:00
Chris Robinson
c2611d035c Use a pair to match the MWWorld::Ptr object and sound ID, instead of nested maps 2012-03-27 02:50:45 -07:00
Chris Robinson
0d552c10bc Use an empty MWWorld::Ptr object for non-3D sounds 2012-03-26 04:10:47 -07:00
Chris Robinson
7b3ecc290e Fix compilation with older OpenAL headers 2012-03-26 01:12:06 -07:00
Chris Robinson
3e98e28059 Use a better method to get a more even randomization 2012-03-24 21:05:03 -07:00
Chris Robinson
71d3f9bd51 Get the object reference's position once when updating its sounds 2012-03-24 08:12:04 -07:00
Chris Robinson
5cb90ab704 Add some dummy copy constructors and assignment operators to prevent implicit versions from being used 2012-03-24 03:49:03 -07:00
Chris Robinson
fa70a72b75 Remove some unused sound manager fields and constructor parameters 2012-03-24 00:22:54 -07:00
Chris Robinson
1ccddefe28 Properly report the default device when opening sound fails 2012-03-23 00:31:01 -07:00
Chris Robinson
2f0af42261 Use the ALC_ENUMERATE_ALL_EXT extension with OpenAL when available 2012-03-22 23:51:00 -07:00
Chris Robinson
277597c567 Fix DEFAULT_OUTPUT for OpenAL_Output 2012-03-22 18:44:55 -07:00
Chris Robinson
2e28819243 Avoid trying to play an ambient sound if there's no chance for any to play 2012-03-22 18:39:10 -07:00
Chris Robinson
bac6df5563 Avoid leaking an ffmpeg stream 2012-03-21 23:32:24 -07:00
Chris Robinson
15317796bf Handle the wav -> mp3 extension conversion in the sound output backend 2012-03-21 22:49:40 -07:00
Chris Robinson
f11e3e39a1 Add an enumerate method to the sound output interface 2012-03-21 20:15:01 -07:00
Chris Robinson
366c97c492 Use a separate method to check for finished sounds and update the listener 2012-03-21 19:24:38 -07:00
Chris Robinson
e6fe1c0261 Remove a mostly unneeded wrapper function 2012-03-21 19:08:11 -07:00
Chris Robinson
aecc77a73c Replace the sound file extension when opening fails
This should make it more efficient to lookup a sound instead of checking each
time it's played. A better method would perhaps be to check if the resource
exists when the ESM is loaded and replace it then as needed.
2012-03-21 18:42:48 -07:00
Chris Robinson
8056a7f20b Throw an exception when looking up a sound instead of returning an empty string 2012-03-21 18:20:32 -07:00
Chris Robinson
9a139f511f Avoid redefining SOUND_IN 2012-03-21 15:29:05 -07:00
Chris Robinson
56c3b988cc Avoid copying the region when looking for a sound to play 2012-03-21 15:19:40 -07:00
Chris Robinson
8c5f85ca83 Use a local variable to mark sound streams as finished while processing
This avoids a race condition where the source can underrun while the final
buffers are being queued and the sound can be detected as stopped
2012-03-21 14:49:29 -07:00
Chris Robinson
6a85ef1229 Set Ogre's data stream to NULL when closing the audio file 2012-03-21 14:46:29 -07:00
Chris Robinson
0d973ac8ff Use the vector's data field instead of the address of the first element
Same thing really, but less convoluted
2012-03-21 14:38:37 -07:00
Chris Robinson
fd8326e958 Better handle some ffmpeg errors 2012-03-21 12:20:36 -07:00
Chris Robinson
7b22ee6fd1 Use for_each to clear the ffmpeg stream packets 2012-03-20 21:46:12 -07:00
Chris Robinson
2989a1e06e Improve ffmpeg failure messages 2012-03-20 18:57:11 -07:00
Chris Robinson
26a441f29a Add a readAll method to the sound decoder, for potentially more efficient reading 2012-03-20 17:57:28 -07:00
Chris Robinson
deb473b9ae Implement the ffmpeg decoder 2012-03-20 17:05:19 -07:00
Chris Robinson
9a48002025 Fix compilation of the FFmpeg decoder 2012-03-20 14:13:58 -07:00
Chris Robinson
e48745b68e Fix streamMusic's path lookup 2012-03-20 12:39:49 -07:00
Chris Robinson
fc27d5cc19 Restore music playback 2012-03-20 11:31:13 -07:00
Chris Robinson
5ae47f783e Use the sound manager's update to make sure music is still playing 2012-03-20 10:46:10 -07:00
Chris Robinson
0261aac518 Use Ogre's resource group manager to handle sound files 2012-03-20 10:34:36 -07:00
Chris Robinson
80dbf82a74 Explicitly stop sounds instead of relying on their deletion to do it 2012-03-20 07:22:17 -07:00
Chris Robinson
74e79bb4af Merge remote branch 'zini/master' into sound-rewrite
Conflicts:
	apps/openmw/mwsound/soundmanager.cpp
	apps/openmw/mwsound/soundmanager.hpp
2012-03-20 06:17:02 -07:00
Chris Robinson
fd37a4827c Enforce a 15MB limit on the sound buffer cache 2012-03-19 13:19:22 -07:00
Chris Robinson
04638516b2 Check for stopped active sounds too and remove them 2012-03-19 12:08:40 -07:00
Chris Robinson
6c45d6668b Cache OpenAL buffers for easy reuse 2012-03-19 10:33:06 -07:00
Chris Robinson
91821ccd8c Add the sound stream to the thread after resetting the mIsFinished flag 2012-03-19 09:08:59 -07:00
Chris Robinson
db46bf39b3 Add a rewind method to the sound decoder 2012-03-19 08:48:25 -07:00
Chris Robinson
afa2cb6de7 Stop trying to read decoded audio once it's finished 2012-03-19 07:51:28 -07:00
Chris Robinson
4f69972a9c Add a method to stream a sound in 3D 2012-03-19 07:28:03 -07:00
Chris Robinson
ae8218bf03 Allocate OpenAL sources when opening the device
This allows sources to be more efficiently retrieved and returned
2012-03-19 07:11:01 -07:00
Chris Robinson
8f9d4ff841 Use 6 125ms buffers for OpenAL streams 2012-03-19 05:29:04 -07:00