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