Skip to content
Snippets Groups Projects
Commit 8b94422e authored by MerryMage's avatar MerryMage
Browse files

AudioCore: List of sink types

parent 7d106eff
No related branches found
No related tags found
No related merge requests found
...@@ -5,6 +5,7 @@ set(SRCS ...@@ -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 ...@@ -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)
......
// 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
// 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
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment