From 674173fb17ca25b1b35d6482de6f603cc3d8209c Mon Sep 17 00:00:00 2001 From: Comment Date: Thu, 5 Dec 2013 01:36:58 +0000 Subject: signal output --- rotord/src/graph.cpp | 45 ++++++++++++++++++++++++++------------------- 1 file changed, 26 insertions(+), 19 deletions(-) (limited to 'rotord/src/graph.cpp') diff --git a/rotord/src/graph.cpp b/rotord/src/graph.cpp index 7afb92e..f26db6a 100644 --- a/rotord/src/graph.cpp +++ b/rotord/src/graph.cpp @@ -24,23 +24,30 @@ Node* Graph::find_node(const string &type){ } return nullptr; //can be tested against }; -bool Graph::signal_render(xmlIO &XML,const float framerate) { - if (find_node("signal_output")) { - Signal_output *signal_output=dynamic_cast(find_node("signal_output")); - //return signal_output->render(duration,framerate,signal_xml); - float sig=0.0f; - string val=""; - for (float i=0;iget_output(Time_spec(i,framerate,duration))+1.0f)/10.0f; - if (!fequal(sig,s)){ - val+=toString(i)+":"+toString(s)+" "; - sig=s; +bool Graph::signal_render(xmlIO &XML,const string &node,const float framerate) { + if (nodes.find(node)!=nodes.end()){ + Signal_node *signal_output=dynamic_cast(nodes[node]); + if (signal_output) { + //return signal_output->render(duration,framerate,signal_xml); + XML.addValue("signal_duration",duration); + XML.addValue("signal_framerate",framerate); + float sig=0.0f; + string val=""; + for (float i=0;iget_output(Time_spec(i,framerate,duration))+1.0f)/10.0f; + if (!fequal(sig,s)){ + val+=toString(i)+","+toString(s)+" "; + sig=s; + } } + XML.addValue("signal",val); + return true; } - XML.addValue("signal",val); - return true; + cerr<<"Error: /"<reset_timer(); + for (auto n:nodes) n.second->reset(); if (usingaudio){ samples_in_frame=(audioloader.get_sample_rate())/framerate; @@ -400,10 +407,10 @@ bool Graph::parseJson(string &data,string &media_path){ //handle expandable inputs - if ((((Image_node*)nodes[nodeID])->image_inputs.size()<=jnodes[i]["image_inputs"].size())&&((Image_node*)nodes[nodeID])->duplicate_inputs){ + if ((((Image_node*)nodes[nodeID])->image_inputs.size()duplicate_inputs){ string desc=((Image_node*)nodes[nodeID])->image_inputs[0]->description; string title=((Image_node*)nodes[nodeID])->image_inputs[0]->title; - while(((Image_node*)nodes[nodeID])->image_inputs.size()<=jnodes[i]["image_inputs"].size()){ + while(((Image_node*)nodes[nodeID])->image_inputs.size()create_image_input(desc,title); cerr<<"creating an image input"<image_inputs.size()<=i3)&&((Image_node*)nodes[nodeID])->duplicate_inputs){ + if ((((Image_node*)nodes[nodeID])->image_inputs.size()duplicate_inputs){ string desc=((Image_node*)nodes[nodeID])->image_inputs[0]->description; string title=((Image_node*)nodes[nodeID])->image_inputs[0]->title; - while(((Image_node*)nodes[nodeID])->image_inputs.size()<=i3){ + while(((Image_node*)nodes[nodeID])->image_inputs.size()create_image_input(desc,title); } } -- cgit v1.2.3