Thoronador
620a8ccaf3
remove Audiere and MPG123+Sndfile decoder sources
11 years ago
Thoronador
1b8c975d5b
minor performance improvements in apps/openmw
...
Checking for emptiness using size() might be inefficient, because
it can take linear time, while empty() is guaranteed to take only
constant time.
For non-primitive types, postfix ++ operators are inefficient
compared to prefix ++ operators, because post-increment usually
involves keeping a copy of the previous value around.
11 years ago
scrawl
c8c0e5de38
Fixed code issues found with unity build. Missing include guards, duplicated functions, ...
11 years ago
Bret Curtis
ab224f93c9
remove our stdint.h version that uses boost and force usage of system stdint.h
11 years ago
Marc Zinnschlag
f9d2fde783
Merge branch 'openmw-29'
...
Conflicts:
apps/openmw/mwmechanics/aicombat.cpp
11 years ago
Marc Zinnschlag
367919200f
moved CellRefList into a separate file
11 years ago
Marc Zinnschlag
7693f712bc
started making CellStore into a proper class; encapsulated mCell member
11 years ago
Marc Zinnschlag
736644de05
Revert "#1041 in progress: decode first sample batch right in OpenAL_SoundStream::play()"
...
This reverts commit 51fb9f65ea
.
11 years ago
Nikolay Kasyanov
51fb9f65ea
#1041 in progress: decode first sample batch right in OpenAL_SoundStream::play()
11 years ago
Nikolay Kasyanov
5e8cb2e466
Another attempt to fix #1041 . This time I'm sending real data from decoder
...
once after playback started.
11 years ago
Marc Zinnschlag
1b5301eec0
Merge branch 'savedgame'
...
Conflicts:
apps/openmw/mwbase/mechanicsmanager.hpp
apps/openmw/mwbase/soundmanager.hpp
apps/openmw/mwgui/mapwindow.hpp
apps/openmw/mwmechanics/actors.cpp
apps/openmw/mwmechanics/mechanicsmanagerimp.hpp
apps/openmw/mwsound/soundmanagerimp.hpp
components/esm/loadcell.cpp
11 years ago
scrawl
03cf383be7
Merge branch 'master' of https://github.com/zinnschlag/openmw into savedgame
...
Conflicts:
apps/openmw/mwgui/referenceinterface.cpp
apps/openmw/mwmechanics/actors.cpp
apps/openmw/mwmechanics/mechanicsmanagerimp.cpp
apps/openmw/mwmechanics/mechanicsmanagerimp.hpp
apps/openmw/mwscript/cellextensions.cpp
apps/openmw/mwworld/cells.cpp
apps/openmw/mwworld/cells.hpp
apps/openmw/mwworld/cellstore.cpp
apps/openmw/mwworld/store.cpp
apps/openmw/mwworld/worldimp.cpp
11 years ago
Marc Zinnschlag
9ebe66e693
improved cleanup; failed loads will now drop back into the main menu instead of crashing
11 years ago
Marc Zinnschlag
0f60898517
adding missing cleanup for SoundManager
11 years ago
scrawl
ba5300b071
Update the Ptr in SoundManager for references moved to a different cell. Fixes looping sounds not stopping after a moved object was already deleted.
11 years ago
scrawl
e410eb5273
Play 'Idle' voiced dialogue entries in AIWander. Tweak voice max distance.
11 years ago
scrawl
396efd580b
Fix a leftover of the old coordinate system
11 years ago
scrawl
2196ce427a
Closes #556 : Link movie volume to 'master' volume slider, instead of 'music'.
11 years ago
scrawl
098f9712f1
Add getPlayerPtr() utility method. Reduces dependencies a lot.
11 years ago
scrawl
62774fcc4a
Merge branch 'master' into HEAD
...
Conflicts:
apps/openmw/mwbase/world.hpp
apps/openmw/mwinput/inputmanagerimp.cpp
apps/openmw/mwmechanics/actors.cpp
apps/openmw/mwworld/worldimp.cpp
apps/openmw/mwworld/worldimp.hpp
components/esm/loadtes3.cpp
11 years ago
Marc Zinnschlag
a6e6411686
Merge remote-tracking branch 'scrawl/master'
11 years ago
scrawl
531bef6193
Shorter Vector3 initialisation
11 years ago
Lukasz Gromanowski
2d4e06cd50
Updated comments about freeing format_ctx->pb->buffer.
...
Signed-off-by: Lukasz Gromanowski <lgromanowski@gmail.com>
11 years ago
Lukasz Gromanowski
6107d5bad2
Updated ffmpeg decoder fix
...
Signed-off-by: Lukasz Gromanowski <lgromanowski@gmail.com>
11 years ago
Lukasz Gromanowski
5c5f87445b
Fixes for "Conditional jump or move depends on uninitialised value(s)"
...
and memleaks reported by valgrind.
Signed-off-by: Lukasz Gromanowski <lgromanowski@gmail.com>
11 years ago
Marc Zinnschlag
e818d43bc3
removed an outdated typedef and some dead code
11 years ago
Chris Robinson
f216b25be8
Slightly randomize time between environment sounds
...
We should use the "Minimum Time Between Environmental Sounds" and
"Maximum Time Between Environmental Sounds" INI/fallback settings, but we don't
have them.
12 years ago
Chris Robinson
02df8ab841
Store the underwater sound to easily stop it
12 years ago
Chris Robinson
16331bf1ed
Avoid a hack to play the underwater sound properly
12 years ago
PLkolek
86020ad94d
Added underwater and drowning sounds.
12 years ago
Marc Zinnschlag
5cafe65cd7
Merge remote-tracking branch 'scrawl/cppcheck'
12 years ago
scrawl
7dc30a01cd
Some changes suggested by cppcheck
12 years ago
PLkolek
f297c21e4d
Old door sound fades out on door open/close. Door sound is synchronised to angle on action.
12 years ago
scrawl
90a5d8b6f5
Fix uninitialized AL listener position/orientation when the game is paused during the first frame
12 years ago
Chris Robinson
f73008546f
Keep a sound updated with its object's position
12 years ago
Chris Robinson
ad6d663e09
Remove some unnecessary debug messages
12 years ago
Chris Robinson
14e0c182f3
Allow specifying the sound type to playSound and playSound3D
12 years ago
Miroslav Puda
743b3dec99
Correction of libavutil version
12 years ago
eroen
d75391de8e
libav-9 - fix missing includes
...
With libav-9 and ffmpeg-1.0, libavcodec/avcodec.h no longer defines the
AV_CH_LAYOUT_* constants. They have been defined in libavutil/channel_layout.h
for a long time prior to this.
12 years ago
eroen
2850032d9e
libc++ fixes: avcodec/avformat workaround
...
With libc++, string includes stdint.h, which breaks the fragile avformat.h
workaround, which depends on __STDC_CONSTANT_MACROS being defined before
stdint.h is included.
Moving the string inclusion after that eyesore shouldn't break anything.
12 years ago
scrawl
c41f119ba6
Added new game button
12 years ago
scrawl
48a88f1917
Fix startRandomTitle
12 years ago
Chris Robinson
35e2b6942a
Merge remote-tracking branch 'zini/master' into misc-cleanup
12 years ago
Chris Robinson
ceafcc2ebb
Support float samples with ffmpeg
...
Requires the AL_EXT_FLOAT32 extension in OpenAL
12 years ago
Nathan Jeffords
21f502e3dd
properly handle potentially non 16 bit planar audio formats
12 years ago
Nathan Jeffords
7ea1f6a02a
fixes for using FFMPEG on windows
12 years ago
Nikolay Kasyanov
0d4b0bfd93
Trying to resolve sound issues on OS X with ffmpeg backend
12 years ago
Chris Robinson
8a073c113e
Use const references where appropriate
12 years ago
Nathan Jeffords
39d27b87c9
fixed build error with Audiere coded enabled
12 years ago
Chris Robinson
1dd9276ceb
Add missing decoder method declarations
12 years ago
Chris Robinson
85850c7440
Fix DEFAULT_OUTPUT declaration
12 years ago
Chris Robinson
7b2c3e6cd3
Pass a proper PlayMode enum to playSound and playSound3D
12 years ago
Chris Robinson
3b7edae7c3
Don't hold a list of all sound sources
12 years ago
Chris Robinson
fe36cc1de7
Don't try to resume sound types that aren't paused
12 years ago
Chris Robinson
2f8daec379
Allow pausing only certain types of sounds
12 years ago
Chris Robinson
b4e36d4f31
Add a method to get the volume from the sound type
12 years ago
Chris Robinson
a5356e194e
Allow specifying a type for the playTrack method
12 years ago
Chris Robinson
72ffceb206
Add type flags to the sound play mode
12 years ago
Chris Robinson
dd3e568a00
Set the sound properties at initialization
12 years ago
Chris Robinson
20321c4552
Keep track of the actual active sounds
12 years ago
Chris Robinson
d348435a1d
Improve audio open error message
12 years ago
Chris Robinson
e9d833be03
Use the packet pts to calculate the decoder sample offset
12 years ago
Chris Robinson
1a771ae671
Merge the stream struct into the parent decoder
12 years ago
Chris Robinson
5fff1c4e47
Update the ffmpeg decoder to use avcodec_decode_audio4
12 years ago
Chris Robinson
5f4c33f896
Only store one packet at a time
12 years ago
Chris Robinson
9d86890d9d
Only use one stream for the ffmpeg decoder
12 years ago
Chris Robinson
32b0a5d96e
Update the queued sample count immediately
12 years ago
Chris Robinson
0a5ab977b7
Use the decoder's sample offset for calculating the stream offset
12 years ago
Chris Robinson
1ea1407707
Support quad, 5.1, and 7.1 with OpenAL and ffmpeg
...
The other decoders don't guarantee any channel ordering, which makes them
useless.
12 years ago
Chris Robinson
f067b22b3f
Use a recursive mutex for the OpenAL stream thread
12 years ago
Chris Robinson
ba9c5f5b4e
Don't initially fill buffers in OpenAL_SoundStream::play
12 years ago
Chris Robinson
779ced0889
Add a method to play an audio track with a custom decoder
12 years ago
Chris Robinson
1571243ef0
Implement getTimeOffset for OpenAL_SoundStream
12 years ago
Chris Robinson
86bf6388c6
Pass a decoder to the playStream sound output method
12 years ago
Chris Robinson
9c831d3039
Add a decoder method to get the "file" name
12 years ago
Chris Robinson
34e36fb852
Add a method to get the time offset from sounds
12 years ago
scrawl
7fd9e1d212
Merge branch 'videoplayback' of https://github.com/ChrisKCat/openmw into videoplayback
...
Conflicts:
apps/openmw/mwrender/videoplayer.cpp
12 years ago
scrawl
18d8c767bd
fix a bunch of warnings, improved error handling, initialize texture to black
12 years ago
Chris Robinson
2c1eceb9f0
Add methods to pause and stop all playing sounds (and music)
12 years ago
Chris Robinson
973b5faf25
Keep track of all allocated sources
12 years ago
Chris Robinson
c2e1595445
Treat paused sounds as still playing
12 years ago
scrawl
5f676f9c6b
Merge branch 'master' of https://github.com/zinnschlag/openmw into videoplayback
...
Conflicts:
apps/openmw/mwrender/renderingmanager.cpp
apps/openmw/mwscript/miscextensions.cpp
12 years ago
scrawl
e3dd3d565c
fix 2 leaks
12 years ago
scrawl
d432420a32
fix FindFFmpeg.cmake
12 years ago
scrawl
5f7d349126
several missing includes
12 years ago
greye
e628b23da6
applying new interface vol.3, inconsistent
12 years ago
greye
d205723a17
resolving m prefix/ESMStore movement
12 years ago
greye
2057f5619e
move ESMStore to MWWorld
12 years ago
greye
3c2ce25f5f
m prefix for mwworld/cellstore.hpp
12 years ago
scrawl
1a2034b4dd
training window
12 years ago
Marc Zinnschlag
35d099a638
disabling gcc extensions
12 years ago
Marc Zinnschlag
35d7b5e5b0
Merge remote-tracking branch 'greye/record_saving'
12 years ago
Chris Robinson
6c5c9ce46e
Avoid console spam when a sound can't play
12 years ago
Chris Robinson
6942fa97da
Specify a proper up vector for the listener
12 years ago
Chris Robinson
991f942fba
Merge remote-tracking branch 'zini/master' into sound
...
Conflicts:
apps/openmw/mwsound/soundmanagerimp.cpp
apps/openmw/mwsound/soundmanagerimp.hpp
12 years ago
greye
7606ebafd6
resolving conflicts, minor update
12 years ago
Marc Zinnschlag
81463fa23d
Issue #372 : fixed positions in SoundManager
13 years ago
Marc Zinnschlag
aca08eb4c2
Merge branch 'decouple' into player_control
...
Conflicts:
apps/openmw/mwsound/soundmanagerimp.hpp
13 years ago
greye
b5bc7bc424
SoundManager dependency on camera pos/dir
13 years ago
Marc Zinnschlag
6bd48d12af
Issue #107 : SoundManager is accessed only through the interface class from now on
13 years ago
greye
df60f4bf92
stub for soundmanager, adjust rotation mode
13 years ago
greye
ec9cf4d3c6
rotateObject() added, input system rewritten
13 years ago
Dmitry Marakasov
0e934a52ca
Include soundmanager.hpp for Play_Normal enum
13 years ago
Dmitry Marakasov
1c53add6c4
Include boost/shared_ptr.hpp for boost:shared_ptr
13 years ago
Alexander "Ace" Olofsson
113457d934
Fixed some windows issues and got rid of a few tiny warnings while at it.
13 years ago
Marc Zinnschlag
87667ab57e
Issue #107 : Ptr related include cleanup
13 years ago
Marc Zinnschlag
4c39fefd1e
Issue #107 : World is accessed only through the interface class from now on; some include cleanup
13 years ago
Chris Robinson
2f8056dfab
Merge remote branch 'zini/master' into sound
13 years ago
Marc Zinnschlag
0f71439991
Merge remote branch 'garvek/master'
13 years ago
Sylvain THESNIERES
fc3a3fc173
MSVC build compliance:
...
- static const float member is not ISO
- callback do not match DLL signature
13 years ago
scrawl
c85c794c86
fixed some cppcheck issues
13 years ago
Chris Robinson
05fd8f0211
Update the actual sounds and music volume when settings change
13 years ago
scrawl
cbe89f7e32
copy&paste mistake
13 years ago
scrawl
189b044392
small correction
13 years ago
scrawl
9b94edd561
audio tab with volume sliders
13 years ago
scrawl
c9aa0ca1f4
don't create terrain if there is no land data, also fixes a water disappearing issue and a sound exception if cells with no region
13 years ago
Chris Robinson
1627206d56
Remove an unused method
...
Best not to design something we don't yet know what's needed from it.
13 years ago
Chris Robinson
144d52cf49
Add voices to the chargen class questions
13 years ago
Chris Robinson
b3caf82714
Avoid using vector<>::data(), which requires C++11
13 years ago
Marc Zinnschlag
35f478071e
Issue #255 : deleted the old environment class and using the new one instead
13 years ago
Chris Robinson
59ccab0b2c
Add sound volume settings
13 years ago
Chris Robinson
752e89a268
Add a setting to select the sound device name
13 years ago
Chris Robinson
b8be867e6e
Work around a bug in the Windows OpenAL router
13 years ago
Chris Robinson
87e8917c4d
Don't try to play sounds when no sound output is initialized
13 years ago
Chris Robinson
63e0e82049
Implement an Audiere-based decoder
13 years ago
Chris Robinson
2147210ad7
Don't set an underwater environment when there's no water
13 years ago
Chris Robinson
9c06bfc8fc
Merge remote branch 'zini/master' into sound
13 years ago
Alexander "Ace" Olofsson
64f792c01d
Fix a value defined at the wrong place
13 years ago
Chris Robinson
e8e8d3fb1b
Fully reset the music before starting the next track
13 years ago
Chris Robinson
3a57746ee4
Remove an unneeded volume special-case
13 years ago
Chris Robinson
4944a29b21
Keep track of the sound pitch
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
977e7ac9a3
Remove the Play_Single flag. It's not correct.
13 years ago
Chris Robinson
ae308b9b5f
Use a set of flags instead of separate booleans
13 years ago
Chris Robinson
e48d125a84
Only allow one instance of a given tracked soundid
...
The untracked flag should probably be broken up and combined with the loop
boolean into a set of flags.
13 years ago
Chris Robinson
bfac946878
Finally "fix" --nosound
...
Expect degraded performance with it. Looping sounds are constantly checked to
see if they're playing, and try to play it again when it's not.
13 years ago
Chris Robinson
7541e08909
Don't reset the sound Output device if init fails
13 years ago
Chris Robinson
28378c063b
Minor OpenAL_SoundStream cleanups
13 years ago
Chris Robinson
4e908aa095
Add a method to set the sound's position
13 years ago
Chris Robinson
b01289128b
Split OpenAL_Sound into separate classes for 2D and 3D sounds
13 years ago
Chris Robinson
5adeee20fd
Mute sounds that go outside the max distance
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
fad27d99e6
Update the actual sound volume with the position
13 years ago
Chris Robinson
479df78ea1
Update the actual sound position after the listener
13 years ago
Chris Robinson
71d9d7e943
Store the current sound position with the Sound object
13 years ago
Chris Robinson
de102cd274
Simplify broken OpenAL workaround
13 years ago
Chris Robinson
33a63d88a5
Merge remote branch 'zini/master' into sound
13 years ago
Nikolay Kasyanov
b6aa8925f4
(Temporary) workaround for broken OpenAL implementations that doesn't return meaningful max counts of sources
13 years ago
Chris Robinson
3d5384e2bb
Remove some unneeded casts
13 years ago
Nikolay Kasyanov
20f976ddc7
probably openal initialization fix
13 years ago
Chris Robinson
bedf56a237
Merge remote branch 'zini/next' into sound
13 years ago
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).
13 years ago
Chris Robinson
293f33914e
Use a deque fpr OpenAL's free sources
13 years ago
Chris Robinson
a3291ef360
Add a sound method to update the volume
13 years ago
Chris Robinson
7008bd2fe1
Store some sound properties in the Sound class
13 years ago
Chris Robinson
c072babd17
Better handle bad OpenAL source counts
13 years ago
Chris Robinson
089c340935
Switch the map so the SoundPtr is used as a key
13 years ago
Marc Zinnschlag
a996cfed71
Merge remote branch 'ace/win-fixes' into next
13 years ago
Chris Robinson
c6c06f1140
Return SoundPtr objects from the playSound and streamSound methods
13 years ago
Chris Robinson
f0db2ab82f
Split stopSound3D into separate functions to deal with stopping all sounds on an object
13 years ago
Chris Robinson
033faba9c4
Make a function parameter const
13 years ago
Chris Robinson
c2611d035c
Use a pair to match the MWWorld::Ptr object and sound ID, instead of nested maps
13 years ago
Alexander "Ace" Olofsson
55f1053b4f
Windows fixes for compiling and linking
13 years ago
Lukasz Gromanowski
be94da1527
Issue #225 : Initialize class members in constructor.
13 years ago
Chris Robinson
0d552c10bc
Use an empty MWWorld::Ptr object for non-3D sounds
13 years ago
Chris Robinson
7b3ecc290e
Fix compilation with older OpenAL headers
13 years ago
Chris Robinson
3e98e28059
Use a better method to get a more even randomization
13 years ago
Chris Robinson
71d3f9bd51
Get the object reference's position once when updating its sounds
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
fa70a72b75
Remove some unused sound manager fields and constructor parameters
13 years ago
Chris Robinson
1ccddefe28
Properly report the default device when opening sound fails
13 years ago
Chris Robinson
2f0af42261
Use the ALC_ENUMERATE_ALL_EXT extension with OpenAL when available
13 years ago
Chris Robinson
277597c567
Fix DEFAULT_OUTPUT for OpenAL_Output
13 years ago
Chris Robinson
2e28819243
Avoid trying to play an ambient sound if there's no chance for any to play
13 years ago
Chris Robinson
bac6df5563
Avoid leaking an ffmpeg stream
13 years ago
Chris Robinson
15317796bf
Handle the wav -> mp3 extension conversion in the sound output backend
13 years ago
Chris Robinson
f11e3e39a1
Add an enumerate method to the sound output interface
13 years ago
Chris Robinson
366c97c492
Use a separate method to check for finished sounds and update the listener
13 years ago
Chris Robinson
e6fe1c0261
Remove a mostly unneeded wrapper function
13 years ago
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.
13 years ago
Chris Robinson
8056a7f20b
Throw an exception when looking up a sound instead of returning an empty string
13 years ago
Chris Robinson
9a139f511f
Avoid redefining SOUND_IN
13 years ago
Chris Robinson
56c3b988cc
Avoid copying the region when looking for a sound to play
13 years ago
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
13 years ago
Chris Robinson
6a85ef1229
Set Ogre's data stream to NULL when closing the audio file
13 years ago
Chris Robinson
0d973ac8ff
Use the vector's data field instead of the address of the first element
...
Same thing really, but less convoluted
13 years ago
Chris Robinson
fd8326e958
Better handle some ffmpeg errors
13 years ago
Chris Robinson
7b22ee6fd1
Use for_each to clear the ffmpeg stream packets
13 years ago
Chris Robinson
2989a1e06e
Improve ffmpeg failure messages
13 years ago
Chris Robinson
26a441f29a
Add a readAll method to the sound decoder, for potentially more efficient reading
13 years ago
Chris Robinson
deb473b9ae
Implement the ffmpeg decoder
13 years ago
Chris Robinson
9a48002025
Fix compilation of the FFmpeg decoder
13 years ago
Chris Robinson
e48745b68e
Fix streamMusic's path lookup
13 years ago
Chris Robinson
fc27d5cc19
Restore music playback
13 years ago
Chris Robinson
5ae47f783e
Use the sound manager's update to make sure music is still playing
13 years ago
Chris Robinson
0261aac518
Use Ogre's resource group manager to handle sound files
13 years ago
Chris Robinson
80dbf82a74
Explicitly stop sounds instead of relying on their deletion to do it
13 years ago