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

579 commits

Author SHA1 Message Date
Chris Robinson
5f8a09df97 Play player sounds (except footsteps) local to the listener 2015-11-27 02:01:18 -08:00
Chris Robinson
82f3651f81 Treat the sound offset as the offset in seconds 2015-11-27 02:01:17 -08:00
Chris Robinson
8b7587f9a6 Track whether a sound is 3D 2015-11-27 02:01:17 -08:00
Chris Robinson
fc912b135f Avoid unnecessarily friending classes 2015-11-27 02:01:17 -08:00
Chris Robinson
d4238a6d91 Add config options for the sound buffer cache size
The cache size is specified with a min/max range, intended to avoid constant
unloading once the limit is reached. This way, buffers can be unloaded down to
a reasonable mimimum, allowing some more buffers to be subsequently loaded
without causing more unloading.
2015-11-26 02:13:37 -08:00
Chris Robinson
8715add72f Store sound buffers in a deque that's filled in as needed
A deque allows existing Sound_Buffer references to remain valid as long as new
ones are back-inserted. These references can be used instead of indices.
2015-11-26 01:26:33 -08:00
Chris Robinson
8f08ca9cba Revert "Avoid unsafe sizeof(x)/sizeof(x[0]) constructs for array counting"
This reverts commit 0d4fea896c.
2015-11-25 06:06:27 -08:00
Chris Robinson
04f885d8cc Rename mReferences to mUses 2015-11-25 04:24:27 -08:00
Chris Robinson
0d4fea896c Avoid unsafe sizeof(x)/sizeof(x[0]) constructs for array counting 2015-11-25 04:24:27 -08:00
Chris Robinson
a1bdb544db Avoid an unnecessary string copy 2015-11-25 04:24:27 -08:00
Chris Robinson
aac903484c Remove a really unnecessary method 2015-11-25 04:24:26 -08:00
Chris Robinson
73448c72f6 Replace Play_NoTrack with playManualSound3D, and rename the latter 2015-11-25 04:24:26 -08:00
Chris Robinson
caae305ddd Use a sorted list for unused buffers
Helps ensure the buffers being unloaded due to cache limits are not likely to
be needed anytime soon.
2015-11-25 04:24:26 -08:00
Chris Robinson
669b7a2295 Batch update changes together, when possible
Certain OpenAL implementations, including Rapture3D, Creative's hardware
drivers, and more recent versions of OpenAL Soft, can batch together changes so
that they all occur at once, avoiding potential discontinuities with one sound
being changed before another, or the listeenr being changed before sounds are.

