diff options
Diffstat (limited to 'NT/src/nodes.h')
| -rw-r--r-- | NT/src/nodes.h | 21 |
1 files changed, 12 insertions, 9 deletions
diff --git a/NT/src/nodes.h b/NT/src/nodes.h index ddb1a3d..ede81eb 100644 --- a/NT/src/nodes.h +++ b/NT/src/nodes.h @@ -12,7 +12,7 @@ namespace Rotor{ }; class Time: public Double_node { public: - Time(){node_type="time";}; + Time(){type="time";}; Time(map<string,string> &settings):Time() { init(settings); }; @@ -27,21 +27,24 @@ namespace Rotor{ class Multiply: public Double_node { public: Multiply(){ - inlets=create_array<double>("inlet"); - value=create_inlet<double>("value"); - node_type="multiply"; + factors=create_array<double>("factors"); + type="multiply"; + description="multiplies numbers"; + title="Multiply"; + type_id="11c67850-7ce4-11e3-abf6-930ef8613c46"; + ui_type="none"; } Multiply(map<string,string> &settings):Multiply() { init(settings); }; const double &get_output(const Frame_parameters &frame){ - result=inlets->get(0,frame)*value->get(frame); - return result; + double val=1.0f; + for (auto var:factors->values) val*=var.get(frame); + return val; } Multiply* clone(map<string,string> &_settings) { return new Multiply(_settings);}; private: - Variable_array_type<double> *inlets; - Variable_type<double> *value; + Variable_array_type<double> *factors; double result; }; class String_node: public Node_type<string> { @@ -52,7 +55,7 @@ namespace Rotor{ public: Print(){ inlet=create_inlet<double>("inlet"); - node_type="print"; + type="print"; } Print(map<string,string> &settings):Print() { init(settings); |
