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
greye
3c2ce25f5f
m prefix for mwworld/cellstore.hpp
2012-11-05 16:07:59 +04:00
scrawl
1a2034b4dd
training window
2012-10-17 18:03:02 +02:00
Marc Zinnschlag
35d099a638
disabling gcc extensions
2012-10-09 17:10:25 +02:00
Marc Zinnschlag
35d7b5e5b0
Merge remote-tracking branch 'greye/record_saving'
2012-10-01 09:50:20 +02:00
Chris Robinson
6c5c9ce46e
Avoid console spam when a sound can't play
2012-09-30 17:38:55 -07:00
Chris Robinson
6942fa97da
Specify a proper up vector for the listener
2012-09-30 17:23:05 -07:00
Chris Robinson
991f942fba
Merge remote-tracking branch 'zini/master' into sound
...
Conflicts:
apps/openmw/mwsound/soundmanagerimp.cpp
apps/openmw/mwsound/soundmanagerimp.hpp
2012-09-30 16:57:54 -07:00
greye
7606ebafd6
resolving conflicts, minor update
2012-09-17 11:37:50 +04:00
Marc Zinnschlag
81463fa23d
Issue #372 : fixed positions in SoundManager
2012-08-29 18:48:20 +02:00
Marc Zinnschlag
aca08eb4c2
Merge branch 'decouple' into player_control
...
Conflicts:
apps/openmw/mwsound/soundmanagerimp.hpp
2012-08-09 16:12:10 +02:00
greye
b5bc7bc424
SoundManager dependency on camera pos/dir
2012-08-09 17:01:03 +04:00
Marc Zinnschlag
6bd48d12af
Issue #107 : SoundManager is accessed only through the interface class from now on
2012-08-09 14:33:21 +02:00
greye
df60f4bf92
stub for soundmanager, adjust rotation mode
2012-08-09 13:27:32 +04:00
greye
ec9cf4d3c6
rotateObject() added, input system rewritten
2012-08-09 00:15:52 +04:00
Dmitry Marakasov
0e934a52ca
Include soundmanager.hpp for Play_Normal enum
2012-07-16 23:54:24 +04:00
Dmitry Marakasov
1c53add6c4
Include boost/shared_ptr.hpp for boost:shared_ptr
2012-07-16 23:54:21 +04:00
Alexander "Ace" Olofsson
113457d934
Fixed some windows issues and got rid of a few tiny warnings while at it.
2012-07-07 01:14:18 +02:00
Marc Zinnschlag
87667ab57e
Issue #107 : Ptr related include cleanup
2012-07-03 13:55:53 +02:00
Marc Zinnschlag
4c39fefd1e
Issue #107 : World is accessed only through the interface class from now on; some include cleanup
2012-07-03 12:30:50 +02:00
Chris Robinson
2f8056dfab
Merge remote branch 'zini/master' into sound
2012-06-26 14:59:01 -07:00
Marc Zinnschlag
0f71439991
Merge remote branch 'garvek/master'
2012-06-15 08:22:56 +02:00
Sylvain THESNIERES
fc3a3fc173
MSVC build compliance:
...
- static const float member is not ISO
- callback do not match DLL signature
2012-06-08 19:55:39 +02:00
scrawl
c85c794c86
fixed some cppcheck issues
2012-06-06 20:29:30 +02:00
Chris Robinson
05fd8f0211
Update the actual sounds and music volume when settings change
2012-05-24 05:30:22 -07:00
scrawl
cbe89f7e32
copy&paste mistake
2012-05-24 08:56:45 +02:00
scrawl
189b044392
small correction
2012-05-24 04:37:41 +02:00
scrawl
9b94edd561
audio tab with volume sliders
2012-05-24 04:34:53 +02:00
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
2012-05-17 19:54:09 +02:00
Chris Robinson
1627206d56
Remove an unused method
...
Best not to design something we don't yet know what's needed from it.
2012-05-02 13:59:03 -07:00
Chris Robinson
144d52cf49
Add voices to the chargen class questions
2012-05-01 20:30:31 -07:00
Chris Robinson
b3caf82714
Avoid using vector<>::data(), which requires C++11
2012-05-01 10:12:45 -07:00
Marc Zinnschlag
35f478071e
Issue #255 : deleted the old environment class and using the new one instead
2012-04-23 15:27:03 +02:00
Chris Robinson
59ccab0b2c
Add sound volume settings
2012-04-07 16:00:30 -07:00
Chris Robinson
752e89a268
Add a setting to select the sound device name
2012-04-07 15:28:38 -07:00
Chris Robinson
b8be867e6e
Work around a bug in the Windows OpenAL router
2012-04-07 14:58:52 -07:00
Chris Robinson
87e8917c4d
Don't try to play sounds when no sound output is initialized
2012-04-06 10:43:14 -07:00
Chris Robinson
63e0e82049
Implement an Audiere-based decoder
2012-04-01 15:02:07 -07:00
Chris Robinson
2147210ad7
Don't set an underwater environment when there's no water
2012-04-01 12:46:49 -07:00
Chris Robinson
9c06bfc8fc
Merge remote branch 'zini/master' into sound
2012-03-31 14:26:21 -07:00
Alexander "Ace" Olofsson
64f792c01d
Fix a value defined at the wrong place
2012-03-31 21:05:33 +02:00
Chris Robinson
e8e8d3fb1b
Fully reset the music before starting the next track
2012-03-31 10:59:29 -07:00
Chris Robinson
3a57746ee4
Remove an unneeded volume special-case
2012-03-31 10:43:55 -07:00
Chris Robinson
4944a29b21
Keep track of the sound pitch
2012-03-31 10:41:12 -07:00
Chris Robinson
cbf6c0404a
Implement a basic underwater sound environment
2012-03-31 10:06:12 -07:00
Chris Robinson
575474ff69
Pass the mode flags to the sound output play methods
2012-03-31 08:14:39 -07:00
Chris Robinson
977e7ac9a3
Remove the Play_Single flag. It's not correct.
2012-03-31 07:41:26 -07:00
Chris Robinson
ae308b9b5f
Use a set of flags instead of separate booleans
2012-03-31 07:31:55 -07:00
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.
2012-03-31 05:57:03 -07:00
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.
2012-03-31 03:31:41 -07:00
Chris Robinson
7541e08909
Don't reset the sound Output device if init fails
2012-03-31 02:48:14 -07:00
Chris Robinson
28378c063b
Minor OpenAL_SoundStream cleanups
2012-03-31 02:22:23 -07:00
Chris Robinson
4e908aa095
Add a method to set the sound's position
2012-03-31 01:34:26 -07:00
Chris Robinson
b01289128b
Split OpenAL_Sound into separate classes for 2D and 3D sounds
2012-03-31 01:15:27 -07:00
Chris Robinson
5adeee20fd
Mute sounds that go outside the max distance
2012-03-31 00:57:29 -07:00
Chris Robinson
fc167dbc83
Pass Ogre Vector3s to playSound3D and updateListener
2012-03-30 11:42:11 -07:00
Chris Robinson
fefc8f86ab
Remove the unused streamSound3D method
2012-03-30 11:11:07 -07:00
Chris Robinson
1ee8b963d0
Store the sound listener position as well
2012-03-30 07:30:17 -07:00
Chris Robinson
fad27d99e6
Update the actual sound volume with the position
2012-03-30 07:10:34 -07:00
Chris Robinson
479df78ea1
Update the actual sound position after the listener
2012-03-30 07:01:37 -07:00
Chris Robinson
71d9d7e943
Store the current sound position with the Sound object
2012-03-30 06:41:06 -07:00
Chris Robinson
de102cd274
Simplify broken OpenAL workaround
2012-03-30 06:28:40 -07:00
Chris Robinson
33a63d88a5
Merge remote branch 'zini/master' into sound
2012-03-30 06:22:19 -07:00
Nikolay Kasyanov
b6aa8925f4
(Temporary) workaround for broken OpenAL implementations that doesn't return meaningful max counts of sources
2012-03-30 00:12:38 +04:00
Chris Robinson
3d5384e2bb
Remove some unneeded casts
2012-03-29 11:28:33 -07:00
Nikolay Kasyanov
20f976ddc7
probably openal initialization fix
2012-03-29 03:02:26 +04:00
Chris Robinson
bedf56a237
Merge remote branch 'zini/next' into sound
2012-03-28 06:27:34 -07:00
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).
2012-03-28 06:08:25 -07:00
Chris Robinson
293f33914e
Use a deque fpr OpenAL's free sources
2012-03-28 05:35:51 -07:00
Chris Robinson
a3291ef360
Add a sound method to update the volume
2012-03-28 05:19:35 -07:00
Chris Robinson
7008bd2fe1
Store some sound properties in the Sound class
2012-03-28 04:58:47 -07:00
Chris Robinson
c072babd17
Better handle bad OpenAL source counts
2012-03-28 04:56:40 -07:00
Chris Robinson
089c340935
Switch the map so the SoundPtr is used as a key
2012-03-28 04:37:00 -07:00
Marc Zinnschlag
a996cfed71
Merge remote branch 'ace/win-fixes' into next
2012-03-27 20:11:46 +02:00
Chris Robinson
c6c06f1140
Return SoundPtr objects from the playSound and streamSound methods
2012-03-27 05:59:09 -07:00
Chris Robinson
f0db2ab82f
Split stopSound3D into separate functions to deal with stopping all sounds on an object
2012-03-27 03:20:50 -07:00
Chris Robinson
033faba9c4
Make a function parameter const
2012-03-27 03:00:04 -07:00