Reference

Parameters

ay2d_parameter_ranges

ay2d_status ay2d_parameter_ranges(const ay2d_model *m, float *min, float *max,
                                  float *default_, size_t n);

Every parameter's minimum, maximum and default, by index. Pass NULL for any you do not need. n must be at least the parameter count. Thread: any.

ay2d_get_parameters

ay2d_status ay2d_get_parameters(const ay2d_model *m, float *values, size_t n);

Every parameter's value after the last update: what motions, expressions and physics made of the pose. A value you set shows here after the next update. Thread: any.

ay2d_set_parameters

ay2d_status ay2d_set_parameters(ay2d_model *m, const uint32_t *indices,
                                const float *values, size_t n);

Sets n parameters: indices[i] takes values[i].

Takes effect at the next update
Out of range values held to the range; NaN becomes the default
A bad index the call fails with RANGE and sets nothing
Thread any, even while an update runs

ay2d_set_all_parameters

ay2d_status ay2d_set_all_parameters(ay2d_model *m, const float *values, size_t n);

Sets every parameter from one array, by index. n must be at least the parameter count. Handy when you keep the whole pose yourself. Same rules as ay2d_set_parameters.