1
0
Fork 0
Commit graph

245 commits

Author SHA1 Message Date
Richard Harrison
b020db5ce7 Multiplayer: ensure that avionics sounds are null for MP models. 2017-04-02 13:54:03 +02:00
Stuart Buchanan
3135d87218 Stop TTS from playing over itself.
Simple blocking of the SGSubsystem until the current
TTS sample has finished playing, allowing a 0.5s
gap between transmissions.  Good radio comms!
2017-03-20 22:27:10 +00:00
James Turner
c04406d75a Clean shutdown+join of FLITE synthesis threads.
use a marker value to wake the blocking queue, and allow the thread
loop to terminate cleanly, before calling join() from the parent
thread.
2017-02-21 11:01:16 +00:00
Erik Hofman
ed4a9337d9 Fade in the sound exponentially at startup 2017-01-12 15:06:04 +01:00
Erik Hofman
9f6422b5e2 only start the sounds when the soundmanager becomes active 2017-01-12 11:44:53 +01:00
Erik Hofman
2098593531 Do not proceed in update() until is_active() returns true 2017-01-11 15:14:08 +01:00
Torsten Dreyer
994ea1674b replace many auto_ptr by unique_ptr 2016-11-14 22:20:46 +01:00
Erik Hofman
9ec4d7749f Add support for AeonWave 2016-08-04 18:43:10 +02:00
James Turner
6d0c2070fd Use future-proof SGPath APIs.
Remove uses of .str(), .c_str() and some other methods of SGPath.
Pass SGPath directly where possible, or explicitly convert to the
appropriate 8-bit encoding.
2016-06-28 10:08:38 +01:00
Erik Hofman
1eb6fb65dd Use the SimGear sample format types 2016-06-27 13:21:13 +02:00
James Turner
16814800ce Use Paths instead of strings. 2016-06-22 17:36:05 +01:00
Erik Hofman
010d13445a Code cleanup after fixing the sound position and orientation 2016-06-14 14:11:12 +02:00
Erik Hofman
3963d2cdee Do not use properties but get the position and orientation information straight from the view manager 2016-06-13 13:50:40 +02:00
Erik Hofman
ea6e1c9854 Fix the header name change from sample_openal.hxx to sample.hxx 2016-05-28 09:57:03 +02:00
James Turner
c400405b0a Chatter-queue moved out of globals
- now lives as part of the sound-manager, yay.
2016-01-03 12:00:15 -06:00
Erik Hofman
0cd38c8be4 Remove scenefx code, it keeps crashing in untracable places and I lost interrest. It was a hughe waste of time 2016-01-03 14:38:18 +01:00
James Turner
52fd6986f8 Pull Sound-manager out of FGGlobals 2015-12-31 15:19:57 -06:00
James Turner
1544641405 Remove view/tile/scenery members from globals
- also fix sound manager creation
2015-12-11 12:11:59 -06:00
Erik Hofman
c1729253ee Read the scenery global scene effects configration file and update them every frame. The SceneFX class is not yet registered though. 2015-12-10 13:24:52 +01:00
Erik Hofman
26f1d12ad7 Rename EnvironmentFX to SceneFX and rethink the aircraft model specific properties: use a samping factor which applies to both volume and reference_distance and max_distance 2015-11-05 15:31:52 +01:00
Erik Hofman
8363ee8784 Add Nasal bindings 2015-11-04 14:37:41 +01:00
Erik Hofman
0f113060e9 First implementation of an environment audio fx module 2015-11-03 14:51:01 +01:00
Torsten Dreyer
cd0f0b9856 Fix some warnings 2015-06-12 11:51:11 +02:00
onox
3037cd8149 Use actual position of view for sound manager
Signed-off-by: Erik Hofman <erik@ehofman.com>
2015-05-18 11:52:19 +02:00
James Turner
f2d6b76b13 Portability: Fix compile errors on MSVC (cmath)
From Scott (xDraconian)
2015-03-24 11:11:42 -05:00
Torsten Dreyer
c187dab625 More log class fixes 2014-05-20 23:06:02 +02:00
Torsten Dreyer
ffe6c39a1d More AtisSpeaker variations
Also hide the voice installation path from the user of
the VoiceSynthesizer
2014-05-13 11:20:11 +02:00
Torsten Dreyer
98c053792e Try to fix build error for msvc 2014-05-10 15:49:50 +02:00
Torsten Dreyer
b80b010ef1 Use FLITE voices in FGVoiceMgr
This patch enables spoken words without the need for external
festival using the existing FGVoiceMgr subsystem and the
properties under /sim/sound/voices
To hear the generated voices, set /sim/sound/voices/enabled=true
at startup

