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

15
.gitmodules vendored
View file

@ -38,11 +38,14 @@
path = externals/discord-rpc path = externals/discord-rpc
url = https://github.com/discordapp/discord-rpc.git url = https://github.com/discordapp/discord-rpc.git
[submodule "externals/libzmq"] [submodule "externals/libzmq"]
path = externals/libzmq path = externals/libzmq
url = https://github.com/zeromq/libzmq url = https://github.com/zeromq/libzmq
[submodule "externals/cppzmq"] [submodule "externals/cppzmq"]
path = externals/cppzmq path = externals/cppzmq
url = https://github.com/zeromq/cppzmq url = https://github.com/zeromq/cppzmq
[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

View file

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

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

View file

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

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