AudioCore: List of sink types
This commit is contained in:
		| @@ -5,6 +5,7 @@ set(SRCS | ||||
|             hle/filter.cpp | ||||
|             hle/pipe.cpp | ||||
|             interpolate.cpp | ||||
|             sink_details.cpp | ||||
|             ) | ||||
|  | ||||
| set(HEADERS | ||||
| @@ -17,6 +18,7 @@ set(HEADERS | ||||
|             interpolate.h | ||||
|             null_sink.h | ||||
|             sink.h | ||||
|             sink_details.h | ||||
|             ) | ||||
|  | ||||
| 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 | ||||
		Reference in New Issue
	
	Block a user