11 #include <vlutil/vlLockfreeQueue.h>
12 #include <vlutil/vlTime.h>
13 #include <vlpi/entityIdentifier.h>
29 class DtRadioInterface;
30 class StreamAudioMessage;
32 class ConfigureRadioMessage;
33 class RemoveRadioMessage;
52 virtual void init(
const DtFilename&);
55 virtual void shutdown();
58 virtual void addReference();
61 virtual void removeReference();
64 virtual void setEnabled(
bool enable);
69 virtual void setSystemEnabled(
bool b,
bool save =
true);
70 virtual bool systemEnabled()
const;
75 virtual void audioOut(makAudio::DtAudioBuffer* buffer);
78 virtual void setActiveEntity(
const DtUUID& entityId,
const DtEntityIdentifier&
id);
79 virtual const DtUUID& activeEntity()
const;
80 virtual const DtEntityIdentifier& vrlinkEntityId()
const;
82 virtual DtRadio* findRadio(
int idx);
86 virtual void setRadios(
const std::vector<DtRwRadioState>&,
bool save =
true);
88 virtual std::vector<DtRadio*>&
radios() {
return myRadios;}
90 virtual void removeRadio(
int idx);
91 virtual void removeRadio(
DtRadio* radio);
92 virtual void clearRadios();
97 virtual bool changeCaptureDevice(
const std::string&);
99 virtual int nextRadioId();
101 virtual float voxThreshold()
const;
102 virtual void setVoxThreshold(
float val);
104 virtual bool jammersEnabled()
const;
105 virtual void setJammersEnabled(
bool set);
108 virtual bool setAutoSave(
bool);
109 virtual bool autoSave()
const;
113 virtual void setSampleRate(
int,
bool save =
true,
bool reinitialize =
true);
114 virtual int sampleRate()
const;
118 virtual void setFormat(
const std::string&,
bool save =
true,
bool reinitialize =
true);
119 virtual std::string format()
const;
125 virtual double captureFrequency()
const;
126 virtual void setCaputreFrequency(
double hertz,
bool save =
true);
129 virtual bool jammerEnabled(
DtRadio*)
const;
132 virtual void changeJammerFrequency(
double oldFrequency,
double newFrequency);
135 virtual bool setJammed(
DtRadio*,
bool);
138 virtual void clearJammers();
140 virtual DtRadio* findCurrentRadio();
141 virtual void setCurrentRadio(
DtRadio* radio);
145 virtual void recreateRadios();
DtUUID myActiveEntityId
Definition: radioManager.h:156
DtClock myClock
Definition: radioManager.h:176
UUID is a unique ID wrapper class.
Definition: uuid.h:59
DtControlQueue * controlQueue
Definition: radioManager.h:41
std::map< double, DtRadio * > myJammers
These are not cleared out when the radios are. Only cleared when the manager is deleted or they are t...
Definition: radioManager.h:153
DtStreamQueue * fromNetQueue
Definition: radioManager.h:43
Initializer for the radio system (including radios)
Definition: radioSystemInitializer.h:23
DtLockfreeQueue< StreamAudioMessage * > DtStreamQueue
Definition: radioManager.h:37
std::list< DtRadioConnectionBundle * > ConnectionList
Definition: radioManager.h:158
std::vector< DtRadio * > myRadios
Definition: radioManager.h:149
int myReferenceCount
Definition: radioManager.h:167
DtEntityIdentifier myVrlinkEntityId
Definition: radioManager.h:157
bool myJammersEnabled
Definition: radioManager.h:162
Definition: radioManager.h:39
double myCaptureFrequency
Definition: radioManager.h:164
Contains the DtUUID class declaration.
Definition: radioManager.h:46
bool myAutoSave
Definition: radioManager.h:172
unsigned int myNextRadioId
Definition: radioManager.h:154
virtual std::vector< DtRadio * > & radios()
Definition: radioManager.h:88
#define DT_DLL_MAKRADIO
Get proper local export symbol.
Definition: export.h:17
DtRadioSystemInitializer * myRadioSystemInitializer
Definition: radioManager.h:170
bool myEnabled
Definition: radioManager.h:173
float myVoxThreshold
Definition: radioManager.h:161
Definition: controlMessage.h:13
std::vector< DtRwRadioState > myRadioInit
Definition: radioManager.h:148
Initializer for a radio state reader/writer.
Definition: rwRadioState.h:96
DtRadio * myCurrentRadio
Definition: radioManager.h:169
Definition: changeEntity.h:15
DT_DLL_DEBUGDRAWRENDERER void init(makVrv::DtDe &de)
Work function for the plugin initialization.
DtStreamQueue * toNetQueue
Definition: radioManager.h:42
bool mySystemEnabled
Definition: radioManager.h:174
double myNextCaptureTime
Definition: radioManager.h:165
ConnectionList myConnections
Definition: radioManager.h:159
Definition: streamAudio.h:16
DtLockfreeQueue< ControlMessage * > DtControlQueue
Definition: radioManager.h:34