mirror of
				https://github.com/PabloMK7/citra.git
				synced 2025-10-31 13:50:03 +00:00 
			
		
		
		
	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…
	
	Add table
		Add a link
		
	
		Reference in a new issue