From 06ac4feb6f4ce99d3e9fca26fa4045ef01156ff7 Mon Sep 17 00:00:00 2001 From: Tim Redfern Date: Thu, 25 Apr 2013 16:20:24 +0100 Subject: video loader begin --- rotord/graph.cpp | 27 +++++++++++++++++++++++++++ 1 file changed, 27 insertions(+) (limited to 'rotord/graph.cpp') diff --git a/rotord/graph.cpp b/rotord/graph.cpp index 7eeeec3..69c4811 100644 --- a/rotord/graph.cpp +++ b/rotord/graph.cpp @@ -9,6 +9,33 @@ const string Graph::toString(){ } else return ""; } +vector Graph::find_nodes(const string &type){ + vector found; + for (std::unordered_map::iterator it=nodes.begin();it!=nodes.end();++it) { + if (it->second->type==type) found.push_back(it->second); + } + return found; +}; +Node* Graph::find_node(const string &type){ + for (std::unordered_map::iterator it=nodes.begin();it!=nodes.end();++it) { + if (it->second->type==type) return it->second; + } + return nullptr; //can be tested against +}; +bool Graph::signal_render(string &signal_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); + } + else return false; +} +bool Graph::video_render(const string &output_filename,const string &audio_filename,const float framerate) { + if (find_node("video_output")) { + Video_output *video_output=dynamic_cast(find_node("video_output")); + return video_output->render(duration,framerate,output_filename,audio_filename); + } + else return false; +} bool Graph::load(string &filename){ loaded=false; printf("loading graph: %s\n",filename.c_str()); -- cgit v1.2.3