#pragma once #include "SearchPath/ISearchPath.h" #include #include #include class SoundBankWriter { public: SoundBankWriter() = default; virtual ~SoundBankWriter() = default; SoundBankWriter(const SoundBankWriter& other) = default; SoundBankWriter(SoundBankWriter&& other) noexcept = default; SoundBankWriter& operator=(const SoundBankWriter& other) = default; SoundBankWriter& operator=(SoundBankWriter&& other) noexcept = default; virtual void AddSound(const std::string& soundFilePath, unsigned int soundId, bool looping = false, bool streamed = false) = 0; virtual bool Write(size_t& dataSize) = 0; static std::unique_ptr Create(const std::string& fileName, std::ostream& stream, ISearchPath& assetSearchPath); static std::filesystem::path OutputPath; };