X-Git-Url: https://git.mxchange.org/?a=blobdiff_plain;f=src%2FSound%2Ffg_fx.hxx;h=26c802f34a8f56953b26f5e5b7bbf0e488ea9c7a;hb=d39841d2dfdf82e1d590ab331888e3a392d199c6;hp=0c8de9dfb555398f6d82532ca740bf2a683e456a;hpb=da96156c3078bff93a7a1679bae27a6612931e92;p=flightgear.git diff --git a/src/Sound/fg_fx.hxx b/src/Sound/fg_fx.hxx index 0c8de9dfb..26c802f34 100644 --- a/src/Sound/fg_fx.hxx +++ b/src/Sound/fg_fx.hxx @@ -26,66 +26,46 @@ #include -#include #include -#include #include - -using std::queue; -using std::vector; +#include class SGXmlSound; /** * Generator for FlightGear sound effects. * - * This module uses FGSoundMgr to generate sound effects based - * on current flight conditions. The sound manager must be initialized + * This module uses a FGSampleGroup class to generate sound effects based + * on current flight conditions. The sound manager must be initialized * before this object is. * - * Note: this module supports two separate sound mechanisms concurrently. - * - * 1. This module will load and play a set of sound effects defined in an + * This module will load and play a set of sound effects defined in an * xml file and tie them to various property states. - * 2. This modules also maintains a queue of 'message' audio files. These - * are played sequentially with no overlap until the queue is finished. - * This second mechanims is useful for things like tutorial messages or - * background atc chatter. */ -class FGFX : public SGSubsystem +class FGFX : public SGSampleGroup { public: - FGFX (); + FGFX ( SGSoundMgr *smgr, const string &refname ); virtual ~FGFX (); virtual void init (); virtual void reinit (); - virtual void bind (); - virtual void unbind (); virtual void update (double dt); - /** - * add a sound sample to the message queue which is played sequentially - * in order. - */ - void play_message( SGSoundSample *_sample ); - void play_message( const string path, const string fname, double volume ); - private: - void update_pos_and_orientation(SGSoundMgr *smgr, double dt); - - vector _sound; - queue _samplequeue; - - bool last_pause; - double last_volume; + SGSharedPtr _avionics; + std::vector _sound; - SGPropertyNode_ptr _pause; + SGPropertyNode_ptr _enabled; SGPropertyNode_ptr _volume; + SGPropertyNode_ptr _avionics_enabled; + SGPropertyNode_ptr _avionics_volume; + SGPropertyNode_ptr _avionics_external; + SGPropertyNode_ptr _internal; };