History

add support for AudioDevice scripting interface, and switching audio input/output device on the fly

ZappoMan committed 12 years ago

Commit 82d620b1 parent 938959a5 files · +190 −23Browse files

Showing the changes to interface/src/scripting/AudioDeviceScriptingInterface.cpp (1 of 5 files). Show all

Unified · Split

interface/src/scripting/AudioDeviceScriptingInterface.cpp+44−0
@@ -0,0 +1,44 @@
1+//
2+// AudioDeviceScriptingInterface.cpp
3+// hifi
4+//
5+// Created by Brad Hefta-Gaub on 3/23/14
6+// Copyright (c) 2014 HighFidelity, Inc. All rights reserved.
7+//
8+
9+#include "Application.h"
10+#include "AudioDeviceScriptingInterface.h"
11+
12+
13+AudioDeviceScriptingInterface* AudioDeviceScriptingInterface::getInstance() {
14+ static AudioDeviceScriptingInterface sharedInstance;
15+ return &sharedInstance;
16+}
17+
18+bool AudioDeviceScriptingInterface::setInputDevice(const QString& deviceName) {
19+ bool result;
20+ QMetaObject::invokeMethod(Application::getInstance()->getAudio(), "switchInputToAudioDevice",
21+ Qt::BlockingQueuedConnection,
22+ Q_RETURN_ARG(bool, result),
23+ Q_ARG(const QString&, deviceName));
24+
25+ return result;
26+}
27+
28+bool AudioDeviceScriptingInterface::setOutputDevice(const QString& deviceName) {
29+ bool result;
30+ QMetaObject::invokeMethod(Application::getInstance()->getAudio(), "switchOutputToAudioDevice",
31+ Qt::BlockingQueuedConnection,
32+ Q_RETURN_ARG(bool, result),
33+ Q_ARG(const QString&, deviceName));
34+
35+ return result;
36+}
37+
38+QString AudioDeviceScriptingInterface::getInputDevice() {
39+ return Application::getInstance()->getAudio()->getInputAudioDeviceName();
40+}
41+
42+QString AudioDeviceScriptingInterface::getOutputDevice() {
43+ return Application::getInstance()->getAudio()->getOutputAudioDeviceName();
44+}