45 json[QStringLiteral(
"expression")] =
expression;
46 json[QStringLiteral(
"trigger")] =
trigger;
49 json[QStringLiteral(
"period_ms")] =
periodMs;
57 json[QStringLiteral(
"dependencies")] = arr;
68 b.
targetPath = json.value(QStringLiteral(
"target")).toString();
69 b.
expression = json.value(QStringLiteral(
"expression")).toString();
70 b.
trigger = json.value(QStringLiteral(
"trigger")).toString();
71 b.
periodMs = json.value(QStringLiteral(
"period_ms")).toInt(0);
73 const QJsonArray arr = json.value(QStringLiteral(
"dependencies")).toArray();
74 for (
const QJsonValue& v : arr) {
86 cbor.insert(QStringLiteral(
"target"),
targetPath);
87 cbor.insert(QStringLiteral(
"expression"),
expression);
88 cbor.insert(QStringLiteral(
"trigger"),
trigger);
91 cbor.insert(QStringLiteral(
"period_ms"),
periodMs);
99 cbor.insert(QStringLiteral(
"dependencies"), arr);
110 b.
targetPath = cbor.value(QStringLiteral(
"target")).toString();
111 b.
expression = cbor.value(QStringLiteral(
"expression")).toString();
112 b.
trigger = cbor.value(QStringLiteral(
"trigger")).toString();
113 b.
periodMs =
static_cast<int>(cbor.value(QStringLiteral(
"period_ms")).toInteger(0));
115 const QCborArray arr = cbor.value(QStringLiteral(
"dependencies")).toArray();
116 for (
const QCborValue& v : arr) {
Formula-driven binding that recomputes one MNA parameter from an expression whenever its triggers fir...
MNE Analysis Container Format (mna/mnx).
Dynamic parameter binding for the MNA parameter tree.
static MnaParamBinding fromCbor(const QCborMap &cbor)
QString expression
Formula string, e.g. "clamp(ref('noise_est_01/snr') * 0.1, 0.01, 1.0)".
int periodMs
Evaluation period when trigger == "periodic" (ignored otherwise).
QStringList dependencies
Paths this binding reads from.
QString targetPath
Parameter to control: "nodeId/attrKey".
static MnaParamBinding fromJson(const QJsonObject &json)
QString trigger
"on_change", "periodic", "manual"
QJsonObject toJson() const