#include <simgear/sound/xmlsound.hxx>
FGFX::FGFX ( SGSoundMgr *smgr, const string &refname ) :
- last_pause( true ),
+ last_pause( false ),
last_volume( 0.0 ),
_pause( fgGetNode("/sim/sound/pause") ),
_volume( fgGetNode("/sim/sound/volume") )
{
SGSampleGroup::_smgr = smgr;
+ SGSampleGroup::_refname = refname;
SGSampleGroup::_smgr->add(this, refname);
- SGSampleGroup::_active = _smgr->is_working();
+ _avionics = _smgr->find("avionics", true);
}
try {
sound->init(globals->get_props(), node->getChild(i), this,
- globals->get_fg_root());
+ _avionics, globals->get_fg_root());
_sound.push_back(sound);
} catch ( sg_exception &e ) {
void
FGFX::update (double dt)
{
- // command sound manger
bool new_pause = _pause->getBoolValue();
if ( new_pause != last_pause ) {
if ( new_pause ) {
last_pause = new_pause;
}
- double volume = _volume->getDoubleValue();
- if ( volume != last_volume ) {
- set_volume( volume );
- last_volume = volume;
- }
-
if ( !new_pause ) {
+ double volume = _volume->getDoubleValue();
+ if ( volume != last_volume ) {
+ set_volume( volume );
+ last_volume = volume;
+ }
+
// update sound effects if not paused
for ( unsigned int i = 0; i < _sound.size(); i++ ) {
_sound[i]->update(dt);
}
- }
- SGSampleGroup::update(dt);
+ SGSampleGroup::update(dt);
+ }
}
// end of fg_fx.cxx