serializeDirectedParams function

Uint8List serializeDirectedParams(
  1. List<DirectedParam> params
)

Serialises DirectedParam values to a DRT1 buffer.

Implementation

Uint8List serializeDirectedParams(List<DirectedParam> params) {
  final directions = List<int>.filled(params.length, 0);
  final values = List<ParamValue>.filled(
    params.length,
    const ParamValueNull(),
  );
  for (var i = 0; i < params.length; i++) {
    final d = params[i];
    directions[i] = d.direction.index;
    final pv = d.type == null
        ? toParamValue(d.value)
        : toParamValue(typedParam(d.type!, d.value));
    validateDirectedOutInOut(d.direction, pv);
    values[i] = pv;
  }
  return serializeDirectedParamList(directions, values);
}