]> git.mxchange.org Git - flightgear.git/blobdiff - src/Instrumentation/marker_beacon.hxx
Reset: work with threaded OSG modes
[flightgear.git] / src / Instrumentation / marker_beacon.hxx
index cb82eea5caab42692ce10f47cad6f7ad5086e2b2..7ed085aaad5ea65224142faf7659749ecc1e52fd 100644 (file)
 
 #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;
@@ -54,9 +45,7 @@ class FGMarkerBeacon : public SGSubsystem
     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;
@@ -67,12 +56,14 @@ class FGMarkerBeacon : public SGSubsystem
     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 {
@@ -86,6 +77,7 @@ public:
     ~FGMarkerBeacon();
 
     void init ();
+    void reinit ();
     void bind ();
     void unbind ();
     void update (double dt);