summaryrefslogtreecommitdiff
path: root/src
diff options
context:
space:
mode:
Diffstat (limited to 'src')
-rw-r--r--src/citra_qt/CMakeLists.txt3
-rw-r--r--src/citra_qt/configure.ui11
-rw-r--r--src/citra_qt/configure_audio.cpp44
-rw-r--r--src/citra_qt/configure_audio.h27
-rw-r--r--src/citra_qt/configure_audio.ui48
-rw-r--r--src/citra_qt/configure_dialog.cpp1
6 files changed, 134 insertions, 0 deletions
diff --git a/src/citra_qt/CMakeLists.txt b/src/citra_qt/CMakeLists.txt
index 3f0099200..0a5d4624b 100644
--- a/src/citra_qt/CMakeLists.txt
+++ b/src/citra_qt/CMakeLists.txt
@@ -20,6 +20,7 @@ set(SRCS
20 util/spinbox.cpp 20 util/spinbox.cpp
21 util/util.cpp 21 util/util.cpp
22 bootmanager.cpp 22 bootmanager.cpp
23 configure_audio.cpp
23 configure_debug.cpp 24 configure_debug.cpp
24 configure_dialog.cpp 25 configure_dialog.cpp
25 configure_general.cpp 26 configure_general.cpp
@@ -51,6 +52,7 @@ set(HEADERS
51 util/spinbox.h 52 util/spinbox.h
52 util/util.h 53 util/util.h
53 bootmanager.h 54 bootmanager.h
55 configure_audio.h
54 configure_debug.h 56 configure_debug.h
55 configure_dialog.h 57 configure_dialog.h
56 configure_general.h 58 configure_general.h
@@ -69,6 +71,7 @@ set(UIS
69 debugger/profiler.ui 71 debugger/profiler.ui
70 debugger/registers.ui 72 debugger/registers.ui
71 configure.ui 73 configure.ui
74 configure_audio.ui
72 configure_debug.ui 75 configure_debug.ui
73 configure_general.ui 76 configure_general.ui
74 hotkeys.ui 77 hotkeys.ui
diff --git a/src/citra_qt/configure.ui b/src/citra_qt/configure.ui
index 6ae056ff9..e1624bbef 100644
--- a/src/citra_qt/configure.ui
+++ b/src/citra_qt/configure.ui
@@ -29,6 +29,11 @@
29 <string>Input</string> 29 <string>Input</string>
30 </attribute> 30 </attribute>
31 </widget> 31 </widget>
32 <widget class="ConfigureAudio" name="audioTab">
33 <attribute name="title">
34 <string>Audio</string>
35 </attribute>
36 </widget>
32 <widget class="ConfigureDebug" name="debugTab"> 37 <widget class="ConfigureDebug" name="debugTab">
33 <attribute name="title"> 38 <attribute name="title">
34 <string>Debug</string> 39 <string>Debug</string>
@@ -53,6 +58,12 @@
53 <container>1</container> 58 <container>1</container>
54 </customwidget> 59 </customwidget>
55 <customwidget> 60 <customwidget>
61 <class>ConfigureAudio</class>
62 <extends>QWidget</extends>
63 <header>configure_audio.h</header>
64 <container>1</container>
65 </customwidget>
66 <customwidget>
56 <class>ConfigureDebug</class> 67 <class>ConfigureDebug</class>
57 <extends>QWidget</extends> 68 <extends>QWidget</extends>
58 <header>configure_debug.h</header> 69 <header>configure_debug.h</header>
diff --git a/src/citra_qt/configure_audio.cpp b/src/citra_qt/configure_audio.cpp
new file mode 100644
index 000000000..f3685e11a
--- /dev/null
+++ b/src/citra_qt/configure_audio.cpp
@@ -0,0 +1,44 @@
1// Copyright 2016 Citra Emulator Project
2// Licensed under GPLv2 or any later version
3// Refer to the license.txt file included.
4
5#include "audio_core/sink_details.h"
6
7#include "citra_qt/configure_audio.h"
8#include "ui_configure_audio.h"
9
10#include "core/settings.h"
11
12ConfigureAudio::ConfigureAudio(QWidget* parent) :
13 QWidget(parent),
14 ui(std::make_unique<Ui::ConfigureAudio>())
15{
16 ui->setupUi(this);
17
18 ui->output_sink_combo_box->clear();
19 ui->output_sink_combo_box->addItem("auto");
20 for (const auto& sink_detail : AudioCore::g_sink_details) {
21 ui->output_sink_combo_box->addItem(sink_detail.id);
22 }
23
24 this->setConfiguration();
25}
26
27ConfigureAudio::~ConfigureAudio() {
28}
29
30void ConfigureAudio::setConfiguration() {
31 for (int index = 0; index < ui->output_sink_combo_box->count(); index++) {
32 if (ui->output_sink_combo_box->itemText(index).toStdString() == Settings::values.sink_id) {
33 ui->output_sink_combo_box->setCurrentIndex(index);
34 break;
35 }
36 }
37
38 ui->output_sink_combo_box->setCurrentIndex(0);
39}
40
41void ConfigureAudio::applyConfiguration() {
42 Settings::values.sink_id = ui->output_sink_combo_box->itemText(ui->output_sink_combo_box->currentIndex()).toStdString();
43 Settings::Apply();
44}
diff --git a/src/citra_qt/configure_audio.h b/src/citra_qt/configure_audio.h
new file mode 100644
index 000000000..51df2e27b
--- /dev/null
+++ b/src/citra_qt/configure_audio.h
@@ -0,0 +1,27 @@
1// Copyright 2016 Citra Emulator Project
2// Licensed under GPLv2 or any later version
3// Refer to the license.txt file included.
4
5#pragma once
6
7#include <memory>
8#include <QWidget>
9
10namespace Ui {
11class ConfigureAudio;
12}
13
14class ConfigureAudio : public QWidget {
15 Q_OBJECT
16
17public:
18 explicit ConfigureAudio(QWidget* parent = nullptr);
19 ~ConfigureAudio();
20
21 void applyConfiguration();
22
23private:
24 void setConfiguration();
25
26 std::unique_ptr<Ui::ConfigureAudio> ui;
27};
diff --git a/src/citra_qt/configure_audio.ui b/src/citra_qt/configure_audio.ui
new file mode 100644
index 000000000..d7f6946ca
--- /dev/null
+++ b/src/citra_qt/configure_audio.ui
@@ -0,0 +1,48 @@
1<?xml version="1.0" encoding="utf-8"?>
2
3<ui version="4.0">
4 <class>ConfigureAudio</class>
5 <widget class="QWidget" name="ConfigureAudio">
6 <layout class="QVBoxLayout">
7 <item>
8 <widget class="QGroupBox">
9 <property name="title">
10 <string>Audio</string>
11 </property>
12 <layout class="QVBoxLayout">
13 <item>
14 <layout class="QHBoxLayout">
15 <item>
16 <widget class="QLabel">
17 <property name="text">
18 <string>Output Engine:</string>
19 </property>
20 </widget>
21 </item>
22 <item>
23 <widget class="QComboBox" name="output_sink_combo_box">
24 </widget>
25 </item>
26 </layout>
27 </item>
28 </layout>
29 </widget>
30 </item>
31 <item>
32 <spacer>
33 <property name="orientation">
34 <enum>Qt::Vertical</enum>
35 </property>
36 <property name="sizeHint" stdset="0">
37 <size>
38 <width>20</width>
39 <height>40</height>
40 </size>
41 </property>
42 </spacer>
43 </item>
44 </layout>
45 </widget>
46 <resources />
47 <connections />
48</ui>
diff --git a/src/citra_qt/configure_dialog.cpp b/src/citra_qt/configure_dialog.cpp
index 87c26c715..2f0317fe0 100644
--- a/src/citra_qt/configure_dialog.cpp
+++ b/src/citra_qt/configure_dialog.cpp
@@ -25,5 +25,6 @@ void ConfigureDialog::setConfiguration() {
25 25
26void ConfigureDialog::applyConfiguration() { 26void ConfigureDialog::applyConfiguration() {
27 ui->generalTab->applyConfiguration(); 27 ui->generalTab->applyConfiguration();
28 ui->audioTab->applyConfiguration();
28 ui->debugTab->applyConfiguration(); 29 ui->debugTab->applyConfiguration();
29} 30}