X-Git-Url: https://git.mxchange.org/?a=blobdiff_plain;f=src%2FSound%2Ffg_fx.hxx;h=26c802f34a8f56953b26f5e5b7bbf0e488ea9c7a;hb=d39841d2dfdf82e1d590ab331888e3a392d199c6;hp=2c80d1c04bf112e6174a5b81793d4d5ac5ec900e;hpb=d05121ef4689d2b50b3fe1848cbb0d1f5a1db877;p=flightgear.git diff --git a/src/Sound/fg_fx.hxx b/src/Sound/fg_fx.hxx index 2c80d1c04..26c802f34 100644 --- a/src/Sound/fg_fx.hxx +++ b/src/Sound/fg_fx.hxx @@ -17,48 +17,55 @@ // // You should have received a copy of the GNU General Public License // along with this program; if not, write to the Free Software -// Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA. +// Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA. // // $Id$ #ifndef __FGFX_HXX #define __FGFX_HXX 1 +#include + +#include + #include +#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. + * + * This module will load and play a set of sound effects defined in an + * xml file and tie them to various property states. */ -class FGFX : public SGSubsystem +class FGFX : public SGSampleGroup { public: - FGFX (); - virtual ~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); + virtual void init (); + virtual void reinit (); + virtual void update (double dt); private: - vector _sound; - - bool last_pause; - double last_volume; - - SGPropertyNode *_pause; - SGPropertyNode *_volume; + SGSharedPtr _avionics; + std::vector _sound; + SGPropertyNode_ptr _enabled; + SGPropertyNode_ptr _volume; + SGPropertyNode_ptr _avionics_enabled; + SGPropertyNode_ptr _avionics_volume; + SGPropertyNode_ptr _avionics_external; + SGPropertyNode_ptr _internal; };