#define __FG_SOUNDMGR_HXX 1
#include <memory>
+#include <map>
#include <simgear/props/props.hxx>
#include <simgear/structure/subsystem_mgr.hxx>
#include <simgear/sound/soundmgr_openal.hxx>
class SGSoundMgr;
class Listener;
+#if defined(ENABLE_FLITE)
+class VoiceSynthesizer;
+#endif
#ifdef ENABLE_AUDIO_SUPPORT
class FGSoundManager : public SGSoundMgr
void activate(bool State);
void update_device_list();
-
+#if defined(ENABLE_FLITE)
+ VoiceSynthesizer * getSynthesizer( const std::string & voice );
+#endif
private:
bool stationaryView() const;
bool _is_initialized, _enabled;
SGPropertyNode_ptr _sound_working, _sound_enabled, _volume, _device_name;
SGPropertyNode_ptr _currentView;
- SGPropertyNode_ptr _viewPosLon, _viewPosLat, _viewPosElev;
+ SGPropertyNode_ptr _viewX, _viewY, _viewZ;
SGPropertyNode_ptr _velocityNorthFPS, _velocityEastFPS, _velocityDownFPS;
SGPropertyNode_ptr _viewXoffset, _viewYoffset, _viewZoffset;
std::auto_ptr<Listener> _listener;
+#if defined(ENABLE_FLITE)
+ std::map<std::string,VoiceSynthesizer*> _synthesizers;
+#endif
};
#else
#include "Main/fg_props.hxx"
~FGSoundManager() {}
void update(double dt) {}
+
+ static const char* subsystemName() { return "sound"; }
};
#endif // ENABLE_AUDIO_SUPPORT