VR-Forces Developer's Guide
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Properties Friends Macros Groups Pages
DtAudioSettingsManager.h
Go to the documentation of this file.
1 /*****************************************************************************
2  * Copyright (c) 2023 MAK Technologies, Inc.
3  * All rights reserved.
4  *****************************************************************************/
5 
9 
10 #pragma once
11 
12 #include <vrvCore/vrvCore.h>
13 
15 
16 #include <vrvAudio/vrvAudio.h>
18 
19 #include <string>
20 
21 namespace makVrv
22 {
23 
24  class DtDe;
25 
29  : public DtBaseSettingsManager < DtAudioSettingsRecord >
30  {
31  public:
32 
35  static DtAudioSettingsManager& instance(DtDe& de);
36 
38  virtual ~DtAudioSettingsManager();
39 
42 
47  virtual void setAudioEnabled(bool val);
48 
53  virtual bool audioEnabled() const;
54 
58  virtual void setVolume(double val);
59 
63  virtual double volume() const;
64 
67  virtual void setAudioPlaybackDevice(const std::string& val);
68 
71  virtual std::string audioPlaybackDevice() const;
72 
75  virtual void setAudioCaptureDevice(const std::string& val);
76 
79  virtual std::string audioCaptureDevice() const;
80 
83  virtual void setShowCaptureDeviceSettings(bool val);
84 
87  virtual bool showCaptureDeviceSettings() const;
88 
95  virtual void setSpeedOfSound(double val);
96 
100  virtual double speedOfSound() const;
101 
105  virtual void setMaxVoices(int val);
106 
110  virtual int maxVoices() const;
111 
117  virtual void setMaximumOutputDecibelCapability(double val);
118 
122  virtual double maximumOutputDecibelCapability() const;
123 
130  virtual void setEnvironmentalProcessingEnabled(bool val);
131 
136  virtual bool environmentalProcessingEnabled() const;
137 
139 
142 
145  boost::signalslib::signal<void(bool)> signal_enableAudioChanged;
146 
149  boost::signalslib::signal<void(double)> signal_volumeChanged;
150 
153  boost::signalslib::signal<void(std::string)> signal_audioPlaybackDeviceChanged;
154 
157  boost::signalslib::signal<void(std::string)> signal_audioCaptureDeviceChanged;
158 
161  boost::signalslib::signal<void(bool)> signal_showCaptureDeviceSettingsChanged;
162 
165  boost::signalslib::signal<void(double)> signal_speedOfSoundChanged;
166 
169  boost::signalslib::signal<void(double)> signal_maxVoicesChanged;
170 
173  boost::signalslib::signal<void(double)> signal_maximumOutputDecibelCapabilityChanged;
174 
177  boost::signalslib::signal<void(bool)> signal_environmentalProcessingEnabledChanged;
178 
180 
183 
185  void setFromRecord(const DtAudioSettingsRecord& rec);
186 
188  void getRecord(DtAudioSettingsRecord& rec) const;
189 
191 
192 
193  protected:
194 
196  template <typename ManagerClass>
197  friend ManagerClass& defaultManagerInstanceFunction(DtDe&, bool);
198 
200  template <typename ManagerClass>
201  friend void defaultManagerRegisterInstanceFunction(DtDe&, ManagerClass*);
202 
205 
210  virtual bool applyFactoryOverrides(DtAudioSettingsRecord& rec) const;
211 
212  protected:
214  double myVolume;
216  std::string myAudioCaptureDevice;
222  };
223 
224 }
Base class for (non-shared) settings managers. Extends the functionality provided by the DtCommonBase...
Definition: DtBaseSettingsManager.h:291
bool myAudioEnabled
Definition: DtAudioSettingsManager.h:213
This record holds the state of the audio settings.
Definition: DtAudioSettingsRecord.h:24
boost::signalslib::signal< void(double)> signal_maximumOutputDecibelCapabilityChanged
Emitted when the sound system capability changed.
Definition: DtAudioSettingsManager.h:173
int myMaxVoices
Definition: DtAudioSettingsManager.h:219
Contains the DLL export macro for vrvAudio classes.
boost::signalslib::signal< void(std::string)> signal_audioPlaybackDeviceChanged
Emitted when the audio playback device setting is changed.
Definition: DtAudioSettingsManager.h:153
double mySpeedOfSound
Definition: DtAudioSettingsManager.h:218
boost::signalslib::signal< void(std::string)> signal_audioCaptureDeviceChanged
Emitted when the audio capture device setting is changed.
Definition: DtAudioSettingsManager.h:157
void defaultManagerRegisterInstanceFunction(DtDe &de, ManagerClass *mgr)
Default implementation of how to register a manager, especially necessary when overriding the manager...
Definition: DtDe.h:879
boost::signalslib::signal< void(bool)> signal_enableAudioChanged
Emitted when the audio enabled setting is changed.
Definition: DtAudioSettingsManager.h:145
Contains the declaration for makVrv::DtAudioSettingsRecord.
boost::signalslib::signal< void(bool)> signal_showCaptureDeviceSettingsChanged
Emitted when the show audio capture device settings is changed.
Definition: DtAudioSettingsManager.h:161
boost::signalslib::signal< void(bool)> signal_environmentalProcessingEnabledChanged
Emitted when the environmental audio processing enabled setting is changed.
Definition: DtAudioSettingsManager.h:177
double myVolume
Definition: DtAudioSettingsManager.h:214
Rooted singleton that holds value about current state of sound settings.
Definition: DtAudioSettingsManager.h:28
std::string myAudioCaptureDevice
Definition: DtAudioSettingsManager.h:216
ManagerClass & defaultManagerInstanceFunction(DtDe &de, bool allowedInSlave)
default Manager instance function. Manager requirements: 1) Static instance function 2) Protected DtS...
Definition: DtDe.h:841
boost::signalslib::signal< void(double)> signal_maxVoicesChanged
Emitted when the max voices are changed.
Definition: DtAudioSettingsManager.h:169
#define DT_DLL_VRVAUDIO
Definition: vrvAudio.h:20
bool myShowCaptureDeviceSettings
Definition: DtAudioSettingsManager.h:217
std::string myAudioPlaybackDevice
Definition: DtAudioSettingsManager.h:215
The DtDe is the core component of any VR-Vantage application. It owns a DtRenderer, DtDeCommunicator, as well as a DtDisplay and other things.
Definition: DtDe.h:72
double myMaximumOutputDecibelCapability
Definition: DtAudioSettingsManager.h:220
bool myEnvironmentalProcessingEnabled
Definition: DtAudioSettingsManager.h:221
boost::signalslib::signal< void(double)> signal_speedOfSoundChanged
Emitted when the speed of sound is changed.
Definition: DtAudioSettingsManager.h:165
Contains the DtBaseSettingsManager class declaration.
Contains DLL export macros.
boost::signalslib::signal< void(double)> signal_volumeChanged
Emitted when the audio volume is changed.
Definition: DtAudioSettingsManager.h:149

Document ID: Generated on Wed Mar 27 22:49:11 EDT 2024 from SVN revision 264633
Copyright © 2005-2024 MAK Technologies. All Rights Reserved (www.mak.com)