VR-Forces 4.10 Class Documentation
 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 
11 #include <map>
12 #include <vector>
13 #include <string>
14 
15 typedef unsigned long long DtRadioID;
16 
17 namespace makAudio
18 {
19  class DtStreamSource;
20  class DtSound;
21  class DtAudioBuffer;
22 }
23 
24 namespace makVrv
25 {
26  class DtSignalConnectionManager;
27 }
28 
29 namespace makRadio
30 {
31  class StreamAudioMessage;
32  class DtRadioManager;
33 
35  {
36  public:
37  typedef DtRadio* (*RadioCreatorFcn)(DtRadioManager& mgr, DtRwRadioState& state);
39  virtual ~DtRadio();
40 
42  static DtRadio* create(DtRadioManager& mgr, DtRwRadioState& state);
43  static void setRadioCreator(RadioCreatorFcn);
44  static RadioCreatorFcn radioCreator();
45 
47  static DtRadio* creator(DtRadioManager& mgr, DtRwRadioState& state);
48 
50  virtual void audioOut(makAudio::DtAudioBuffer* buffer);
51 
53  virtual void signalIn(StreamAudioMessage* msg);
54 
56  virtual DtRadioManager& radioManager();
57 
58  virtual DtRwRadioState& state();
59 
61  virtual void tick();
62 
63  virtual void isPoweredChanged(DtRadio* radio, bool val);
64  virtual void frequencyChanged(DtRadio* radio, double val);
65  virtual void powerChanged(DtRadio* radio, float val);
66  virtual void volumeChanged(DtRadio* radio, float val);
67  virtual void speakerMutedChanged(DtRadio* radio, bool val);
68 
70  virtual void updateRadioInterface();
71 
72  protected:
74  virtual void updateStreamVolumes();
75 
79  std::string myActiveStream;
81  typedef std::map<std::string, makAudio::DtSound*> StreamMap;
83  std::map<int, double> myRxLevels;
87  };
88 }
89 
makVrv::DtSignalConnectionManager * myConnections
Definition: radio.h:86
std::string myActiveStream
Definition: radio.h:79
Definition: radio.h:34
Definition: radioManager.h:43
#define DT_DLL_MAKRADIO
Get proper local export symbol.
Definition: export.h:17
double myTimeLastVoxSignal
Definition: radio.h:78
Class to manage disconnection of boost connections on deletion.
Definition: DtSignalConnectionManager.h:20
DtRwRadioState myState
Definition: radio.h:85
unsigned long long DtRadioID
Definition: radio.h:15
std::map< int, double > myRxLevels
Definition: radio.h:83
Initializer for a radio state reader/writer.
Definition: rwRadioState.h:95
DtRadioID myStreamId
Definition: radio.h:77
std::map< std::string, makAudio::DtSound * > StreamMap
Definition: radio.h:81
DtRadioManager & myManager
Definition: radio.h:84
int myIntercomStreamId
Definition: radio.h:76
StreamMap myStreams
Definition: radio.h:82
double myTimeSinceLastSignal
Definition: radio.h:80
Definition: streamAudio.h:17

Document ID: Generated on Tue Sep 21 17:42:52 EDT 2021 from SVN revision 234861
Copyright © 2005-2021 MAK Technologies. All Rights Reserved (www.mak.com)