audio_core: add teakra and lle interface
This commit is contained in:
parent
eabc9727d8
commit
6d51d95d44
3
.gitmodules
vendored
3
.gitmodules
vendored
@ -46,3 +46,6 @@
|
||||
[submodule "cpp-jwt"]
|
||||
path = externals/cpp-jwt
|
||||
url = https://github.com/arun11299/cpp-jwt.git
|
||||
[submodule "teakra"]
|
||||
path = externals/teakra
|
||||
url = https://github.com/wwylele/teakra.git
|
||||
|
3
externals/CMakeLists.txt
vendored
3
externals/CMakeLists.txt
vendored
@ -51,6 +51,9 @@ add_subdirectory(soundtouch)
|
||||
# The SoundTouch target doesn't export the necessary include paths as properties by default
|
||||
target_include_directories(SoundTouch INTERFACE ./soundtouch/include)
|
||||
|
||||
# Teakra
|
||||
add_subdirectory(teakra)
|
||||
|
||||
# Xbyak
|
||||
if (ARCHITECTURE_x86_64)
|
||||
# Defined before "dynarmic" above
|
||||
|
1
externals/teakra
vendored
Submodule
1
externals/teakra
vendored
Submodule
@ -0,0 +1 @@
|
||||
Subproject commit 6dc1297548a116e6ef78ddd1a52ab3b3f9af0b17
|
@ -14,6 +14,8 @@ add_library(audio_core STATIC
|
||||
hle/shared_memory.h
|
||||
hle/source.cpp
|
||||
hle/source.h
|
||||
lle/lle.cpp
|
||||
lle/lle.h
|
||||
interpolate.cpp
|
||||
interpolate.h
|
||||
null_sink.h
|
||||
@ -30,7 +32,7 @@ add_library(audio_core STATIC
|
||||
create_target_directory_groups(audio_core)
|
||||
|
||||
target_link_libraries(audio_core PUBLIC common core)
|
||||
target_link_libraries(audio_core PRIVATE SoundTouch)
|
||||
target_link_libraries(audio_core PRIVATE SoundTouch teakra)
|
||||
|
||||
if(SDL2_FOUND)
|
||||
target_link_libraries(audio_core PRIVATE SDL2)
|
||||
@ -41,4 +43,3 @@ if(ENABLE_CUBEB)
|
||||
target_link_libraries(audio_core PRIVATE cubeb)
|
||||
add_definitions(-DHAVE_CUBEB=1)
|
||||
endif()
|
||||
|
||||
|
17
src/audio_core/lle/lle.cpp
Normal file
17
src/audio_core/lle/lle.cpp
Normal file
@ -0,0 +1,17 @@
|
||||
// Copyright 2018 Citra Emulator Project
|
||||
// Licensed under GPLv2 or any later version
|
||||
// Refer to the license.txt file included.
|
||||
|
||||
#include "audio_core/lle/lle.h"
|
||||
#include "teakra/teakra.h"
|
||||
|
||||
namespace AudioCore {
|
||||
|
||||
struct DspLle::Impl final {
|
||||
Teakra::Teakra teakra;
|
||||
};
|
||||
|
||||
DspLle::DspLle() : impl(std::make_unique<Impl>()) {}
|
||||
DspLle::~DspLle() = default;
|
||||
|
||||
} // namespace AudioCore
|
22
src/audio_core/lle/lle.h
Normal file
22
src/audio_core/lle/lle.h
Normal file
@ -0,0 +1,22 @@
|
||||
// Copyright 2018 Citra Emulator Project
|
||||
// Licensed under GPLv2 or any later version
|
||||
// Refer to the license.txt file included.
|
||||
|
||||
#pragma once
|
||||
|
||||
#include "audio_core/dsp_interface.h"
|
||||
|
||||
namespace AudioCore {
|
||||
|
||||
class DspLle final : public DspInterface {
|
||||
public:
|
||||
DspLle();
|
||||
~DspLle();
|
||||
|
||||
private:
|
||||
struct Impl;
|
||||
friend struct Impl;
|
||||
std::unique_ptr<Impl> impl;
|
||||
};
|
||||
|
||||
} // namespace AudioCore
|
Loading…
Reference in New Issue
Block a user