From ba2831c3a456e860761978cb848f38d825b4c128 Mon Sep 17 00:00:00 2001 From: Comment Date: Mon, 7 Oct 2013 06:19:14 -0700 Subject: refacoring --- rotord/src/nodes_signals.h | 103 +++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 103 insertions(+) create mode 100644 rotord/src/nodes_signals.h (limited to 'rotord/src/nodes_signals.h') diff --git a/rotord/src/nodes_signals.h b/rotord/src/nodes_signals.h new file mode 100644 index 0000000..bcc2769 --- /dev/null +++ b/rotord/src/nodes_signals.h @@ -0,0 +1,103 @@ +#ifndef ROTOR_NODES_SIGNALS +#define ROTOR_NODES_SIGNALS + +#include "rotor.h" + +namespace Rotor { + class Time: public Signal_node { + public: + Time(){ + title="Time"; + description="Outputs the time in seconds as a signal"; + UID="432b0d1e-2d09-11e3-a8b9-e3affcfd2b31"; + }; + Time(map &settings): Time() { + base_settings(settings); + }; + Time* clone(map &_settings) { return new Time(_settings);}; + const float output(const Time_spec &time) { + return time.time; + } + }; + class Track_time: public Signal_node { + public: + Track_time(){ + title="Track time"; + description="Outputs the fraction of the track as a signal"; + UID="5892933e-2d09-11e3-8f2e-47c1defdb1d7"; + }; + Track_time(map &settings): Track_time() { + base_settings(settings); + }; + Track_time* clone(map &_settings) { return new Track_time(_settings);}; + const float output(const Time_spec &time) { + return time.time/time.duration; + } + }; + class At_track_time: public Signal_node { + public: + At_track_time(){ + create_signal_input("signal","Signal Input"); + create_parameter("time","number","Track time to evaluate","Time",0.0f); + title="@Track time"; + description="Gets input from a different point in the track"; + UID="6a3edb9c-2d09-11e3-975c-df9df6d19f0a"; + }; + At_track_time(map &settings): At_track_time() { + base_settings(settings); + }; + At_track_time* clone(map &_settings) { return new At_track_time(_settings);}; + const float output(const Time_spec &time) { + Time_spec t=Time_spec(parameters["time"]->value*time.duration,time.framerate,time.duration); + return inputs[0]->get(t); + } + }; + class Signal_output: public Signal_node { + public: + Signal_output(){ + create_signal_input("signal","Signal Input"); + title="Signal output"; + description="Outputs a signal to xml for testing"; + UID="74773190-2d09-11e3-ae26-7f2bb9af632c"; + }; + Signal_output(map &settings): Signal_output() { + base_settings(settings); + }; + Signal_output* clone(map &_settings) { return new Signal_output(_settings);}; + bool render(const float duration, const float framerate,string &xml_out){ + //lost this somewhere + return true; + } + const float output(const Time_spec &time) { + return inputs[0]->get(time); + } + }; + class Testcard: public Image_node { + public: + Testcard(){ + //internal testing node only + }; + Testcard(map &settings): Testcard() { + base_settings(settings); + }; + ~Testcard(){}; + Testcard* clone(map &_settings) { return new Testcard(_settings);}; + Image *output(const Frame_spec &frame){ + float hs=(255.0f/frame.h); + for (int i=0;iAdata[i*frame.w+j]=(uint8_t)255; + //image->Zdata[i*frame.w+j]=(uint16_t)512; //1.0 in fixed point 8.8 bits + } + } + return ℑ + } + private: + + }; +} + +#endif -- cgit v1.2.3