mirror of
				https://github.com/PabloMK7/citra.git
				synced 2025-10-30 21:30:04 +00:00 
			
		
		
		
	AudioCore: List of sink types
This commit is contained in:
		
							parent
							
								
									7d106eff10
								
							
						
					
					
						commit
						8b94422e3e
					
				
					 3 changed files with 46 additions and 0 deletions
				
			
		|  | @ -5,6 +5,7 @@ set(SRCS | ||||||
|             hle/filter.cpp |             hle/filter.cpp | ||||||
|             hle/pipe.cpp |             hle/pipe.cpp | ||||||
|             interpolate.cpp |             interpolate.cpp | ||||||
|  |             sink_details.cpp | ||||||
|             ) |             ) | ||||||
| 
 | 
 | ||||||
| set(HEADERS | set(HEADERS | ||||||
|  | @ -17,6 +18,7 @@ set(HEADERS | ||||||
|             interpolate.h |             interpolate.h | ||||||
|             null_sink.h |             null_sink.h | ||||||
|             sink.h |             sink.h | ||||||
|  |             sink_details.h | ||||||
|             ) |             ) | ||||||
| 
 | 
 | ||||||
| include_directories(../../externals/soundtouch/include) | include_directories(../../externals/soundtouch/include) | ||||||
|  |  | ||||||
							
								
								
									
										17
									
								
								src/audio_core/sink_details.cpp
									
										
									
									
									
										Normal file
									
								
							
							
						
						
									
										17
									
								
								src/audio_core/sink_details.cpp
									
										
									
									
									
										Normal file
									
								
							|  | @ -0,0 +1,17 @@ | ||||||
|  | // Copyright 2016 Citra Emulator Project
 | ||||||
|  | // Licensed under GPLv2 or any later version
 | ||||||
|  | // Refer to the license.txt file included.
 | ||||||
|  | 
 | ||||||
|  | #include <memory> | ||||||
|  | #include <vector> | ||||||
|  | 
 | ||||||
|  | #include "audio_core/null_sink.h" | ||||||
|  | #include "audio_core/sink_details.h" | ||||||
|  | 
 | ||||||
|  | namespace AudioCore { | ||||||
|  | 
 | ||||||
|  | const std::vector<SinkDetails> g_sink_details = { | ||||||
|  |     { "null", []() { return std::make_unique<NullSink>(); } }, | ||||||
|  | }; | ||||||
|  | 
 | ||||||
|  | } // namespace AudioCore
 | ||||||
							
								
								
									
										27
									
								
								src/audio_core/sink_details.h
									
										
									
									
									
										Normal file
									
								
							
							
						
						
									
										27
									
								
								src/audio_core/sink_details.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 <functional> | ||||||
|  | #include <memory> | ||||||
|  | #include <vector> | ||||||
|  | 
 | ||||||
|  | namespace AudioCore { | ||||||
|  | 
 | ||||||
|  | class Sink; | ||||||
|  | 
 | ||||||
|  | struct SinkDetails { | ||||||
|  |     SinkDetails(const char* id_, std::function<std::unique_ptr<Sink>()> factory_) | ||||||
|  |         : id(id_), factory(factory_) {} | ||||||
|  | 
 | ||||||
|  |     /// Name for this sink.
 | ||||||
|  |     const char* id; | ||||||
|  |     /// A method to call to construct an instance of this type of sink.
 | ||||||
|  |     std::function<std::unique_ptr<Sink>()> factory; | ||||||
|  | }; | ||||||
|  | 
 | ||||||
|  | extern const std::vector<SinkDetails> g_sink_details; | ||||||
|  | 
 | ||||||
|  | } // namespace AudioCore
 | ||||||
		Loading…
	
	Add table
		Add a link
		
	
		Reference in a new issue