mirror of
https://git.h3cjp.net/H3cJP/citra.git
synced 2024-12-23 19:46:44 +00:00
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"]
|
[submodule "cpp-jwt"]
|
||||||
path = externals/cpp-jwt
|
path = externals/cpp-jwt
|
||||||
url = https://github.com/arun11299/cpp-jwt.git
|
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
|
# The SoundTouch target doesn't export the necessary include paths as properties by default
|
||||||
target_include_directories(SoundTouch INTERFACE ./soundtouch/include)
|
target_include_directories(SoundTouch INTERFACE ./soundtouch/include)
|
||||||
|
|
||||||
|
# Teakra
|
||||||
|
add_subdirectory(teakra)
|
||||||
|
|
||||||
# Xbyak
|
# Xbyak
|
||||||
if (ARCHITECTURE_x86_64)
|
if (ARCHITECTURE_x86_64)
|
||||||
# Defined before "dynarmic" above
|
# 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/shared_memory.h
|
||||||
hle/source.cpp
|
hle/source.cpp
|
||||||
hle/source.h
|
hle/source.h
|
||||||
|
lle/lle.cpp
|
||||||
|
lle/lle.h
|
||||||
interpolate.cpp
|
interpolate.cpp
|
||||||
interpolate.h
|
interpolate.h
|
||||||
null_sink.h
|
null_sink.h
|
||||||
|
@ -30,7 +32,7 @@ add_library(audio_core STATIC
|
||||||
create_target_directory_groups(audio_core)
|
create_target_directory_groups(audio_core)
|
||||||
|
|
||||||
target_link_libraries(audio_core PUBLIC common 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)
|
if(SDL2_FOUND)
|
||||||
target_link_libraries(audio_core PRIVATE SDL2)
|
target_link_libraries(audio_core PRIVATE SDL2)
|
||||||
|
@ -41,4 +43,3 @@ if(ENABLE_CUBEB)
|
||||||
target_link_libraries(audio_core PRIVATE cubeb)
|
target_link_libraries(audio_core PRIVATE cubeb)
|
||||||
add_definitions(-DHAVE_CUBEB=1)
|
add_definitions(-DHAVE_CUBEB=1)
|
||||||
endif()
|
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 a new issue