Config: Audio sink configuration (#1798)
This commit is contained in:
parent
7a7488a0bb
commit
d014873916
6 changed files with 134 additions and 0 deletions
|
@ -20,6 +20,7 @@ set(SRCS
|
||||||
util/spinbox.cpp
|
util/spinbox.cpp
|
||||||
util/util.cpp
|
util/util.cpp
|
||||||
bootmanager.cpp
|
bootmanager.cpp
|
||||||
|
configure_audio.cpp
|
||||||
configure_debug.cpp
|
configure_debug.cpp
|
||||||
configure_dialog.cpp
|
configure_dialog.cpp
|
||||||
configure_general.cpp
|
configure_general.cpp
|
||||||
|
@ -51,6 +52,7 @@ set(HEADERS
|
||||||
util/spinbox.h
|
util/spinbox.h
|
||||||
util/util.h
|
util/util.h
|
||||||
bootmanager.h
|
bootmanager.h
|
||||||
|
configure_audio.h
|
||||||
configure_debug.h
|
configure_debug.h
|
||||||
configure_dialog.h
|
configure_dialog.h
|
||||||
configure_general.h
|
configure_general.h
|
||||||
|
@ -69,6 +71,7 @@ set(UIS
|
||||||
debugger/profiler.ui
|
debugger/profiler.ui
|
||||||
debugger/registers.ui
|
debugger/registers.ui
|
||||||
configure.ui
|
configure.ui
|
||||||
|
configure_audio.ui
|
||||||
configure_debug.ui
|
configure_debug.ui
|
||||||
configure_general.ui
|
configure_general.ui
|
||||||
hotkeys.ui
|
hotkeys.ui
|
||||||
|
|
|
@ -29,6 +29,11 @@
|
||||||
<string>Input</string>
|
<string>Input</string>
|
||||||
</attribute>
|
</attribute>
|
||||||
</widget>
|
</widget>
|
||||||
|
<widget class="ConfigureAudio" name="audioTab">
|
||||||
|
<attribute name="title">
|
||||||
|
<string>Audio</string>
|
||||||
|
</attribute>
|
||||||
|
</widget>
|
||||||
<widget class="ConfigureDebug" name="debugTab">
|
<widget class="ConfigureDebug" name="debugTab">
|
||||||
<attribute name="title">
|
<attribute name="title">
|
||||||
<string>Debug</string>
|
<string>Debug</string>
|
||||||
|
@ -52,6 +57,12 @@
|
||||||
<header>configure_general.h</header>
|
<header>configure_general.h</header>
|
||||||
<container>1</container>
|
<container>1</container>
|
||||||
</customwidget>
|
</customwidget>
|
||||||
|
<customwidget>
|
||||||
|
<class>ConfigureAudio</class>
|
||||||
|
<extends>QWidget</extends>
|
||||||
|
<header>configure_audio.h</header>
|
||||||
|
<container>1</container>
|
||||||
|
</customwidget>
|
||||||
<customwidget>
|
<customwidget>
|
||||||
<class>ConfigureDebug</class>
|
<class>ConfigureDebug</class>
|
||||||
<extends>QWidget</extends>
|
<extends>QWidget</extends>
|
||||||
|
|
44
src/citra_qt/configure_audio.cpp
Normal file
44
src/citra_qt/configure_audio.cpp
Normal file
|
@ -0,0 +1,44 @@
|
||||||
|
// Copyright 2016 Citra Emulator Project
|
||||||
|
// Licensed under GPLv2 or any later version
|
||||||
|
// Refer to the license.txt file included.
|
||||||
|
|
||||||
|
#include "audio_core/sink_details.h"
|
||||||
|
|
||||||
|
#include "citra_qt/configure_audio.h"
|
||||||
|
#include "ui_configure_audio.h"
|
||||||
|
|
||||||
|
#include "core/settings.h"
|
||||||
|
|
||||||
|
ConfigureAudio::ConfigureAudio(QWidget* parent) :
|
||||||
|
QWidget(parent),
|
||||||
|
ui(std::make_unique<Ui::ConfigureAudio>())
|
||||||
|
{
|
||||||
|
ui->setupUi(this);
|
||||||
|
|
||||||
|
ui->output_sink_combo_box->clear();
|
||||||
|
ui->output_sink_combo_box->addItem("auto");
|
||||||
|
for (const auto& sink_detail : AudioCore::g_sink_details) {
|
||||||
|
ui->output_sink_combo_box->addItem(sink_detail.id);
|
||||||
|
}
|
||||||
|
|
||||||
|
this->setConfiguration();
|
||||||
|
}
|
||||||
|
|
||||||
|
ConfigureAudio::~ConfigureAudio() {
|
||||||
|
}
|
||||||
|
|
||||||
|
void ConfigureAudio::setConfiguration() {
|
||||||
|
for (int index = 0; index < ui->output_sink_combo_box->count(); index++) {
|
||||||
|
if (ui->output_sink_combo_box->itemText(index).toStdString() == Settings::values.sink_id) {
|
||||||
|
ui->output_sink_combo_box->setCurrentIndex(index);
|
||||||
|
break;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
ui->output_sink_combo_box->setCurrentIndex(0);
|
||||||
|
}
|
||||||
|
|
||||||
|
void ConfigureAudio::applyConfiguration() {
|
||||||
|
Settings::values.sink_id = ui->output_sink_combo_box->itemText(ui->output_sink_combo_box->currentIndex()).toStdString();
|
||||||
|
Settings::Apply();
|
||||||
|
}
|
27
src/citra_qt/configure_audio.h
Normal file
27
src/citra_qt/configure_audio.h
Normal file
|
@ -0,0 +1,27 @@
|
||||||
|
// Copyright 2016 Citra Emulator Project
|
||||||
|
// Licensed under GPLv2 or any later version
|
||||||
|
// Refer to the license.txt file included.
|
||||||
|
|
||||||
|
#pragma once
|
||||||
|
|
||||||
|
#include <memory>
|
||||||
|
#include <QWidget>
|
||||||
|
|
||||||
|
namespace Ui {
|
||||||
|
class ConfigureAudio;
|
||||||
|
}
|
||||||
|
|
||||||
|
class ConfigureAudio : public QWidget {
|
||||||
|
Q_OBJECT
|
||||||
|
|
||||||
|
public:
|
||||||
|
explicit ConfigureAudio(QWidget* parent = nullptr);
|
||||||
|
~ConfigureAudio();
|
||||||
|
|
||||||
|
void applyConfiguration();
|
||||||
|
|
||||||
|
private:
|
||||||
|
void setConfiguration();
|
||||||
|
|
||||||
|
std::unique_ptr<Ui::ConfigureAudio> ui;
|
||||||
|
};
|
48
src/citra_qt/configure_audio.ui
Normal file
48
src/citra_qt/configure_audio.ui
Normal file
|
@ -0,0 +1,48 @@
|
||||||
|
<?xml version="1.0" encoding="utf-8"?>
|
||||||
|
|
||||||
|
<ui version="4.0">
|
||||||
|
<class>ConfigureAudio</class>
|
||||||
|
<widget class="QWidget" name="ConfigureAudio">
|
||||||
|
<layout class="QVBoxLayout">
|
||||||
|
<item>
|
||||||
|
<widget class="QGroupBox">
|
||||||
|
<property name="title">
|
||||||
|
<string>Audio</string>
|
||||||
|
</property>
|
||||||
|
<layout class="QVBoxLayout">
|
||||||
|
<item>
|
||||||
|
<layout class="QHBoxLayout">
|
||||||
|
<item>
|
||||||
|
<widget class="QLabel">
|
||||||
|
<property name="text">
|
||||||
|
<string>Output Engine:</string>
|
||||||
|
</property>
|
||||||
|
</widget>
|
||||||
|
</item>
|
||||||
|
<item>
|
||||||
|
<widget class="QComboBox" name="output_sink_combo_box">
|
||||||
|
</widget>
|
||||||
|
</item>
|
||||||
|
</layout>
|
||||||
|
</item>
|
||||||
|
</layout>
|
||||||
|
</widget>
|
||||||
|
</item>
|
||||||
|
<item>
|
||||||
|
<spacer>
|
||||||
|
<property name="orientation">
|
||||||
|
<enum>Qt::Vertical</enum>
|
||||||
|
</property>
|
||||||
|
<property name="sizeHint" stdset="0">
|
||||||
|
<size>
|
||||||
|
<width>20</width>
|
||||||
|
<height>40</height>
|
||||||
|
</size>
|
||||||
|
</property>
|
||||||
|
</spacer>
|
||||||
|
</item>
|
||||||
|
</layout>
|
||||||
|
</widget>
|
||||||
|
<resources />
|
||||||
|
<connections />
|
||||||
|
</ui>
|
|
@ -25,5 +25,6 @@ void ConfigureDialog::setConfiguration() {
|
||||||
|
|
||||||
void ConfigureDialog::applyConfiguration() {
|
void ConfigureDialog::applyConfiguration() {
|
||||||
ui->generalTab->applyConfiguration();
|
ui->generalTab->applyConfiguration();
|
||||||
|
ui->audioTab->applyConfiguration();
|
||||||
ui->debugTab->applyConfiguration();
|
ui->debugTab->applyConfiguration();
|
||||||
}
|
}
|
||||||
|
|
Loading…
Reference in a new issue