#include <simgear/compiler.h>
#include <simgear/structure/subsystem_mgr.hxx>
-#include <simgear/math/interpolater.hxx>
#include <simgear/timing/timestamp.hxx>
-#include <Sound/beacon.hxx>
-#include <Sound/morse.hxx>
-
+class SGSampleGroup;
class FGMarkerBeacon : public SGSubsystem
{
- FGBeacon beacon;
- FGMorse morse;
-
- SGInterpTable *term_tbl;
- SGInterpTable *low_tbl;
- SGInterpTable *high_tbl;
// Inputs
SGPropertyNode_ptr lon_node;
SGPropertyNode_ptr audio_btn;
SGPropertyNode_ptr audio_vol;
SGPropertyNode_ptr serviceable;
- SGPropertyNode_ptr sound_pause;
-
- bool need_update;
+ SGPropertyNode_ptr sound_working;
bool outer_marker;
bool middle_marker;
bool middle_blink;
bool inner_blink;
- string name;
+ std::string name;
int num;
// internal periodic station search timer
double _time_before_search_sec;
+ SGSharedPtr<SGSampleGroup> _sgr;
+
public:
enum fgMkrBeacType {
~FGMarkerBeacon();
void init ();
+ void reinit ();
void bind ();
void unbind ();
void update (double dt);