Pulp 1.88.0
Cross-platform audio plugin framework
Loading...
Searching...
No Matches
motion_bridge.h File Reference
#include <stdbool.h>

Go to the source code of this file.

Functions

bool pulp_motion_tracing_enabled (void)
 True when motion::Coordinator::tracing_enabled() is true.
void pulp_motion_publish_value (const char *view, const char *metric, double value, double epsilon, int precision)
 Single-scalar publish (mirrors motion::publish_value).
void pulp_motion_publish_components (const char *view, const char *metric, const char *const *keys, const double *values, int count, double epsilon, int precision)
 Multi-component publish (mirrors motion::publish_components).
void pulp_motion_set_ambient_provenance (const char *kind, const char *id, const char *file, int line)
 Set the process-wide ambient provenance envelope.
void pulp_motion_clear_ambient_provenance (void)
 Clear the ambient provenance slot.
int pulp_motion_register_geometry_trace (const char *view_name, int fps)
 Register a geometry trace for view_name.
void pulp_motion_update_geometry (int trace_id, const char *metric_name, double minX, double minY, double width, double height)
 Push a new geometry frame for a previously registered trace.
void pulp_motion_detach_trace (int trace_id)
 Detach a trace previously registered via pulp_motion_register_geometry_trace.

Function Documentation

◆ pulp_motion_clear_ambient_provenance()

void pulp_motion_clear_ambient_provenance ( void )

Clear the ambient provenance slot.

◆ pulp_motion_detach_trace()

void pulp_motion_detach_trace ( int trace_id)

Detach a trace previously registered via pulp_motion_register_geometry_trace.

Idempotent.

◆ pulp_motion_publish_components()

void pulp_motion_publish_components ( const char * view,
const char * metric,
const char *const * keys,
const double * values,
int count,
double epsilon,
int precision )

Multi-component publish (mirrors motion::publish_components).

keys[i] pairs with values[i] for count entries. Components are sorted by name inside the coordinator.

◆ pulp_motion_publish_value()

void pulp_motion_publish_value ( const char * view,
const char * metric,
double value,
double epsilon,
int precision )

Single-scalar publish (mirrors motion::publish_value).

view and metric must be NUL-terminated UTF-8. epsilon and precision follow motion::PublishOptions.

◆ pulp_motion_register_geometry_trace()

int pulp_motion_register_geometry_trace ( const char * view_name,
int fps )

Register a geometry trace for view_name.

Returns a positive trace_id on success, or 0 if tracing is disabled / registration failed. fps mirrors motion::TraceOptions::fps.

◆ pulp_motion_set_ambient_provenance()

void pulp_motion_set_ambient_provenance ( const char * kind,
const char * id,
const char * file,
int line )

Set the process-wide ambient provenance envelope.

◆ pulp_motion_tracing_enabled()

bool pulp_motion_tracing_enabled ( void )

True when motion::Coordinator::tracing_enabled() is true.

Cheap; safe to call per-frame from the Kotlin side as a gate.

◆ pulp_motion_update_geometry()

void pulp_motion_update_geometry ( int trace_id,
const char * metric_name,
double minX,
double minY,
double width,
double height )

Push a new geometry frame for a previously registered trace.

metric_name is the per-rect label (e.g. "frame"). Coordinates are in the view's root / window space — they ride straight through as minX / minY / width / height components.