30 static std::shared_ptr<EvaluationEngine> create();
38 virtual void start(
const Plug& plug, int32_t first_frame, int32_t last_frame) = 0;
42 virtual void stop_and_wait() = 0;
45 virtual void wait() = 0;
50 virtual void set_notification(
const std::function<
void()>& notify) = 0;
61 virtual Value evaluate(
const Plug& plug,
float time, int32_t first_frame, int32_t last_frame,
bool incremental=
false,
bool exact=
true) = 0;
66 virtual std::vector<Value> evaluate(
const maquina::Plug& plug,
const gsl::span<const float>& frames, int32_t first_frame, int32_t last_frame,
bool incremental=
false,
bool exact=
false) = 0;
69 virtual void clear_incremental(uint32_t initial_token) = 0;
75 virtual std::vector<std::pair<std::string, float>>
end_profiling() = 0;
This version of the SDK is unstable, i-e, it may change with no warning.
Definition: AddCurveAction.h:20
An evaluation engine to compute plug values.
Definition: EvaluationEngine.h:27
MAQUINA_EXPORT void start_profiling()
Start an interactive profiling session.
#define MAQUINA_EXPORT
Definition: Export.h:31
A node plug.
Definition: Plug.h:52
MAQUINA_EXPORT std::vector< std::pair< std::string, float > > end_profiling()
Stop the interactive profiling session.
Base class of all Rumba values.
Definition: Value.h:34