From 641f0008602dd699ad17c9e12c331ced7392e1d1 Mon Sep 17 00:00:00 2001 From: ehofman Date: Tue, 8 Dec 2009 14:43:29 +0000 Subject: [PATCH] Activate external-view checkbox for avionics --- src/Sound/fg_fx.cxx | 12 ++++++++---- src/Sound/fg_fx.hxx | 2 ++ 2 files changed, 10 insertions(+), 4 deletions(-) diff --git a/src/Sound/fg_fx.cxx b/src/Sound/fg_fx.cxx index 739b746f0..f1c11f775 100644 --- a/src/Sound/fg_fx.cxx +++ b/src/Sound/fg_fx.cxx @@ -42,7 +42,9 @@ FGFX::FGFX ( SGSoundMgr *smgr, const string &refname ) : _enabled( fgGetNode("/sim/sound/effects/enabled", true) ), _volume( fgGetNode("/sim/sound/effects/volume", true) ), _avionics_enabled( fgGetNode("/sim/sound/avionics/enabled", true) ), - _avionics_volume( fgGetNode("/sim/sound/avionics/volume", true) ) + _avionics_volume( fgGetNode("/sim/sound/avionics/volume", true) ), + _avionics_external( fgGetNode("/sim/sound/avionics/external-view", true) ), + _internal( fgGetNode("/sim/current-view/internal", true) ) { SGSampleGroup::_smgr = smgr; SGSampleGroup::_refname = refname; @@ -116,12 +118,14 @@ FGFX::reinit() void FGFX::update (double dt) { - if ( _avionics_enabled->getBoolValue() ) + bool active = _avionics_external->getBoolValue() || + _internal->getBoolValue(); + + if ( active && _avionics_enabled->getBoolValue() ) _avionics->resume(); // no-op if already in resumed state else _avionics->suspend(); - _avionics->set_volume( _avionics_volume->getDoubleValue() ); - + _avionics->set_volume( _avionics_volume->getFloatValue() ); if ( _enabled->getBoolValue() ) { set_volume( _volume->getDoubleValue() ); diff --git a/src/Sound/fg_fx.hxx b/src/Sound/fg_fx.hxx index caa32646a..26c802f34 100644 --- a/src/Sound/fg_fx.hxx +++ b/src/Sound/fg_fx.hxx @@ -64,6 +64,8 @@ private: SGPropertyNode_ptr _volume; SGPropertyNode_ptr _avionics_enabled; SGPropertyNode_ptr _avionics_volume; + SGPropertyNode_ptr _avionics_external; + SGPropertyNode_ptr _internal; }; -- 2.39.5