#endif
#include <simgear/compiler.h>
+#include <simgear/props/condition.hxx>
+
#include <Main/fgfs.hxx>
#include <Main/globals.hxx>
#include "soundmgr.hxx"
+static const double MAX_TRANSIT_TIME = 0.1; // 100 ms.
+
+
/**
* Class for handling one sound event.
*
virtual void unbind ();
virtual void update (double dt);
+ void stop();
+
protected:
enum { MAXPROP=5 };
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;