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
Chris Robinson
dc6354b2f9
Add functions to get string names for sample types and channel configs
2012-03-19 02:31:40 -07:00
Chris Robinson
4a0b5b7918
Increase the sound stream thread sleep time to 50ms
2012-03-19 02:19:13 -07:00
Chris Robinson
4698e8c0a2
Make the sound stream thread object per-device
2012-03-19 02:15:08 -07:00
Chris Robinson
2c27827e4f
Add some comment markers to the OpenAL sound classes
2012-03-19 01:33:33 -07:00
Chris Robinson
e234b90173
Use a loop to find the OpenAL format from the decoder format
2012-03-19 00:49:52 -07:00
Chris Robinson
6a256d3993
Make sure the OpenAL stream list is clear before shutting down
2012-03-19 00:38:56 -07:00
Chris Robinson
7194114669
Use a background thread to keep OpenAL streams fed
...
Maybe this could be moved to the SoundManager instead of in OpenAL, but it's
good enough for now.
2012-03-18 14:42:19 -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
403e51cef3
Move the sample type and channel config enums to MWSound and give use appropriate names for the values
2012-03-18 11:56:54 -07:00
Chris Robinson
efae7dfe83
Rename some sound decoder class member variables and functions
2012-03-18 11:47:15 -07:00
Chris Robinson
9656456d30
Make sure the sound decoders are closed when they're finished with
2012-03-18 11:34:23 -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
2f92559fc7
Use OpenAL's linear attenuation model
...
We should use the inverse distance clamped model (the default), but we first
need to handle muting sounds that are beyond their max distance. Linear
attenuation doesn't give a proper rolloff, but it makes the sounds silent at
max distance.
2012-03-18 09:05:38 -07:00
Chris Robinson
a256b9a7b0
Remove a comment about Audiere
2012-03-18 08:42:55 -07:00
Chris Robinson
3fea3e7d25
Fix stereo files with libsndfile
2012-03-17 23:47:12 -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
87adf6002a
Fix a copy-paste typo in the openal output
2012-03-17 09:57:39 -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
d57051375d
Implement non-streaming sounds with OpenAL
2012-03-17 09:15:47 -07:00