Add HLE DSP files

This commit is contained in:
wheremyfoodat 2024-04-05 00:44:31 +03:00
parent 428401870b
commit 2e696deccf
5 changed files with 220 additions and 6 deletions

View file

@ -1,5 +1,6 @@
#include "audio/dsp_core.hpp"
#include "audio/hle_core.hpp"
#include "audio/null_core.hpp"
#include "audio/teakra_core.hpp"
@ -13,6 +14,7 @@ std::unique_ptr<Audio::DSPCore> Audio::makeDSPCore(DSPCore::Type type, Memory& m
switch (type) {
case DSPCore::Type::Null: core = std::make_unique<NullDSP>(mem, scheduler, dspService); break;
case DSPCore::Type::Teakra: core = std::make_unique<TeakraDSP>(mem, scheduler, dspService); break;
case DSPCore::Type::HLE: core = std::make_unique<HLE_DSP>(mem, scheduler, dspService); break;
default:
Helpers::warn("Invalid DSP core selected!");
@ -29,10 +31,8 @@ Audio::DSPCore::Type Audio::DSPCore::typeFromString(std::string inString) {
std::transform(inString.begin(), inString.end(), inString.begin(), [](unsigned char c) { return std::tolower(c); });
static const std::unordered_map<std::string, Audio::DSPCore::Type> map = {
{"null", Audio::DSPCore::Type::Null},
{"none", Audio::DSPCore::Type::Null},
{"lle", Audio::DSPCore::Type::Teakra},
{"teakra", Audio::DSPCore::Type::Teakra},
{"null", Audio::DSPCore::Type::Null}, {"none", Audio::DSPCore::Type::Null}, {"lle", Audio::DSPCore::Type::Teakra},
{"teakra", Audio::DSPCore::Type::Teakra}, {"hle", Audio::DSPCore::Type::HLE}, {"fast", Audio::DSPCore::Type::HLE},
};
if (auto search = map.find(inString); search != map.end()) {
@ -47,6 +47,7 @@ const char* Audio::DSPCore::typeToString(Audio::DSPCore::Type type) {
switch (type) {
case Audio::DSPCore::Type::Null: return "null";
case Audio::DSPCore::Type::Teakra: return "teakra";
case Audio::DSPCore::Type::HLE: return "hle";
default: return "invalid";
}
}