wip: sticky devices

This commit is contained in:
Zach Pomerantz 2017-06-12 18:48:26 -04:00
parent b5dab39f83
commit 7d3bf75f0b
3 changed files with 20 additions and 6 deletions

View file

@ -17,12 +17,12 @@
using namespace scripting;
static const QString DESKTOP_CONTEXT { "Desktop" };
static const QString HMD_CONTEXT { "VR" };
QString Audio::AUDIO { "Audio" };
QString Audio::DESKTOP { "Desktop" };
QString Audio::HMD { "VR" };
static const QString AUDIO { "Audio" };
Setting::Handle<bool> enableNoiseReductionSetting { QStringList(AUDIO) << "NoiseReduction", true };
Setting::Handle<bool> showMicMeterSetting { QStringList(AUDIO) << "MicMeter", false };
Setting::Handle<bool> enableNoiseReductionSetting { QStringList { Audio::AUDIO, "NoiseReduction" }, true };
Setting::Handle<bool> showMicMeterSetting { QStringList { Audio::AUDIO, "MicMeter" }, false };
Audio::Audio() {
auto client = DependencyManager::get<AudioClient>();
@ -52,7 +52,7 @@ void Audio::onChangedContext() {
}
QString Audio::getContext() const {
return _contextIsHMD ? HMD_CONTEXT : DESKTOP_CONTEXT;
return _contextIsHMD ? Audio::HMD : Audio::DESKTOP;
}
void Audio::onChangedMuted() {

View file

@ -31,6 +31,10 @@ class Audio : public AudioScriptingInterface {
Q_PROPERTY(AudioDevices* devices READ getDevices NOTIFY nop)
public:
static QString AUDIO;
static QString HMD;
static QString DESKTOP;
virtual ~Audio() {}
bool isMuted() const { return _isMuted; }
@ -65,6 +69,7 @@ protected:
Audio();
private:
float _inputVolume { 1.0f };
bool _isMuted { false };
bool _enableNoiseReduction;

View file

@ -13,9 +13,18 @@
#include "Application.h"
#include "AudioClient.h"
#include "Audio.h"
using namespace scripting;
const QString INPUT { "INPUT" };
const QString OUTPUT { "OUTPUT" };
Setting::Handle<QAudioDeviceInfo> desktopInputDevice { QStringList { Audio::AUDIO, Audio::DESKTOP, INPUT }};
Setting::Handle<QAudioDeviceInfo> desktopOutputDevice { QStringList { Audio::AUDIO, Audio::DESKTOP, OUTPUT }};
Setting::Handle<QAudioDeviceInfo> HMDInputDevice { QStringList { Audio::AUDIO, Audio::HMD, INPUT }};
Setting::Handle<QAudioDeviceInfo> HMDOutputDevice { QStringList { Audio::AUDIO, Audio::HMD, OUTPUT }};
QHash<int, QByteArray> AudioDeviceList::_roles {
{ Qt::DisplayRole, "display" },
{ Qt::CheckStateRole, "selected" }