audio_core: add teakra and lle interface

This commit is contained in:
Weiyi Wang 2018-12-06 07:14:54 -05:00
parent eabc9727d8
commit 6d51d95d44
6 changed files with 55 additions and 8 deletions

3
.gitmodules vendored
View File

@ -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

View File

@ -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

@ -0,0 +1 @@
Subproject commit 6dc1297548a116e6ef78ddd1a52ab3b3f9af0b17

View File

@ -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()

View 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
View 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