Chris Robinson
be337ef7cc
Return SoundPtr objects from playSound[3D]
...
Note that each Sound object currently contains "precious" resources even after
the sound is stopped. The reference should be reliquished as soon as it's no
longer needed (the SoundManager will make sure the sound continues to play
until it's finished).
2012-03-28 06:08:25 -07:00
Chris Robinson
7008bd2fe1
Store some sound properties in the Sound class
2012-03-28 04:58:47 -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
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
fa70a72b75
Remove some unused sound manager fields and constructor parameters
2012-03-24 00:22:54 -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
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
26a441f29a
Add a readAll method to the sound decoder, for potentially more efficient reading
2012-03-20 17:57:28 -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
04638516b2
Check for stopped active sounds too and remove them
2012-03-19 12:08:40 -07:00
Chris Robinson
8f9d4ff841
Use 6 125ms buffers for OpenAL streams
2012-03-19 05:29:04 -07:00
Chris Robinson
dc6354b2f9
Add functions to get string names for sample types and channel configs
2012-03-19 02:31:40 -07:00
Michael Papageorgiou
d10b18b0f3
Removed a couple of warnings with nosound
2012-03-18 22:50:52 +02:00
Michael Papageorgiou
f567950e25
Fix for the --nosound crash
2012-03-18 22:38:53 +02:00
Chris Robinson
b938fd7b36
Make the sound output init return void
2012-03-18 12:19:54 -07:00
Chris Robinson
1965b5bc79
Rename some Sound class member functions
2012-03-18 12:03:15 -07:00
Chris Robinson
362e254720
Rename some more sound class member variables and functions
2012-03-18 11:30:53 -07:00
Chris Robinson
162642e672
Prefix some SoundManager class member variables
2012-03-18 11:17:45 -07:00
Chris Robinson
a256b9a7b0
Remove a comment about Audiere
2012-03-18 08:42:55 -07:00
Chris Robinson
f7ac94d686
Pass the new position to the sound update method
2012-03-17 23:41:45 -07:00
Chris Robinson
44fc204864
Avoid passing a sound decoder to the play methods
2012-03-17 23:30:43 -07:00
Chris Robinson
ddfa906922
Add a missing include
2012-03-17 22:45:28 -07:00
Chris Robinson
a69ec91242
Remove some unnecessary wrappers and do some small cleanups
2012-03-17 22:13:57 -07:00
Chris Robinson
a91085a1b9
Add a couple comments
2012-03-17 10:45:11 -07:00
Chris Robinson
7160d20db3
Be more consistent with the vector orientations given the sound handler
2012-03-17 10:36:34 -07:00
Chris Robinson
cbeff4657f
Pass the loop and untracked flags when playing a 3d sound
2012-03-17 10:16:22 -07:00
Chris Robinson
5563f583ff
Add and implement methods to update tracked sounds on an object
2012-03-17 09:51:03 -07:00
Chris Robinson
979ae89aab
Pass volume and pitch parameters to streamed sounds
2012-03-17 09:37:41 -07:00
Chris Robinson
cac07d0fbf
Remove some unnecessary methods
2012-03-17 09:27:31 -07:00
Chris Robinson
e49a090af7
Remove unnecessary hack
2012-03-17 09:16:09 -07:00
Chris Robinson
9adf1e8461
Keep a handle on played sounds
2012-03-17 08:02:46 -07:00
Chris Robinson
656863ec6e
Add functions to play sounds
2012-03-17 06:51:44 -07:00
Chris Robinson
a46f8ced05
Keep the sound output's listener updated with the camera position
2012-03-17 06:18:59 -07:00