- use FLITEVoiceSynthesizer if a voice has <festival>false</festival>
- use FLITEVoiceSynthesizer if the festival server is unreachable
- decouple FGFLITEVoice from FGVoiceThread
2014-05-07 22:12:23 +02:00
Torsten Dreyer
d8c5e394cf Render voice to memory, no more temp files.
Thanks you James
2014-05-07 20:09:15 +02:00
Torsten Dreyer
36fc9790ed atis voice: add some variation in pitch and speed 2014-05-07 10:34:04 +02:00
Torsten Dreyer
19aedd4523 Add GPL header 2014-05-06 10:33:50 +02:00
Torsten Dreyer
dd127de32b Changes to voice + atis
- Add a very simple line-of-sight propagation model for the radio
  range computation.
- Remove some no longer used debug log messages
- Some code cleanup
- add-noise is now on by default
2014-05-06 10:23:04 +02:00
Torsten Dreyer
4d4e1a2371 VoiceSynthesizer: add some test/debug properties
/sim/sound/voice-synthesizer/volume to set the volume of the generated wav (in dB)
/sim/sound/voice-synthesizer/keep-scratch-file do not remove the scratch file if true
2014-04-27 22:53:59 +02:00
Torsten Dreyer
38e2b8b11c Temporary fix for crash in FGVoiceMgr on reset 2014-04-27 21:38:24 +02:00
Torsten Dreyer
cadb77b18d use flite+hts for metar 2014-04-24 20:59:08 +02:00
Torsten Dreyer
f6b6cfc645 voice system: all doors in FLITE
Prepare for festival lite generated voices
2014-04-23 17:09:00 +02:00
James Turner
25bf3793bd Reset: fix a static in play-audio-sample
Had to add this to FGGlobals, since it needs to be cleaned up
alongside the sound manager (which ideally it would be owned by, 
but that's a change for another day)
2013-11-25 23:53:58 +00:00
James Turner
6eb4e833ae Reset: sound manager can be shutdown cleanly 2013-11-12 22:50:18 +00:00
James Turner
80fb317eeb Don't speak < or > when using Festival.
Patch from HomerJ, avoid sending some additional special
characters to Festival, which renders then as 'greater than' /
'less than'.
2013-10-20 09:43:48 +01:00
James Turner
386d87e098 Cleanup exit handling.
Replace many lingering calls to exit() from the code,
replacing most with exception throws, which can be
caught by the existing mechanisms.

Update the option-parsing code to return an explicit
value indicating what to do (e.g., exit status to return
to the shell).
2013-10-15 22:16:50 +01:00
Tom Paoletti
81cd33e2fa Performance optimization: empty() instead of size()>0
empty() is guaranteed to be constant complexity for both vectors and lists, while size() has linear complexity for lists.
2013-08-19 09:01:59 +01:00
ThorstenB
b8a3d6902e Stop AI aircraft's sound when removing
Sound manager keeps a reference to _fx, so reducing its ref-count isn't
enough - it must be removed explicitly.
2012-11-27 00:02:28 +01:00
ThorstenB
9bb9a78249 Stash properties 2012-10-13 15:45:15 +02:00
ThorstenB
575f576aa9 Revive master sound enable switch. 2012-10-05 00:17:28 +02:00
ThorstenB
06a8a9c536 Fix Linux build: "malloc" needs stdlib.h 2012-10-04 21:14:48 +02:00
James Turner
bcea720db3 Make the sound-manager optional in a few places. 2012-10-01 10:10:34 +01:00
James Turner
21d50b11f5 Make FGVoicePlayer.hxx not require sample_openal.hxx 2012-09-30 20:23:13 +01:00
James Turner
7b8804bd40 Tolerate refactored SGSound headers.
An upcoming commit will make the sound headers standalone, and no longer include various other headers / using std:: declarations. Prepare for this by making includes and usage of namespaces explicit.
2012-09-30 19:40:08 +01:00
James Turner
4456f42e67 Make the view-manager and sound-manager independent.
Use properties to pass current-view information to the sound-manager, so there is no hard-coded dependency between the subsystems.
2012-09-25 09:17:00 +01:00