From 344e9b1a484b361cac7b07500cb7d2699cc93c29 Mon Sep 17 00:00:00 2001 From: Tim Redfern Date: Mon, 20 Jan 2014 05:42:52 +0000 Subject: updating graph --- NT/src/factory.cpp | 1 - NT/src/graph.h | 79 +++++++++++++++++++-------------------------------- NT/src/nodes.h | 12 +++++++- NT/src/rotor.cpp | 6 ++-- NT/src/testgraph.json | 43 ++++++++++++++++++++++++++++ 5 files changed, 88 insertions(+), 53 deletions(-) create mode 100644 NT/src/testgraph.json (limited to 'NT') diff --git a/NT/src/factory.cpp b/NT/src/factory.cpp index 86b6a48..73a96f4 100644 --- a/NT/src/factory.cpp +++ b/NT/src/factory.cpp @@ -10,7 +10,6 @@ Node_factory::Node_factory(){ } bool Node_factory::list_node(const string &_type,Json::Value &json){ for (auto& type: type_map) { -cerr<to_json(); return true; diff --git a/NT/src/graph.h b/NT/src/graph.h index 0a20ffe..c61d385 100644 --- a/NT/src/graph.h +++ b/NT/src/graph.h @@ -9,24 +9,27 @@ Graph object manages a collection of nodes and provides the interface for render #include "rotor.h" -/* + namespace Rotor { class Graph{ public: - Graph(){duration=20.0;loaded = false;audio_loaded=false;bitRate=0;outW=640;outH=360;audio_thumb=new Audio_thumbnailer();use_fragmentation=false;analysis_seed=0;Log_name="";}; - Graph(const string& _uid,const string& _desc){ - Graph(); + Graph(){init();}; + Graph(const std::string& _uid,const std::string& _desc){ init(_uid,_desc); }; - void init(const string& _uid,const string& _desc){ + void init(const std::string& _uid="",const std::string& _desc=""){ uid=_uid; description=_desc; - duration=20.0; - framerate=25.0; loaded=false; + audio_loaded=false; cancelled=false; + //audio_thumb=new Audio_thumbnailer(); + Log_name=""; + }; + ~Graph(){ + clear(); + //delete audio_thumb; }; - ~Graph(){ clear(); delete audio_thumb;}; void clear(){ for (auto n: nodes) { delete n.second; @@ -34,58 +37,36 @@ namespace Rotor { nodes.clear(); loaded=false; } - string uid; //every version of a graph has a UUID, no particular need to actually read its data(?) - //?? is it faster than using strings?? - string description; - std::unordered_map nodes; - vector find_nodes(const string &type); //could be a way of finding a set based on capabilities? - Node* find_node(const string &type); - bool signal_render(xmlIO &XML,const string &node,const double framerate); - bool video_render(const string &output_filename,const double framerate,int start, int end); - bool load(string data,string media_path); - bool loadFile(string &filename,string media_path); - bool parseXml(string media_path); - bool parseJson(string &data,string &media_path); - bool set_resolution(int w,int h); - bool preview(xmlIO &XML,string &node,string &format,int frame,int w,int h); - bool check_audio(string audio,string path); - bool print_features(xmlIO &XML,string &node); - bool load_audio(const string &filename,vector processors); - bool load_video(const string &nodeID,const string &filename);//can be performance or clip - bool set_bitrate(int b){ - if (b>1000){ - bitRate=b; - return true; - } - else return false; - } - bool set_fragmentation(bool f){ - use_fragmentation=f; - return true; - } + std::string uid; + std::string description; + std::unordered_map nodes; + std::vector find_nodes(const std::string &type); + Node* find_node(const std::string &type); + Json::Value signal_render(const std::string &node,const double framerate); + bool video_render(const std::string &output_filename,const double framerate,int start, int end); + bool load(std::string data ,std::string media_path); + bool loadFile(std::string &filename,std::string media_path); + bool parseJson(std::string &data,std::string &media_path); + Json::Value preview(std::string &node ,std::string &format,int frame,int w,int h); + bool check_audio (std::string audio ,std::string path); + Json::Value print_features (std::string &node); + //bool load_audio(const std::string &filename, std::vector processors); + bool load_video(const std::string &node_id,const std::string &filename); bool loaded; - double duration; - double framerate; - const string graphToString(); - xmlIO xml; bool audio_loaded; - string audio_filename; + std::string audio_filename; bool cancelled; double progress; - int bitRate; - void set_log_name(string _Log_name){ + void set_log_name (std::string _Log_name){ Log_name=_Log_name; } - Audio_thumbnailer *audio_thumb; + //Audio_thumbnailer *audio_thumb; private: - int outW,outH; - bool use_fragmentation; int analysis_seed; - string Log_name; + std::string Log_name; }; } -*/ #endif //GRAPH_H diff --git a/NT/src/nodes.h b/NT/src/nodes.h index 1632363..4b1b2ac 100644 --- a/NT/src/nodes.h +++ b/NT/src/nodes.h @@ -12,7 +12,13 @@ namespace Rotor{ }; class Time: public Double_node { public: - Time(){type="time";}; + Time(){ + type="time"; + description="time in fractional seconds"; + title="Time"; + type_id="4bdaaa7a-8194-11e3-8a4f-2ff6852ae2c7"; + ui_type="none"; + }; Time(Json::Value &settings):Time() { init(settings); }; @@ -56,6 +62,10 @@ namespace Rotor{ Print(){ inlet=create_inlet("inlet"); type="print"; + description="number as a string"; + title="Print"; + type_id="9b9232b8-8194-11e3-a5a2-07659a1b53c3"; + ui_type="none"; } Print(Json::Value &settings):Print() { init(settings); diff --git a/NT/src/rotor.cpp b/NT/src/rotor.cpp index 1b75187..8fdec07 100644 --- a/NT/src/rotor.cpp +++ b/NT/src/rotor.cpp @@ -47,7 +47,7 @@ Json::Value Node::to_json(){ node["type"]=type; node["type_id"]=type_id; node["title"]=title; - node["output_type"]=get_type(); + node["output_type"]=get_output_type(); node["description"]=description; node["id"]=id; node["ui_type"]=ui_type; @@ -82,9 +82,11 @@ int main(){ delete p; */ Json::Value js; -f.list_node("multiply",js); +f.list_node("time",js); Json::StyledWriter writer; cerr<