VR-Forces 5.0.2 Developer's Guide
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Properties Friends Macros Groups Pages
radio.h
Go to the documentation of this file.
1 /******************************************************************************
2 ** Copyright (c) 2016 MAK Technologies, Inc.
3 ** All rights reserved.
4 ******************************************************************************/
5 
6 #pragma once
7 
8 #include <makRadio/export.h>
10 #include <vlutil/vlTime.h>
11 
12 #include <map>
13 #include <vector>
14 #include <string>
15 
16 typedef unsigned long long DtRadioID;
17 
18 namespace makAudio
19 {
20  class DtStreamSource;
21  class DtSound;
22  class DtAudioBuffer;
23 }
24 
25 namespace makVrv
26 {
27  class DtSignalConnectionManager;
28 }
29 
30 namespace makRadio
31 {
32  class StreamAudioMessage;
33  class DtRadioManager;
34 
36  {
37  public:
38  typedef DtRadio* (*RadioCreatorFcn)(DtRadioManager& mgr, DtRwRadioState& state);
40  virtual ~DtRadio();
41 
43  static DtRadio* create(DtRadioManager& mgr, DtRwRadioState& state);
44  static void setRadioCreator(RadioCreatorFcn);
45  static RadioCreatorFcn radioCreator();
46 
48  static DtRadio* creator(DtRadioManager& mgr, DtRwRadioState& state);
49 
51  virtual void audioOut(makAudio::DtAudioBuffer* buffer);
52 
54  virtual void signalIn(StreamAudioMessage* msg);
55 
57  virtual DtRadioManager& radioManager();
58 
59  virtual DtRwRadioState& state();
60 
62  virtual void tick();
63 
64  virtual void isPoweredChanged(DtRadio* radio, bool val);
65  virtual void frequencyChanged(DtRadio* radio, double val);
66  virtual void powerChanged(DtRadio* radio, float val);
67  virtual void volumeChanged(DtRadio* radio, float val);
68  virtual void speakerMutedChanged(DtRadio* radio, bool val);
69 
71  virtual void updateRadioInterface();
72 
73  static double AbsRealTime();
74 
75  protected:
77  virtual void updateStreamVolumes();
78 
82  std::string myActiveStream;
84  typedef std::map<std::string, makAudio::DtSound*> StreamMap;
86  std::map<int, double> myRxLevels;
90  static DtClock theClock;
91  };
92 }
93 
makVrv::DtSignalConnectionManager * myConnections
Definition: radio.h:89
std::string myActiveStream
Definition: radio.h:82
Definition: radio.h:35
Definition: radioManager.h:46
#define DT_DLL_MAKRADIO
Get proper local export symbol.
Definition: export.h:17
double myTimeLastVoxSignal
Definition: radio.h:81
Class to manage disconnection of boost connections on deletion.
Definition: DtSignalConnectionManager.h:20
DtRwRadioState myState
Definition: radio.h:88
unsigned long long DtRadioID
Definition: radio.h:16
std::map< int, double > myRxLevels
Definition: radio.h:86
Initializer for a radio state reader/writer.
Definition: rwRadioState.h:96
DtRadioID myStreamId
Definition: radio.h:80
std::map< std::string, makAudio::DtSound * > StreamMap
Definition: radio.h:84
DtRadioManager & myManager
Definition: radio.h:87
int myIntercomStreamId
Definition: radio.h:79
StreamMap myStreams
Definition: radio.h:85
double myTimeSinceLastSignal
Definition: radio.h:83
Definition: streamAudio.h:16
static DtClock theClock
Definition: radio.h:90

Document ID: Generated on Sun Dec 4 20:22:03 EST 2022 from SVN revision 249613
Copyright © 2005-2021 MAK Technologies. All Rights Reserved (www.mak.com)