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