_velocityEastFPS = fgGetNode("velocities/speed-east-fps", true);
_velocityDownFPS = fgGetNode("velocities/speed-down-fps", true);
+ _viewXoffset = _currentView->getNode("x-offset-m", true);
+ _viewYoffset = _currentView->getNode("y-offset-m", true);
+ _viewZoffset = _currentView->getNode("z-offset-m", true);
+
reinit();
}
devices.clear();
}
-bool FGSoundManager::stationary() const
+bool FGSoundManager::stationaryView() const
{
// this is an ugly hack to decide if the *viewer* is stationary,
// since we don't model the viewer velocity directly.
- return (_currentView->getDoubleValue("x-offset-m") == 0.0) &&
- (_currentView->getDoubleValue("y-offset-m") == 0.0) &&
- (_currentView->getDoubleValue("z-offset-m") == 0.0);
+ return (_viewXoffset->getDoubleValue() == 0.0) &&
+ (_viewYoffset->getDoubleValue() == 0.0) &&
+ (_viewZoffset->getDoubleValue() == 0.0);
}
// Update sound manager and propagate property values,
set_orientation( viewOrientation );
SGVec3d velocity(SGVec3d::zeros());
- if (!stationary()) {
+ if (!stationaryView()) {
velocity = SGVec3d(_velocityNorthFPS->getDoubleValue(),
_velocityEastFPS->getDoubleValue(),
_velocityDownFPS->getDoubleValue() );
void update_device_list();
private:
- bool stationary() const;
+ bool stationaryView() const;
bool _is_initialized, _enabled;
SGPropertyNode_ptr _sound_working, _sound_enabled, _volume, _device_name;
SGPropertyNode_ptr _currentView;
SGPropertyNode_ptr _viewPosLon, _viewPosLat, _viewPosElev;
SGPropertyNode_ptr _velocityNorthFPS, _velocityEastFPS, _velocityDownFPS;
+ SGPropertyNode_ptr _viewXoffset, _viewYoffset, _viewZoffset;
Listener* _listener;
};
#else