diff options
| -rw-r--r-- | rotord/src/nodes_audio_analysis.cpp | 11 | ||||
| -rw-r--r-- | rotord/src/nodes_drawing.h | 8 | ||||
| -rw-r--r-- | rotord/src/vampHost.cpp | 10 |
3 files changed, 16 insertions, 13 deletions
diff --git a/rotord/src/nodes_audio_analysis.cpp b/rotord/src/nodes_audio_analysis.cpp index 96244d0..eff7a37 100644 --- a/rotord/src/nodes_audio_analysis.cpp +++ b/rotord/src/nodes_audio_analysis.cpp @@ -330,6 +330,7 @@ nned to retrieve total intensity by segment for (int j=1;j<diffs.size();j++) if (diffs[j]<diffs[smallest]) smallest=j; for (int j=0;j<seggrps[smallest].second.size();j++) { seggrps[smallest+1].second.push_back(seggrps[smallest].second[j]); + cerr<<"copied segment "<<(seggrps[smallest].second[j].second)<<" from group "<<smallest<<" to group "<<(smallest+1)<<endl; } //recalculate intensity average double avg=0.0f; @@ -338,9 +339,11 @@ nned to retrieve total intensity by segment seggrps[smallest+1].first=avg; seggrps.erase(seggrps.begin()+smallest); + cerr<<"removed group "<<smallest<<endl; } cerr<<"intensities merged, "<<seggrps.size()<<" levels remain"<<endl; } + //cerr<<seggrps.size()<<" groups, "<<(int)parameters["levels"]->value<<" levels requested, "<<(int)totalsmap.size()<<" original segments"<<endl; if (seggrps.size()<min((int)parameters["levels"]->value,(int)totalsmap.size())){ while (seggrps.size()<min((int)parameters["levels"]->value,(int)totalsmap.size())) { //split groups @@ -386,12 +389,12 @@ nned to retrieve total intensity by segment //add the new group seggrps.push_back(newgroup); } - + cerr<<"similaritity groups split, "<<seggrps.size()<<" levels total"<<endl; + //seggrps are now out of order + std::sort(seggrps.begin(),seggrps.end(),sortseggrps); } - cerr<<"similaritity groups split, "<<seggrps.size()<<" levels total"<<endl; - //seggrps are now out of order - std::sort(seggrps.begin(),seggrps.end(),sortseggrps); + } map<int,int> outputvalues; diff --git a/rotord/src/nodes_drawing.h b/rotord/src/nodes_drawing.h index ec70b96..5a8937f 100644 --- a/rotord/src/nodes_drawing.h +++ b/rotord/src/nodes_drawing.h @@ -258,11 +258,11 @@ namespace Rotor { //cairo_translate(cr, 0, frame.h/2); cairo_translate(cr,-frame.w/2,0); cairo_scale(cr,1.0,parameters["height"]->value); - //cairo_line_to(cr, 0, 0); + cairo_line_to(cr, 0, 0); for (int i=0;i<frame.w;i++){ cairo_line_to(cr,i,(((int16_t)frame.audio->samples[i*frame.audio->channels]+channel)*frame.h)>>16); } - //cairo_line_to(cr, frame.w/2, 0); + cairo_line_to(cr, frame.w/2, 0); cairo_close_path(cr); cairo_restore (cr); @@ -274,11 +274,11 @@ namespace Rotor { cairo_translate(cr,-frame.w/2,0); cairo_scale(cr,1.0,parameters["height"]->value); cairo_set_line_width (cr, parameters["width"]->value); - cairo_line_to(cr, 0, 0); + //cairo_line_to(cr, 0, 0); for (int i=0;i<frame.w;i++){ cairo_line_to(cr,i,(((int16_t)frame.audio->samples[i*frame.audio->channels+channel])*frame.h)>>16); } - cairo_line_to(cr, frame.w, 0); + //cairo_line_to(cr, frame.w, 0); cairo_restore (cr); cairo_stroke(cr); } diff --git a/rotord/src/vampHost.cpp b/rotord/src/vampHost.cpp index 3f18473..a70e795 100644 --- a/rotord/src/vampHost.cpp +++ b/rotord/src/vampHost.cpp @@ -383,11 +383,11 @@ void vampHost::Analyser::cleanup(){ featureNo++; } - //make a final feature at the end - //feature f; - //f.number=featureNo; - //f.values={0}; - //features[((double)rt.sec)+(((double)rt.nsec)*.000000001f)]=f; + //always make a final blank feature at the end + feature f; + f.number=featureNo; + f.values={}; + features[((double)rt.sec)+(((double)rt.nsec)*.000000001f)]=f; //cerr<<plugin->getIdentifier()<<" found "<<(features.size()-1)<<" features"<<endl; //deal with left over data? |
