summaryrefslogtreecommitdiff
path: root/src/factories/naudio/v1/SequencePlayerV1.h
diff options
context:
space:
mode:
Diffstat (limited to 'src/factories/naudio/v1/SequencePlayerV1.h')
-rw-r--r--src/factories/naudio/v1/SequencePlayerV1.h18
1 files changed, 18 insertions, 0 deletions
diff --git a/src/factories/naudio/v1/SequencePlayerV1.h b/src/factories/naudio/v1/SequencePlayerV1.h
new file mode 100644
index 0000000..882b933
--- /dev/null
+++ b/src/factories/naudio/v1/SequencePlayerV1.h
@@ -0,0 +1,18 @@
+#pragma once
+
+#ifdef BUILD_UI
+
+#include "ui/audio/SequenceDriver.h"
+
+// Decodes a NAUDIO:V1:SAMPLE parse result to PCM16 at its natural rate.
+// Resolves loop/book through the driver's parse-result index.
+bool DecodeV1SampleToPcm(const ParseResultData& item, std::vector<int16_t>& pcm, int& rate);
+
+// naudio v1 (SF64-era library) sequence driver. Fonts resolve through the
+// game's seq-font table (extracted as the gSeqFontTable ARRAY asset).
+class SequencePlayerV1 : public UI::SequenceDriver {
+public:
+ bool Render(const ParseResultData& item, int option, UI::RenderedAudio& out) override;
+};
+
+#endif // BUILD_UI