1
0
Fork 0
Commit graph

267 commits

Author SHA1 Message Date
James Turner
6dfbda9bd1 Cmake: ifx abuse of OBJECT libraries
Use STATIC intermeidate libs for these pieces, to keep older CMake
versions happy.
2020-08-24 13:19:57 +01:00
James Turner
47ff3e9f67 Improve CMake strucutre 2020-08-23 11:31:37 +01:00
Scott Giese
63d3dd4cbd REVIEW: Memory Leak - FLITEVoiceSynthesizer ctor
1,696 bytes in 4 blocks are definitely lost in loss record 6,145 of 6,440
2020-08-23 00:21:11 -05:00
James Turner
d6a0dadf45 Windows build fixes
std::for_each needs <algorithm>
2020-08-11 19:20:32 +01:00
James Turner
250669f75a Fix circular ownership in FGFX
FGFX isA SGSampleGroup, but owns some SGXmlSounds, which also take an
owning ref to their sample group. Clear out the XMLSounds on unbind(),
to break the circular reference.
2020-08-11 14:06:15 +01:00
Erik Hofman
b96327acf7 Remove an unused header file 2020-04-28 08:36:51 +02:00
Erik Hofman
a27dfe1feb Move more modern C++ idioms and use std::unique_ptr for moving data ownership around 2020-03-26 09:55:11 +01:00
James Turner
a3d75e8573 Voice synth: reduce some log output levels 2020-03-16 11:07:35 +00:00
James Turner
8edcaa4853 Merge /u/ltoenning/flightgear_sim/ branch fix/2146 into next
https://sourceforge.net/p/flightgear/flightgear/merge-requests/190/
2020-03-13 13:53:30 +00:00
Lars Toenning
2c9d64dcc6
Fix broken sound mute function
Fixes #2146
2020-03-13 11:13:30 +01:00
James Turner
e492ddd5a0 Event more local8Bit -> UTF8 fixes 2020-03-13 09:53:49 +00:00
Edward d'Auvergne
34a6cb3c74 SGSubsystem classes: Registration of all subsystems. 2019-07-01 14:51:32 +02:00
Edward d'Auvergne
d259c70560 SGSubsystem classes: Addition of staticSubsystemClassId() to all subsystems. 2019-07-01 14:51:32 +02:00
Edward d'Auvergne
fb5c36fc82 SGSubsystem classes: Renaming of the subsystem ID variables and functions. 2019-07-01 14:27:30 +02:00
Edward d'Auvergne
7a6e63ddb9 SGSubsystem classes: Subsystem and subsystem group API declaration standardisation.
This is a cleanup commit.
2019-07-01 14:27:30 +02:00
Edward d'Auvergne
60a2444766 SGSubsystem classes: Whitespace standardisation of the declarations.
This is a clean up commit prior to the subsystem API standardisation to simplify
the diffs.  It includes all SGSubsystem and SGSubsystemGroup derived classes.
2019-07-01 14:27:28 +02:00
James Turner
1a3daf39a0 ATC volume and settings passed to the group
Note sure this is strictly the correct place to do this, but it’s
where we do it for avionics, so following for now.
2019-06-06 10:03:40 +01:00
James Turner
309aaa794f Flite always compiled now. 2019-06-03 16:51:08 +01:00
James Turner
c7b28a1960 UNit-tests for the NavRadio
Still needs ILS and GS tests, but starting to be useful already.
2018-11-25 13:12:50 +00:00
Erik Hofman
2edf1443d3 Detect AeonWave and if it is installed use it, otherwise fall back to OpenAL. Also let get_available_devices() use C++ strings instead of const char* 2018-06-02 14:06:36 +02:00
Erik Hofman
dcec806337 Allow for multiple named chatter queue's 2018-05-29 09:31:01 +02:00
Richard Harrison
2c8aad12ba Model relative property tree root binding.
Change fgcommand to take an optional property tree root element.

This fixes the animation bindings to use the defined property tree root - to support multiplayer (or other) model that can bind to the correct part of the property tree.

Requires a corresponding fix in sg to allow the command methods to take an optional root parameter.

What this means is that when inside someone else's multiplayer model (e.g. backseat, or co-pilot), the multipalyer (AI) model will correctly modify properties inside the correct part of the property tree inside (/ai), rather than modifying the properties inside the same part of the tree as the non-ai model.

This means that a properly setup model will operate within it's own space in the property tree; and permit more generic multiplayer code to be written.

This is probably responsible for some of the pollution of the root property tree with MP aircraft properties.
2017-07-05 11:37:17 +02:00
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