#ifdef ENABLE_AUDIO_SUPPORT
if ( fgGetBool("/sim/sound/audible")
&& globals->get_soundmgr()->is_working() ) {
- static double dt = 0.0;
- static double sound_update_rate = 0.05;
-
- dt += delta_time_sec;
-
- // Updating four times a second should be enough
- if ( dt >= sound_update_rate ) {
- globals->get_fx()->update( dt );
- globals->get_soundmgr()->update( dt );
- dt = 0.0;
- }
+ globals->get_fx()->update( delta_time_sec );
+ globals->get_soundmgr()->update( delta_time_sec );
}
#endif
}
}
- SG_LOG( SG_TERRAIN, SG_INFO, " min_time = " << min_time );
- SG_LOG( SG_TERRAIN, SG_INFO, " index = " << min_index );
- SG_LOG( SG_TERRAIN, SG_INFO, " max_time = " << max_time );
+ SG_LOG( SG_TERRAIN, SG_DEBUG, " min_time = " << min_time );
+ SG_LOG( SG_TERRAIN, SG_DEBUG, " index = " << min_index );
+ SG_LOG( SG_TERRAIN, SG_DEBUG, " max_time = " << max_time );
return min_index;
}
// initialize the sound manager
void FGSoundMgr::init() {
- last.stamp();
safety = FG_MAX_SOUND_SAFETY;
// audio_mixer -> setMasterVolume ( 80 ) ; /* 80% of max volume. */
// run the audio scheduler
-void FGSoundMgr::update(double dt) {
- // FIXME: use dt supplied (seconds)
- SGTimeStamp current;
- current.stamp();
-
- double elapsed = (double)(current - last) / 1000000.0;
- last = current;
-
- if ( elapsed > safety ) {
- safety = elapsed;
+void FGSoundMgr::update( double dt ) {
+ if ( dt > safety ) {
+ safety = dt;
} else {
- safety = safety * 0.99 + elapsed * 0.01;
+ safety = safety * 0.99 + dt * 0.01;
}
if ( safety > FG_MAX_SOUND_SAFETY ) {
safety = FG_MAX_SOUND_SAFETY;
sound_map sounds;
sample_map samples;
- SGTimeStamp last;
double safety;
public: