X-Git-Url: https://git.mxchange.org/?a=blobdiff_plain;f=src%2FSound%2Ffg_sound.hxx;h=c1aaa567998b4aa4545257fb3b6707489fe4459f;hb=198b88ca9b4a4b123b2e9ccdc85ea17eeaea70c6;hp=f6c21b80bcb9d58ffaef2308fab59312f4e4be3c;hpb=ee35eecb548db2c9f2ddfdf30d7f6782d5898412;p=flightgear.git diff --git a/src/Sound/fg_sound.hxx b/src/Sound/fg_sound.hxx index f6c21b80b..c1aaa5679 100644 --- a/src/Sound/fg_sound.hxx +++ b/src/Sound/fg_sound.hxx @@ -28,11 +28,16 @@ #endif #include +#include + #include
#include
#include "soundmgr.hxx" +static const double MAX_TRANSIT_TIME = 0.1; // 100 ms. + + /** * Class for handling one sound event. * @@ -50,13 +55,14 @@ public: 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; @@ -83,6 +89,8 @@ private: 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;