Skip to main content

MnaPort

Namespace: MNALIB  ·  Library: MNA Library

#include <mna/mna_port.h>

struct MNALIB::MnaPort

Typed input/output slot on a graph node.

Named, typed port on an MNA graph node with upstream link and optional real-time stream binding.

src/examples/ex_mna/main.cpp
MnaGraph graph;
MnaNode source;
source.id = "source";
source.opType = "ex_constant";
source.attributes["value"] = 3.0;
const MnaPort sourceOut = port("out", MnaPortDir::Output); // name, data kind, direction
source.outputs.append(sourceOut);
graph.addNode(source);

for (const QString& id : {QStringLiteral("scale"), QStringLiteral("shift")}) {
MnaNode node;
node.id = id;
node.opType = "ex_affine";
node.inputs.append(port("in", MnaPortDir::Input));
node.outputs.append(port("out", MnaPortDir::Output));
graph.addNode(node);
}
graph.node("scale").attributes["gain"] = 2.0;
graph.connect("source", "out", "scale", "in");
graph.connect("scale", "out", "shift", "in");

Public Methods​

toJson()​


toCbor()​


Static Methods​

fromJson(json)​


fromCbor(cbor)​


Example​

Used in examples​

ex_mna​

MNA library: register operations, build and run a graph, bind parameters and save a project.

src/examples/ex_mna/main.cpp, line 66
MnaPort port(const QString& name, MnaPortDir direction)
{
MnaPort p;
p.name = name;
p.dataKind = MnaDataKind::Matrix;
p.direction = direction;
return p;
}

Authors of this file​