On other implementaitons, this is a no-op and maintains existing behavior.
2015-11-25 04:24:26 -08:00
Chris Robinson
ea70b0baee Don't store the buffer in the sound struct 2015-11-25 04:24:25 -08:00
Chris Robinson
fd7d58fe7e Reset the sound handle back to null after unloading 2015-11-25 04:24:25 -08:00
Chris Robinson
4801661b34 Stop all sounds of the given id 2015-11-25 04:24:25 -08:00
Chris Robinson
8a69f676ec Remove some duplicate code 2015-11-25 04:24:25 -08:00
Chris Robinson
45628316f8 Remove an unnecessary check 2015-11-25 04:24:25 -08:00
Chris Robinson
574c1923fe Clear unused buffers after unloading them all 2015-11-25 04:24:25 -08:00
Chris Robinson
5ad772c3b3 Fix streaming sound time 2015-11-25 04:24:25 -08:00
Chris Robinson
3ce6aee98b Return a decoder from the loadVoice function 2015-11-25 04:24:25 -08:00
Chris Robinson
24f8c78fca Store sound buffer references by index instead of string 2015-11-25 04:24:24 -08:00
Chris Robinson
f7218f5a25 Use proper mutex mechanisms and don't check al errors in the stream thread 2015-11-25 04:24:24 -08:00
Chris Robinson
f9e18cd966 Prepare all Sound_Buffer objects when one is needed
This simply sets up the Sound record data to be used by the sound output. The
actual audio buffers, stored in the Sound_Handle, are still loaded on-demand.
2015-11-25 04:24:24 -08:00
Chris Robinson
6c3953766e Use separate lists for the sound name and its buffer
This should make sound lookup a bit more efficient, especially when an integer
ID can be used.
2015-11-25 04:24:24 -08:00
Chris Robinson
fbfcc4050f Stream voice clips
Voices tend to be a bit long, and not individually replayed often. So it's
better to stream them instead of loading theminto a sound buffer. The loudness
data is very small, though, so that can be kept buffered indefinitely.
2015-11-25 04:24:24 -08:00
Chris Robinson
eee6a19e31 Add a method to stream sounds in 3D 2015-11-25 04:24:24 -08:00
Chris Robinson
f1a1dc8408 Pass relevant sound parameters to the OpenAL_SoundStream constructor 2015-11-25 04:24:24 -08:00
Chris Robinson
83721092f2 Refactor the audio streaming code to be a bit saner 2015-11-25 04:24:23 -08:00
Chris Robinson
16f72886e9 Use separate lists for openal sounds and streams 2015-11-25 04:24:23 -08:00
Chris Robinson
0f33f41d8d Actually unload sounds when running over 2015-11-25 04:24:23 -08:00
Chris Robinson
22a6811425 Limit the sound buffer cache to 15MB 2015-11-25 04:24:23 -08:00
Chris Robinson
0b2747098c Keep track of unused sound buffers 2015-11-25 04:24:23 -08:00
Chris Robinson
4073495070 Add some missing sound handling 2015-11-25 04:24:23 -08:00
Chris Robinson
e362896817 Combine some duplicate code 2015-11-25 04:24:23 -08:00
Chris Robinson
febc7b510a Remove an unneeded method 2015-11-25 04:24:23 -08:00
Chris Robinson
3fdc3c4ea9 Use a separate map for say sounds
Also restores lip movement
2015-11-25 04:24:22 -08:00
Chris Robinson
9d0018e1bc Reorder active sound data to make lookup by Ptr better 2015-11-25 04:24:22 -08:00
Chris Robinson
495e138907 Load sound loudness and store it with the Sound_Buffer
Still not used for say yet, though
2015-11-25 04:24:22 -08:00
Chris Robinson
f4c22ec49e Hold a separate list for voice sound buffers
This fixes say. Ideally voices would be streamed, but the loudness/"lip" buffer
extraction should be separated from the buffer loading code.
2015-11-25 04:24:22 -08:00
Chris Robinson
4571218827 Load the sound as needed and pass it directly to the play methods
This breaks say sounds, loudness handling, and the cache limit. Fixes are
forthcoming.
2015-11-25 04:24:22 -08:00
Chris Robinson
e2beefd8b5 Store info calculated from the ESM::Sound record 2015-11-25 04:24:22 -08:00
scrawl
f08cfa19ea Fix SoundManager::isPlaying to consider multiple entries with the same Ptr/id
Now it returns true if *any* sounds matching the given Ptr and id are playing. The previous behaviour was causing problems with "zombie" sounds (sounds that have finished playing, but weren't removed from the map yet) making the isPlaying method return false even though there's another legitimately playing sound in the map.
2015-11-19 01:06:51 +01:00
Bret Curtis
3ea3d07d44 really purge libav 2015-11-12 16:39:29 +01:00
dteviot
77a1d947cc extracted MWMechanics::getPlayer() 2015-08-21 21:12:39 +12:00
scrawl
cd2e6d4436 Move the __STDC_CONSTANT_MACROS define to cmakelists 2015-06-28 05:53:03 +02:00
scrawl
4bb3cbf0fb Remove last remains of Ogre 2015-06-03 23:04:35 +02:00
scrawl
84fd682e4e Fix for unnecessary exceptions when opening sounds
This would throw often during normal play, even though the throws are caught and ignored, can be annoying when the debugger is set to 'catch throw'.
2015-06-01 00:41:44 +02:00
scrawl
76dd3e4034 Fix lip animation regression 2015-05-24 04:40:09 +02:00
scrawl
152d690a7a Minor cleanup 2015-05-23 23:10:53 +02:00
scrawl
22f01b1232 Merge branch 'master' of https://github.com/OpenMW/openmw into osg
Conflicts:
	apps/launcher/graphicspage.cpp
	apps/opencs/editor.cpp
	apps/opencs/model/doc/document.cpp
	apps/opencs/view/render/cell.cpp
	apps/opencs/view/render/mousestate.cpp
	apps/opencs/view/render/textoverlay.cpp
	apps/opencs/view/render/worldspacewidget.cpp
	apps/openmw/mwclass/creature.cpp
	apps/openmw/mwclass/npc.cpp
	apps/openmw/mwgui/inventorywindow.cpp
	apps/openmw/mwgui/loadingscreen.cpp
	apps/openmw/mwgui/mapwindow.cpp
	apps/openmw/mwgui/pickpocketitemmodel.cpp
	apps/openmw/mwgui/waitdialog.cpp
	apps/openmw/mwmechanics/combat.cpp
	apps/openmw/mwmechanics/mechanicsmanagerimp.cpp
	apps/openmw/mwrender/globalmap.cpp
	apps/openmw/mwworld/physicssystem.cpp
	apps/openmw/mwworld/refdata.cpp
	apps/openmw/mwworld/scene.cpp
	apps/openmw/mwworld/worldimp.cpp
	components/sdlutil/sdlinputwrapper.cpp
	extern/shiny/Main/Factory.cpp
	extern/shiny/Main/MaterialInstance.cpp
	extern/shiny/Main/Platform.cpp
	extern/shiny/Main/ShaderSet.cpp
2015-05-23 20:33:44 +02:00
Rohit Nirmal
396fba7fa9 Silence -Wreorder warnings, and remove -Wno-reorder. 2015-05-21 22:46:44 -05:00
scrawl
7a3bc69df7 Readded sound listener 2015-05-12 19:02:56 +02:00
scrawl
a59940a2c7 Move MyGUI platform to components 2015-05-01 01:44:21 +02:00
scrawl
8c810e3620 Move rng to components 2015-04-22 17:58:55 +02:00
scrawl
c53a56ed6e clear stream errors before attempting the read 2015-04-21 16:10:11 +02:00
scrawl
92ef9b1c57 Rename to osg-ffmpeg-videoplayer 2015-04-19 20:14:06 +02:00
scrawl
42f6d9e15b Port video player 2015-04-19 20:07:18 +02:00
scrawl
8c7c89a4aa Port SoundManager 2015-04-13 22:48:37 +02:00
scrawl
4e69e7cc0f OpenMW compiles and runs w/o render window 2015-04-01 17:02:15 +02:00
Marc Zinnschlag
86d39cede9 Merge remote-tracking branch 'dteviot/Rng' 2015-03-15 22:04:26 +01:00
dteviot
3f28634d1f consolidate random number logic
Note, I suspect Rng::rollClosedProbability() is not needed.  The only difference between it and rollProbability() is that one time in 37k (on Windows), it will give an output of 1.0.
On some versions of Linux, the value of 1.0 will occur about 1 time in 4 billion.
2015-03-15 14:07:47 +13:00
dteviot
1d7f3474fa Fixed more MSVC 2013 warnings. 2015-03-15 08:49:03 +13:00
scrawl
3879ce6ac1 Get rid of "player" string checks (Fixes #2216) 2015-03-11 23:07:39 +01:00
dteviot
e197f5318b fixing MSVC 2013 warning C4244: & C4305
conversion from 'const float' to 'int', possible loss of data
conversion from 'double' to 'int', possible loss of data
conversion from 'float' to 'int', possible loss of data
2015-03-08 13:07:29 +13:00
dteviot
407cd50890 fixed warning C4099:
type name first seen using 'class' now seen using 'struct'
2015-03-06 21:36:42 +13:00
scrawl
ad8790fba0 Fix setWaterLevel script instruction not affecting physics 2015-02-08 15:50:40 +01:00
scrawl
fec8cf91f5 Add exception handling to various uses of DataStream::read 2015-01-31 22:40:42 +01:00
scrawl
855fe33c59 Add vanilla-compatible range limiting for playloopsound (Fixes #244, Fixes #1342) 2014-12-08 23:58:20 +01:00
scrawl
cf85cbbc8e Switch sound distance model to AL_INVERSE_DISTANCE 2014-12-08 17:43:56 +01:00
scrawl
fbed429b25 Use GMSTs for sound fading distance 2014-12-08 17:25:17 +01:00
Marc Zinnschlag
29c9b6bd01 Merge remote-tracking branch 'scrawl/master' 2014-11-02 10:38:42 +01:00
scrawl
17cb181f88 Use av_get_default_channel_layout for unknown channel layouts 2014-11-01 19:37:54 +01:00
scrawl
efa4d09c48 Fix crash when avcodec_decode_audio4 doesn't return a full frame (Fixes #2088) 2014-11-01 19:32:07 +01:00
Marc Zinnschlag
8b3d876534 Merge remote-tracking branch 'lgro/ffmpeg_decoder' 2014-11-01 10:57:21 +01:00
scrawl
ac067564ea Don't include al.h in decoder classes, format support check will need to be redone later. For now, resample all formats that might not be supported on any hardware. 2014-10-25 20:50:41 +02:00
scrawl
55c9c0a266 Audio resampling fixes
- Don't try to use float audio or extended channel layouts if the hardware does not support them
- Add channel layout resampling support to ffmpeg_decoder
2014-10-25 17:17:57 +02:00
scrawl
b39d69e98c Videoplayer fixes, play/pause & seeking
- Fix rindex overflow
 - Fix audio sample size bugs (was using sample_fmt and channel count of the decoder, instead of the resampled settings). We didn't notice this bug before, because the OpenAL MovieAudioFactory tries to resample to a format of the same byte size.
 - Add support for play/pause and seeking controls (not used by cutscenes in OpenMW)
 - Closing the video when arriving at the stream end is now handled by the user (we may also want to keep the video open and seek back)

The video player now has a standalone demo, at https://github.com/scrawl/ogre-ffmpeg-videoplayer
2014-10-24 21:31:11 +02:00
scrawl
eb1c24ffe6 Refactor video player engine to get rid of MWSound dependencies
- Split video player to separate source files.
 - Move video player engine sources to extern/ (repository will be set up on github soon).
 - Audio is handled in a MovieAudioFactory, implemented by the user (here in MWSound subsystem).
 - Handle conversion of unsupported channel layouts via ffmpeg's swresample.
2014-10-22 22:33:32 +02:00
Marc Zinnschlag
eb45793eab Merge remote-tracking branch 'thoronador/fix-numeric-limits-usage' 2014-10-13 11:03:03 +02:00
Thoronador
4d62541b62 fix usage of numeric_limits static functions min() and max()
Functions min() and max() of std::numeric_limits<T> are static
and can therefore be accessed via class name and :: operator.
2014-10-12 23:28:16 +02:00
scrawl
9edcc332ec Don't remove player's sounds when unloading a cell 2014-10-12 18:35:15 +02:00
scrawl
7252cb63a6 Fix cppcheck issues 2014-09-26 17:48:14 +02:00
Lukasz Gromanowski
c72369fafe Simplified casting when comparing to AV_NOPTS_VALUE.
AV_NOPTS_VALUE is casted to int64_t when compared with pts,
so with libavc >= 56.1 it should be no-op because in that version
it's already signed int.

Signed-off-by: Lukasz Gromanowski <lgromanowski@gmail.com>
2014-09-21 20:11:03 +02:00
Lukasz Gromanowski
7ad6a94523 Removed a warning about comparision between signed and unsigned variable in ffmpeg_decoder.
Added ifdefs because changes in API were introduced in libavc 56.1
and this code doesn't compile with older versions (ie. on Ubuntu, or Debian)

Signed-off-by: Lukasz Gromanowski <lgromanowski@gmail.com>
2014-09-21 16:13:54 +02:00
Lukasz Gromanowski
6987dd768a Removed a warning about comparision between signed and unsigned variable in ffmpeg_decoder.
Signed-off-by: Lukasz Gromanowski <lgromanowski@gmail.com>
2014-09-21 09:52:31 +02:00
cc9cii
1107156334 Workaround incorrectly reported channel_layout 2014-09-12 21:18:54 +10:00
cc9cii
675d11c0e5 Mental note: need to get a linux box 2014-09-12 11:25:11 +10:00
cc9cii
8fe6877cb2 More include madness b/w different systems & compilers 2014-09-12 11:05:02 +10:00
cc9cii
de41dfc314 Add includes. 2014-09-12 10:52:10 +10:00
cc9cii
0121fdca2c Don't use C99 in printf. 2014-09-12 10:31:49 +10:00
cc9cii
be74db8b24 Don't use to_string() 2014-09-12 10:04:46 +10:00
cc9cii
ecd9dd81ea Moved debug statements before exception.. 2014-09-12 08:41:33 +10:00
cc9cii
ce3077c970 Test version with debug statements. Also moved some common code out to a separate file. 2014-09-12 08:27:25 +10:00
cc9cii
48a36442c6 Add libswresample and libavresample support for sounds. 2014-09-11 21:15:18 +10:00
scrawl
45af34d189 Merge branch 'master' of https://github.com/OpenMW/openmw 2014-07-29 19:35:44 +02:00
scrawl
a59620f643 Cache loudness vector in the buffer cache 2014-07-29 14:32:44 +02:00
scrawl
0943ff0886 Fix normalizing sample values 2014-07-29 14:19:12 +02:00
scrawl
598c0c4ae7 Implement mouth animation for NPCs based on say sound (Fixes #642) 2014-07-29 01:15:22 +02:00
bogglez
b56cb7e5ee Remove defunct option for building without FFmpeg
- Added REQUIRED to find_package(FFmpeg)
- Removed USE_FFMPEG option from CMakeLists.txt
- Always use FFmpeg for sound input
- Removed SOUND_DEFINE from CMakeLists.txt
- Removed #else branch from videoplayer.cpp with dummy VideoState code
  (FFmpeg is now guaranteed to exist and the code was incomplete)
- Remove #ifdef OPENMW_USE_FFMPEG in ffmpeg_decoder.cpp, it is guaranteed to be used
- Remove #ifdef OPENMW_USE_FFMPEG from soundmanagerimp.cpp, it is guaranteed to be used
2014-07-28 17:46:41 +02:00
scrawl
7b1e1d03d8 Merge branch 'master' of https://github.com/OpenMW/openmw
Conflicts:
	apps/openmw/mwrender/sky.hpp
2014-06-26 04:29:03 +02:00
scrawl
09926a86cb Fix comparing outdated listener position with up-to-date cell (Fixes #1499) 2014-06-25 18:10:26 +02:00
slothlife
9ea22324f7 Fix some MSVC warnings.
Several fixes are warnings about truncations on 64-bit, while others are
complaints about mixed signed / unsigned integer operations.
2014-06-23 01:13:30 -05:00
scrawl
80f66e2157 Fix crash when avformat_open_input fails (Fixes #1522) 2014-06-18 16:57:53 +02:00
scrawl
be6f1fe4fe Fix a sign error 2014-06-13 02:26:52 +02:00
scrawl
d970cc06d7 Don't play the same music track twice in a row (Fixes #746) 2014-06-11 18:11:16 +02:00
Marc Zinnschlag
f7c89015f9 Merge remote-tracking branch 'scrawl/master' 2014-05-17 11:50:31 +02:00
scrawl
e5a21aca53 Refactor projectiles to no longer use MW-objects 2014-05-16 13:33:30 +02:00
slothlife
f33559fead Fixes for MSVC warnings, less overall changes
Kept some fixes from the first round of review. Found out that several
targets weren't being built with the same basic warnings disabled.
Disabled a few warnings for external libraries specifically, rather than
applying them to all targets.
2014-05-14 20:12:52 -05:00
slothlife
c160a04ede Revert "Fixes for warnings when building with MSVC"
This reverts commit 46eb20b98c.
2014-05-14 00:03:30 -05:00
slothlife
46eb20b98c Fixes for warnings when building with MSVC
Most warnings are innocuous (wrong type-specifier for forward
declarations, conversion of literals into unsigned integers, warnings
about methods optimized out), but I believe actual bugs were revealed in
vartypedelegate.cpp and combat.cpp.
2014-05-09 08:32:52 -05:00
Thoronador
620a8ccaf3 remove Audiere and MPG123+Sndfile decoder sources 2014-05-03 21:49:57 +02:00
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.
2014-04-27 19:10:23 +02:00
scrawl
c8c0e5de38 Fixed code issues found with unity build. Missing include guards, duplicated functions, ... 2014-03-16 23:49:06 +01:00
Bret Curtis
ab224f93c9 remove our stdint.h version that uses boost and force usage of system stdint.h 2014-03-05 17:08:58 +01:00
Marc Zinnschlag
f9d2fde783 Merge branch 'openmw-29'
Conflicts:
	apps/openmw/mwmechanics/aicombat.cpp
2014-03-04 09:34:38 +01:00
Marc Zinnschlag
367919200f moved CellRefList into a separate file 2014-02-23 20:11:05 +01:00
Marc Zinnschlag
7693f712bc started making CellStore into a proper class; encapsulated mCell member 2014-02-21 11:35:46 +01:00
Marc Zinnschlag
736644de05 Revert "#1041 in progress: decode first sample batch right in OpenAL_SoundStream::play()"
This reverts commit 51fb9f65ea.
2014-02-20 12:31:40 +01:00
Nikolay Kasyanov
51fb9f65ea #1041 in progress: decode first sample batch right in OpenAL_SoundStream::play() 2014-02-17 02:59:23 +04:00
Nikolay Kasyanov
5e8cb2e466 Another attempt to fix #1041. This time I'm sending real data from decoder
once after playback started.
2014-02-17 02:35:13 +04:00
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
2014-02-01 18:16:32 +01:00
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
2014-01-24 18:28:35 +01:00
Marc Zinnschlag
9ebe66e693 improved cleanup; failed loads will now drop back into the main menu instead of crashing 2014-01-21 14:50:58 +01:00
Marc Zinnschlag
0f60898517 adding missing cleanup for SoundManager 2014-01-21 14:13:13 +01:00
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. 2014-01-20 12:05:13 +01:00
scrawl
e410eb5273 Play 'Idle' voiced dialogue entries in AIWander. Tweak voice max distance. 2014-01-17 10:55:46 +01:00
scrawl
396efd580b Fix a leftover of the old coordinate system 2014-01-14 03:26:56 +01:00
scrawl
2196ce427a Closes #556: Link movie volume to 'master' volume slider, instead of 'music'. 2014-01-14 03:08:37 +01:00
scrawl
098f9712f1 Add getPlayerPtr() utility method. Reduces dependencies a lot. 2014-01-08 18:39:44 +01:00
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
2014-01-06 00:23:17 +01:00
Marc Zinnschlag
a6e6411686 Merge remote-tracking branch 'scrawl/master' 2014-01-02 12:12:52 +01:00
scrawl
531bef6193 Shorter Vector3 initialisation 2014-01-01 22:46:10 +01:00
Lukasz Gromanowski
2d4e06cd50 Updated comments about freeing format_ctx->pb->buffer.
Signed-off-by: Lukasz Gromanowski <lgromanowski@gmail.com>
2014-01-01 17:05:49 +01:00
Lukasz Gromanowski
6107d5bad2 Updated ffmpeg decoder fix
Signed-off-by: Lukasz Gromanowski <lgromanowski@gmail.com>
2013-12-30 22:16:06 +01:00
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>
2013-12-30 21:47:06 +01:00
Marc Zinnschlag
e818d43bc3 removed an outdated typedef and some dead code 2013-12-05 13:21:26 +01:00
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.
2013-08-27 16:04:19 -07:00
Chris Robinson
02df8ab841 Store the underwater sound to easily stop it 2013-08-27 13:48:20 -07:00
Chris Robinson
16331bf1ed Avoid a hack to play the underwater sound properly 2013-08-27 13:26:57 -07:00
PLkolek
86020ad94d Added underwater and drowning sounds. 2013-08-08 20:57:15 +02:00
Marc Zinnschlag
5cafe65cd7 Merge remote-tracking branch 'scrawl/cppcheck' 2013-07-31 20:00:35 +02:00
scrawl
7dc30a01cd Some changes suggested by cppcheck 2013-07-31 18:46:32 +02:00
PLkolek
f297c21e4d Old door sound fades out on door open/close. Door sound is synchronised to angle on action. 2013-07-31 15:46:23 +02:00
scrawl
90a5d8b6f5 Fix uninitialized AL listener position/orientation when the game is paused during the first frame 2013-07-30 23:24:18 +02:00
Chris Robinson
f73008546f Keep a sound updated with its object's position 2013-07-27 07:24:18 -07:00
Chris Robinson
ad6d663e09 Remove some unnecessary debug messages 2013-07-23 03:44:52 -07:00
Chris Robinson
14e0c182f3 Allow specifying the sound type to playSound and playSound3D 2013-07-18 21:50:11 -07:00
Miroslav Puda
743b3dec99 Correction of libavutil version 2013-06-26 07:17:29 +02:00
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.
2013-06-24 21:08:28 +02:00
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.
2013-05-26 12:01:01 +02:00
scrawl
c41f119ba6 Added new game button 2013-05-15 17:54:18 +02:00
scrawl
48a88f1917 Fix startRandomTitle 2013-04-04 15:10:27 +02:00
Chris Robinson
35e2b6942a Merge remote-tracking branch 'zini/master' into misc-cleanup 2013-02-26 10:21:28 -08:00
Chris Robinson
ceafcc2ebb Support float samples with ffmpeg
Requires the AL_EXT_FLOAT32 extension in OpenAL
2013-02-26 10:19:33 -08:00
Nathan Jeffords
21f502e3dd properly handle potentially non 16 bit planar audio formats 2013-02-26 09:37:18 -08:00
Nathan Jeffords
7ea1f6a02a fixes for using FFMPEG on windows 2013-02-24 09:42:08 -08:00
Nikolay Kasyanov
0d4b0bfd93 Trying to resolve sound issues on OS X with ffmpeg backend 2013-02-07 23:40:20 +04:00
Chris Robinson
8a073c113e Use const references where appropriate 2013-01-15 12:07:15 -08:00
Nathan Jeffords
39d27b87c9 fixed build error with Audiere coded enabled 2013-01-08 09:14:56 -08:00
Chris Robinson
1dd9276ceb Add missing decoder method declarations 2012-12-28 11:26:41 -08:00
Chris Robinson
85850c7440 Fix DEFAULT_OUTPUT declaration 2012-12-18 10:43:04 -08:00
Chris Robinson
7b2c3e6cd3 Pass a proper PlayMode enum to playSound and playSound3D 2012-12-18 06:01:21 -08:00
Chris Robinson
3b7edae7c3 Don't hold a list of all sound sources 2012-12-18 05:19:32 -08:00
Chris Robinson
fe36cc1de7 Don't try to resume sound types that aren't paused 2012-12-18 04:35:24 -08:00
Chris Robinson
2f8daec379 Allow pausing only certain types of sounds 2012-12-18 04:19:35 -08:00
Chris Robinson
b4e36d4f31 Add a method to get the volume from the sound type 2012-12-18 02:01:04 -08:00
Chris Robinson
a5356e194e Allow specifying a type for the playTrack method 2012-12-18 01:35:20 -08:00
Chris Robinson
72ffceb206 Add type flags to the sound play mode 2012-12-18 00:57:57 -08:00
Chris Robinson
dd3e568a00 Set the sound properties at initialization 2012-12-17 23:35:20 -08:00
Chris Robinson
20321c4552 Keep track of the actual active sounds 2012-12-17 21:50:01 -08:00
Chris Robinson
d348435a1d Improve audio open error message 2012-12-17 21:09:57 -08:00
Chris Robinson
e9d833be03 Use the packet pts to calculate the decoder sample offset 2012-12-16 01:56:52 -08:00
Chris Robinson
1a771ae671 Merge the stream struct into the parent decoder 2012-12-15 23:46:32 -08:00
Chris Robinson
5fff1c4e47 Update the ffmpeg decoder to use avcodec_decode_audio4 2012-12-15 23:22:37 -08:00
Chris Robinson
5f4c33f896 Only store one packet at a time 2012-12-15 22:54:54 -08:00
Chris Robinson
9d86890d9d Only use one stream for the ffmpeg decoder 2012-12-15 22:13:19 -08:00
Chris Robinson
32b0a5d96e Update the queued sample count immediately 2012-12-14 23:42:49 -08:00
Chris Robinson
0a5ab977b7 Use the decoder's sample offset for calculating the stream offset 2012-12-13 05:04:53 -08:00
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.
2012-12-13 04:10:19 -08:00
Chris Robinson
f067b22b3f Use a recursive mutex for the OpenAL stream thread 2012-12-13 02:33:35 -08:00
Chris Robinson
ba9c5f5b4e Don't initially fill buffers in OpenAL_SoundStream::play 2012-12-13 02:32:21 -08:00
Chris Robinson
779ced0889 Add a method to play an audio track with a custom decoder 2012-12-13 00:05:57 -08:00
Chris Robinson
1571243ef0 Implement getTimeOffset for OpenAL_SoundStream 2012-12-12 23:16:45 -08:00
Chris Robinson
86bf6388c6 Pass a decoder to the playStream sound output method 2012-12-12 22:32:02 -08:00
Chris Robinson
9c831d3039 Add a decoder method to get the "file" name 2012-12-12 22:19:44 -08:00
Chris Robinson
34e36fb852 Add a method to get the time offset from sounds 2012-12-12 16:50:35 -08:00
scrawl
7fd9e1d212 Merge branch 'videoplayback' of https://github.com/ChrisKCat/openmw into videoplayback
Conflicts:
	apps/openmw/mwrender/videoplayer.cpp
2012-12-12 22:24:38 +01:00
scrawl
18d8c767bd fix a bunch of warnings, improved error handling, initialize texture to black 2012-12-12 15:15:55 +01:00
Chris Robinson
2c1eceb9f0 Add methods to pause and stop all playing sounds (and music) 2012-12-12 02:33:12 -08:00
Chris Robinson
973b5faf25 Keep track of all allocated sources 2012-12-12 01:32:16 -08:00
Chris Robinson
c2e1595445 Treat paused sounds as still playing 2012-12-11 21:01:32 -08:00
scrawl
5f676f9c6b Merge branch 'master' of https://github.com/zinnschlag/openmw into videoplayback
Conflicts:
	apps/openmw/mwrender/renderingmanager.cpp
	apps/openmw/mwscript/miscextensions.cpp
2012-12-11 22:28:23 +01:00
scrawl
e3dd3d565c fix 2 leaks 2012-12-10 00:59:39 +01:00
scrawl
d432420a32 fix FindFFmpeg.cmake 2012-12-01 20:53:28 +01:00
scrawl
5f7d349126 several missing includes 2012-11-14 05:32:23 +01:00
greye
e628b23da6 applying new interface vol.3, inconsistent 2012-11-05 21:45:35 +04:00
greye
d205723a17 resolving m prefix/ESMStore movement 2012-11-05 18:02:47 +04:00
greye
2057f5619e move ESMStore to MWWorld 2012-11-05 17:18:01 +04:00