]> git.mxchange.org Git - flightgear.git/commitdiff
Activate external-view checkbox for avionics
authorehofman <ehofman>
Tue, 8 Dec 2009 14:43:29 +0000 (14:43 +0000)
committerTim Moore <timoore@redhat.com>
Wed, 9 Dec 2009 07:16:48 +0000 (08:16 +0100)
src/Sound/fg_fx.cxx
src/Sound/fg_fx.hxx

index 739b746f082b711d8763ea556ab020bcefdb83a4..f1c11f775f176a4b923a35a3dff8db10c94a1856 100644 (file)
@@ -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() );
index caa32646a80ed5a01d1581447849c17a0c42d2ec..26c802f34a8f56953b26f5e5b7bbf0e488ea9c7a 100644 (file)
@@ -64,6 +64,8 @@ private:
     SGPropertyNode_ptr _volume;
     SGPropertyNode_ptr _avionics_enabled;
     SGPropertyNode_ptr _avionics_volume;
+    SGPropertyNode_ptr _avionics_external;
+    SGPropertyNode_ptr _internal;
 };