62 lines
1.6 KiB
C++
62 lines
1.6 KiB
C++
#pragma once
|
|
|
|
#include <string>
|
|
#include <vector>
|
|
|
|
enum class RuntimeStateLayerKind
|
|
{
|
|
BasePersisted,
|
|
CommittedLive,
|
|
TransientAutomation,
|
|
RenderLocal,
|
|
HealthConfig
|
|
};
|
|
|
|
enum class RuntimeStateField
|
|
{
|
|
PersistedLayerStack,
|
|
PersistedParameterValues,
|
|
StackPresets,
|
|
CommittedSessionParameterValues,
|
|
CommittedLayerBypass,
|
|
RuntimeCompileReloadFlags,
|
|
TransientOscOverlay,
|
|
TransientAutomationCommitState,
|
|
RenderLocalTemporalHistory,
|
|
RenderLocalFeedbackState,
|
|
RenderLocalInputFrames,
|
|
RenderLocalOutputFrames,
|
|
RuntimeConfiguration,
|
|
HealthTelemetry
|
|
};
|
|
|
|
struct RuntimeStateLayerDescriptor
|
|
{
|
|
RuntimeStateLayerKind kind = RuntimeStateLayerKind::BasePersisted;
|
|
const char* name = "";
|
|
const char* owner = "";
|
|
const char* lifetime = "";
|
|
const char* persistence = "";
|
|
const char* renderRole = "";
|
|
};
|
|
|
|
struct RuntimeStateFieldDescriptor
|
|
{
|
|
RuntimeStateField field = RuntimeStateField::PersistedLayerStack;
|
|
RuntimeStateLayerKind layerKind = RuntimeStateLayerKind::BasePersisted;
|
|
const char* name = "";
|
|
const char* currentOwner = "";
|
|
const char* notes = "";
|
|
};
|
|
|
|
const char* RuntimeStateLayerKindName(RuntimeStateLayerKind kind);
|
|
int RuntimeStateLayerCompositionPrecedence(RuntimeStateLayerKind kind);
|
|
bool RuntimeStateLayerIsDurable(RuntimeStateLayerKind kind);
|
|
bool RuntimeStateLayerParticipatesInParameterComposition(RuntimeStateLayerKind kind);
|
|
bool RuntimeStateLayerIsRenderLocal(RuntimeStateLayerKind kind);
|
|
|
|
RuntimeStateLayerKind ClassifyRuntimeStateField(RuntimeStateField field);
|
|
std::vector<RuntimeStateLayerDescriptor> GetRuntimeStateLayerInventory();
|
|
std::vector<RuntimeStateFieldDescriptor> GetRuntimeStateFieldInventory();
|
|
|