Commit Graph

467 Commits (openmw-39)

Author SHA1 Message Date
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