3#include "Engine/Audio/AudioFlow.h"
9#include <unordered_map>
38 std::string flowJson, std::string baseDir );
44 [[nodiscard]]
AudioFlowHandle find(
const std::filesystem::path& gltfPath,
const std::string& flowName )
const;
50 [[nodiscard]]
bool flow(
const AudioFlowHandle& handle, std::string* outJson, std::string* outBaseDir )
const;
static std::string keyFor(const AudioFlowHandle &handle)
void clear()
Drop all registered flows.
AudioFlowStore(const AudioFlowStore &)=delete
AudioFlowHandle find(const std::filesystem::path &gltfPath, const std::string &flowName) const
Get the registered handle for a flow identity.
AudioFlowHandle registerFlow(std::filesystem::path gltfPath, std::string flowName, std::string flowJson, std::string baseDir)
Register a flow document under its identity.
FlowSettingHandle findSetting(const AudioFlowHandle &handle, const std::string &settingName) const
Resolve a named setting of a flow to a stable handle.
AudioFlowStore & operator=(const AudioFlowStore &)=delete
bool flow(const AudioFlowHandle &handle, std::string *outJson, std::string *outBaseDir) const
Look up a flow's JSON + base directory.
std::unordered_map< std::string, uint32_t > keyToIndex_
std::vector< Record > records_
size_t size() const
Number of registered flows.
Stable identity of an audio flow: the glTF asset path plus the flow name (unique within the asset)....
uint32_t generation
Bumped when the flow is re-registered.
std::vector< std::string > settingNames
Settings array order (index = settingIndex).
Stable handle to a named, runtime-controllable setting of a flow.