summaryrefslogtreecommitdiff
path: root/src/factories/AudioFactory.cpp
diff options
context:
space:
mode:
authorKiritoDv <kiritodev01@gmail.com>2023-09-03 23:29:11 -0600
committerKiritoDv <kiritodev01@gmail.com>2023-09-03 23:29:11 -0600
commit50b6c6f65bc0da4a2c07e24c75dcd19baba60083 (patch)
tree19fd3432904b3ad5cc4ad5ad7274f8a2434f2778 /src/factories/AudioFactory.cpp
parent063224c69d564d6e10dd4febf25caa9f59fccfda (diff)
Added full SM64 -> AIFF Decoding
Diffstat (limited to 'src/factories/AudioFactory.cpp')
-rw-r--r--src/factories/AudioFactory.cpp9
1 files changed, 8 insertions, 1 deletions
diff --git a/src/factories/AudioFactory.cpp b/src/factories/AudioFactory.cpp
index 64c940e..d1d2111 100644
--- a/src/factories/AudioFactory.cpp
+++ b/src/factories/AudioFactory.cpp
@@ -2,6 +2,7 @@
#include <vector>
#include "audio/AudioManager.h"
+#include "audio/AIFCDecode.h"
#include "binarytools/BinaryReader.h"
bool AudioFactory::process(LUS::BinaryWriter* writer, nlohmann::json& data, std::vector<uint8_t>& buffer) {
@@ -25,6 +26,12 @@ bool AudioFactory::process(LUS::BinaryWriter* writer, nlohmann::json& data, std:
return false;
}
- AudioManager::Instance->create_aifc(metadata[1]["us"][1], *writer);
+ LUS::BinaryWriter aifcWriter;
+ AudioManager::Instance->create_aifc(metadata[1]["us"][1], aifcWriter);
+ std::vector<char> aifcData = aifcWriter.ToVector();
+ aifcWriter.Close();
+
+ write_aiff(aifcData, *writer);
+
return true;
}