forked from suyu/suyu
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/util.cpp
|
||||
bootmanager.cpp
|
||||
configure_audio.cpp
|
||||
configure_debug.cpp
|
||||
configure_dialog.cpp
|
||||
configure_general.cpp
|
||||
|
@ -51,6 +52,7 @@ set(HEADERS
|
|||
util/spinbox.h
|
||||
util/util.h
|
||||
bootmanager.h
|
||||
configure_audio.h
|
||||
configure_debug.h
|
||||
configure_dialog.h
|
||||
configure_general.h
|
||||
|
@ -69,6 +71,7 @@ set(UIS
|
|||
debugger/profiler.ui
|
||||
debugger/registers.ui
|
||||
configure.ui
|
||||
configure_audio.ui
|
||||
configure_debug.ui
|
||||
configure_general.ui
|
||||
hotkeys.ui
|
||||
|
|
|
@ -29,6 +29,11 @@
|
|||
<string>Input</string>
|
||||
</attribute>
|
||||
</widget>
|
||||
<widget class="ConfigureAudio" name="audioTab">
|
||||
<attribute name="title">
|
||||
<string>Audio</string>
|
||||
</attribute>
|
||||
</widget>
|
||||
<widget class="ConfigureDebug" name="debugTab">
|
||||
<attribute name="title">
|
||||
<string>Debug</string>
|
||||
|
@ -52,6 +57,12 @@
|
|||
<header>configure_general.h</header>
|
||||
<container>1</container>
|
||||
</customwidget>
|
||||
<customwidget>
|
||||
<class>ConfigureAudio</class>
|
||||
<extends>QWidget</extends>
|
||||
<header>configure_audio.h</header>
|
||||
<container>1</container>
|
||||
</customwidget>
|
||||
<customwidget>
|
||||
<class>ConfigureDebug</class>
|
||||
<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() {
|
||||
ui->generalTab->applyConfiguration();
|
||||
ui->audioTab->applyConfiguration();
|
||||
ui->debugTab->applyConfiguration();
|
||||
}
|
||||
|
|
Loading…
Reference in a new issue