#include "soundmgr.hxx"
+static const double MAX_TRANSIT_TIME = 0.1; // 100 ms.
+
+
/**
* Class for handling one sound event.
*
virtual void init (SGPropertyNode *);
virtual void bind ();
virtual void unbind ();
- virtual void update (int dt);
+ virtual void update (double dt);
protected:
enum { ONCE=0, LOOPED, IN_TRANSIT };
enum { LEVEL=0, INVERTED, FLIPFLOP };
-
// Sound properties
typedef struct {
SGPropertyNode * prop;
double (*fn)(double);
+ double *intern;
double factor;
double offset;
double min;
FGSoundMgr * _mgr;
FGSimpleSound * _sample;
- FGCondition * _condition;
+ FGCondition * _condition;
SGPropertyNode * _property;
- double _prev_value;
bool _active;
string _name;
int _mode;
+ double _prev_value;
+ double _dt_play;
+ double _dt_stop;
+ double _stopping; // time after the sound should have stopped.
+ // This is usefull for lost packets in in-trasit mode.
vector<_snd_prop> _volume;
vector<_snd_prop> _pitch;