diff --git a/interface/resources/qml/hifi/simplifiedUI/settingsApp/about/About.qml b/interface/resources/qml/hifi/simplifiedUI/settingsApp/about/About.qml
index 3e3758e7a8..7fa9b63dab 100644
--- a/interface/resources/qml/hifi/simplifiedUI/settingsApp/about/About.qml
+++ b/interface/resources/qml/hifi/simplifiedUI/settingsApp/about/About.qml
@@ -47,8 +47,8 @@ Flickable {
source: "images/logo.png"
Layout.alignment: Qt.AlignHCenter
Layout.topMargin: 16
- Layout.preferredWidth: 200
- Layout.preferredHeight: 150
+ Layout.preferredWidth: 160
+ Layout.preferredHeight: 120
fillMode: Image.PreserveAspectFit
mipmap: true
}
@@ -195,6 +195,73 @@ Flickable {
wrapMode: Text.Wrap
}
+ // This is a bit of a hack to get the name of the currently-selected audio input device
+ // in the current mode (Desktop or VR). The reason this is necessary is because it seems to me like
+ // the only way one can get a human-readable list of the audio I/O devices is by using a ListView
+ // and grabbing the names from the AudioScriptingInterface; you can't do it using a ListModel.
+ // See `AudioDevices.h`, specifically the comment above the declaration of `QVariant data()`.
+ ListView {
+ id: audioInputDevices
+ visible: false
+ property string selectedInputDeviceName
+ Layout.preferredWidth: parent.width
+ Layout.preferredHeight: contentItem.height
+ interactive: false
+ model: AudioScriptingInterface.devices.input
+ delegate: Item {
+ Component.onCompleted: {
+ if (HMD.active && selectedHMD) {
+ audioInputDevices.selectedInputDeviceName = model.devicename
+ } else if (!HMD.active && selectedDesktop) {
+ audioInputDevices.selectedInputDeviceName = model.devicename
+ }
+ }
+ }
+ }
+
+ HifiStylesUit.GraphikRegular {
+ text: "Audio Input: " + audioInputDevices.selectedInputDeviceName
+ Layout.maximumWidth: parent.width
+ height: paintedHeight
+ size: 16
+ color: simplifiedUI.colors.text.white
+ wrapMode: Text.Wrap
+ }
+
+
+ // This is a bit of a hack to get the name of the currently-selected audio output device
+ // in the current mode (Desktop or VR). The reason this is necessary is because it seems to me like
+ // the only way one can get a human-readable list of the audio I/O devices is by using a ListView
+ // and grabbing the names from the AudioScriptingInterface; you can't do it using a ListModel.
+ // See `AudioDevices.h`, specifically the comment above the declaration of `QVariant data()`.
+ ListView {
+ id: audioOutputDevices
+ visible: false
+ property string selectedOutputDeviceName
+ Layout.preferredWidth: parent.width
+ Layout.preferredHeight: contentItem.height
+ interactive: false
+ model: AudioScriptingInterface.devices.output
+ delegate: Item {
+ Component.onCompleted: {
+ if (HMD.active && selectedHMD) {
+ audioOutputDevices.selectedOutputDeviceName = model.devicename
+ } else if (!HMD.active && selectedDesktop) {
+ audioOutputDevices.selectedOutputDeviceName = model.devicename
+ }
+ }
+ }
+ }
+
+ HifiStylesUit.GraphikRegular {
+ text: "Audio Output: " + audioOutputDevices.selectedOutputDeviceName
+ Layout.maximumWidth: parent.width
+ height: paintedHeight
+ size: 16
+ color: simplifiedUI.colors.text.white
+ wrapMode: Text.Wrap
+ }
+
SimplifiedControls.Button {
Layout.topMargin: 8
width: 200
@@ -248,6 +315,8 @@ Flickable {
textToCopy += "GPU: " + gpuModel + "\n";
textToCopy += "VR Hand Controllers: " + (PlatformInfo.hasRiftControllers() ? "Rift" : (PlatformInfo.hasViveControllers() ? "Vive" : "None")) + "\n";
+ textToCopy += "Audio Input: " + audioInputDevices.selectedInputDeviceName + "\n";
+ textToCopy += "Audio Output: " + audioOutputDevices.selectedOutputDeviceName + "\n";
textToCopy += "\n**All Platform Info**\n";
textToCopy += JSON.stringify(JSON.parse(PlatformInfo.getPlatform()), null, 4);