summaryrefslogtreecommitdiff
path: root/rotord/src/graph.cpp
diff options
context:
space:
mode:
authorComment <tim@gray.(none)>2013-12-08 10:55:03 +0000
committerComment <tim@gray.(none)>2013-12-08 10:55:03 +0000
commit1d05d2380bb4f1fd265aef55744f432af38b08aa (patch)
tree89c1c15497149951d4b99938ad932abde42eae14 /rotord/src/graph.cpp
parente04516069c71a5a1e32e6a5fbf0eb5b86dcfc5a2 (diff)
switched signals to double and random to uint16
Diffstat (limited to 'rotord/src/graph.cpp')
-rw-r--r--rotord/src/graph.cpp30
1 files changed, 15 insertions, 15 deletions
diff --git a/rotord/src/graph.cpp b/rotord/src/graph.cpp
index 5d8d368..96c313f 100644
--- a/rotord/src/graph.cpp
+++ b/rotord/src/graph.cpp
@@ -24,17 +24,17 @@ Node* Graph::find_node(const string &type){
}
return nullptr; //can be tested against
};
-bool Graph::signal_render(xmlIO &XML,const string &node,const float framerate) {
+bool Graph::signal_render(xmlIO &XML,const string &node,const double framerate) {
if (nodes.find(node)!=nodes.end()){
Signal_node *signal_output=dynamic_cast<Signal_node*>(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;
+ //double sig=0.0;
string val="";
- for (float i=0;i<duration;i+=1.0f/framerate){
- float s=(signal_output->get_output(Time_spec(i,framerate,duration)));
+ for (double i=0;i<duration;i+=1.0/framerate){
+ double s=(signal_output->get_output(Time_spec(i,framerate,duration)));
//if (!fequal(sig,s)){
val+=toString(i)+" "+toString(s)+",";
// sig=s;
@@ -65,17 +65,17 @@ bool Graph::print_features(xmlIO &XML,string &node){
}
bool Graph::preview(xmlIO &XML,string &node,string &_format,int frame,int w,int h){
if (nodes.find(node)!=nodes.end()){
- float t=frame/framerate;
+ double t=frame/framerate;
XML.addTag("preview");
XML.addAttribute("preview","frame",toString(frame),0);
XML.addAttribute("preview","nodeID",node,0);
XML.pushTag("preview");
if (dynamic_cast<Signal_node*>(nodes[node])){
- Time_spec ts=Time_spec(t,framerate,0.0f);
+ Time_spec ts=Time_spec(t,framerate,0.0);
XML.addValue("signal",dynamic_cast<Signal_node*>(nodes[node])->get_output(ts));
}
if (dynamic_cast<Image_node*>(nodes[node])){
- Frame_spec fs=Frame_spec(t,framerate,0.0f,w,h);
+ Frame_spec fs=Frame_spec(t,framerate,0.0,w,h);
Image *img=dynamic_cast<Image_node*>(nodes[node])->get_image_output(fs);
vector<unsigned char> buf;
string format=(_format==""?".png":_format);
@@ -95,7 +95,7 @@ bool Graph::preview(xmlIO &XML,string &node,string &_format,int frame,int w,int
return false;
}
-bool Graph::video_render(const string &output_filename,const float framerate,int start, int stop) {
+bool Graph::video_render(const string &output_filename,const double framerate,int start, int stop) {
if (output_filename.size()==0) return false;
//https://www.adobe.com/devnet/video/articles/mp4_movie_atom.html
//https://www.google.ie/search?q=ffmbc&aq=f&oq=ffmbc&aqs=chrome.0.57j0l2j60j0j60.4360j0&sourceid=chrome&ie=UTF-8#q=ffmbc+git
@@ -162,9 +162,9 @@ bool Graph::video_render(const string &output_filename,const float framerate,int
audio=new uint16_t[samples_in_frame*audioloader.get_number_channels()];
}
- float vstep=1.0f/framerate;
- float vf=start*vstep;
- float af=start*vstep;
+ double vstep=1.0/framerate;
+ double vf=start*vstep;
+ double af=start*vstep;
int aoffs=0;
int audioend=0;
Audio_frame *a;
@@ -239,7 +239,7 @@ bool Graph::video_render(const string &output_filename,const float framerate,int
gettimeofday(&_end, NULL);
- float mtime = ((_end.tv_sec-_start.tv_sec) + (_end.tv_usec-_start.tv_usec)/1000000.0);
+ double mtime = ((_end.tv_sec-_start.tv_sec) + (_end.tv_usec-_start.tv_usec)/1000000.0);
logger.information("Video_output: rendered "+output_filename+": in "+toString(mtime)+" seconds");
logger.information("compression codec took "+toString(mtime-video_output->time_taken)+" seconds");
@@ -364,7 +364,7 @@ bool Graph::parseJson(string &data,string &media_path){
attr->init(vals);
}
if (attr->type=="lyrics"){
- std::map<float,std::pair<string,float> > lyrics;
+ std::map<double,std::pair<string,double> > lyrics;
for (auto k:jnodes[i]["attributes"][m]["value"]){
if (k.size()>2&&k[0].isString()&&k[1].isNumeric()&&k[2].isNumeric()) {
lyrics[k[1].asFloat()]=std::make_pair(k[0].asString(),k[2].asFloat());
@@ -450,7 +450,7 @@ bool Graph::parseJson(string &data,string &media_path){
string parameter=jnodes[i]["parameters"][l]["name"].asString();
if (nodes[nodeID]->parameters.find(parameter)!=nodes[nodeID]->parameters.end()) {
- float val=jnodes[i]["parameters"][l]["value"].asFloat();
+ double val=jnodes[i]["parameters"][l]["value"].asFloat();
if (val!=nodes[nodeID]->parameters.find(parameter)->second->value){
nodes[nodeID]->parameters.find(parameter)->second->value=val;
cerr << "Rotor: set parameter '"<<parameter<<"' of "<<nodeID<<" to "<<val<<endl;
@@ -670,7 +670,7 @@ bool Graph::load_audio(const string &filename,vector<Audio_processor*> processor
}
sample+=1024;
//mutex.lock();
- progress=((float)sample)/samples; //atomic on 64 bit?
+ progress=((double)sample)/samples; //atomic on 64 bit?
//mutex.unlock();
}