void
FGFX::play_message( const string path, const string fname, double volume )
{
- if (globals->get_soundmgr()->is_working() == false) {
- return;
+ if (globals->get_soundmgr()->is_working() == true) {
+ SGSoundSample *sample;
+ sample = new SGSoundSample( path.c_str(), fname.c_str() );
+ sample->set_volume( volume );
+ play_message( sample );
}
- SGSoundSample *sample;
- sample = new SGSoundSample( path.c_str(), fname.c_str() );
- sample->set_volume( volume );
- play_message( sample );
}
void
// get the orientation
const SGQuatd view_or = observer->getViewOrientation();
- SGQuatd surf_or = SGQuatd::fromLonLatDeg(
- observer->getLongitude_deg(),
- observer->getLatitude_deg());
+ SGQuatd surf_or = SGQuatd::fromLonLat(observer->getPosition());
+
SGQuatd model_or = SGQuatd::fromYawPitchRollDeg(
model->getHeadingDeg(),
model->getPitchDeg(),
// get the location data for the primary FDM (now hardcoded to ac model)...
// EMH: to add multiple sound sources this should be replaced
- SGLocation *acmodel_loc = (SGLocation *)model->getSGLocation();
+ SGVec3d absolute_view_pos = SGVec3d::fromGeod(model->getPosition());
// calculate speed of visitor and model
sgVec3 listener_vel, model_vel;
));
sgSetVec3(listener_vel, SGV3d_help[0], SGV3d_help[1], SGV3d_help[2]);
- sgdSubVec3(sgdv3_help, last_model_pos,acmodel_loc->get_absolute_view_pos());
- sgdAddVec3(last_model_pos, sgdv3_null,acmodel_loc->get_absolute_view_pos());
+ sgdSubVec3(sgdv3_help, last_model_pos, absolute_view_pos.data());
+ sgdAddVec3(last_model_pos, sgdv3_null, absolute_view_pos.data());
SGV3d_help = model_or.rotateBack(
surf_or.rotateBack(
sgdVec3 dsource_pos_offset;
sgdSubVec3( dsource_pos_offset,
(double*) &observer->get_view_pos(),
- acmodel_loc->get_absolute_view_pos() );
+ absolute_view_pos.data() );
SGVec3d sgv_dsource_pos_offset;
sgv_dsource_pos_offset = model_or.rotateBack(
surf_or.rotateBack(