summaryrefslogtreecommitdiff
path: root/rotord/src/nodes_audio_analysis.h
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/nodes_audio_analysis.h
parente04516069c71a5a1e32e6a5fbf0eb5b86dcfc5a2 (diff)
switched signals to double and random to uint16
Diffstat (limited to 'rotord/src/nodes_audio_analysis.h')
-rw-r--r--rotord/src/nodes_audio_analysis.h32
1 files changed, 16 insertions, 16 deletions
diff --git a/rotord/src/nodes_audio_analysis.h b/rotord/src/nodes_audio_analysis.h
index 8cb70d0..7c4893a 100644
--- a/rotord/src/nodes_audio_analysis.h
+++ b/rotord/src/nodes_audio_analysis.h
@@ -39,11 +39,11 @@ namespace Rotor {
void cleanup(){};
int process_frame(uint8_t *data,int samples_in_frame);
void print_vector(xmlIO XML);
- vector<float> audiodata;
+ vector<double> audiodata;
int height,width,samples_per_column;
int out_sample,sample,samples;
int offset;
- float scale,accum;
+ double scale,accum;
};
class Vamp_node: public Audio_processor {
//base class for vamp plugin hosts
@@ -54,23 +54,23 @@ namespace Rotor {
bool init(int _channels,int _bits,int _samples,int _rate);
void cleanup();
int process_frame(uint8_t *data,int samples_in_frame);
- const float output(const Time_spec &time) {
+ const double output(const Time_spec &time) {
if (features.size()) {
auto i=features.upper_bound(time.time); //the first element in the container whose key is considered to go after k
if (i==features.end()) i--;
- float uk=i->first;
- float v1,v2;
- v1=v2=0.0f;
+ double uk=i->first;
+ double v1,v2;
+ v1=v2=0.0;
if (i->second.values.size()) v2=i->second.values[0];
i--;
- float lk=i->first;
+ double lk=i->first;
int ln=i->second.number;
if (i->second.values.size()) v1=i->second.values[0];
switch (attributes["mode"]->intVal){
case VAMPHOST_Timeline:
return (((time.time-lk)/(uk-lk))+ln);
case VAMPHOST_Timesteps:
- return (float)ln;
+ return (double)ln;
case VAMPHOST_Valueline:
return ((((time.time-lk)/(uk-lk))*(v2-v1))+v1);
case VAMPHOST_Values:
@@ -79,7 +79,7 @@ namespace Rotor {
//}
//return (--features.end())->second.values[0];
}
- return 0.0f;
+ return 0.0;
}
string get_features();
void print_summary(){
@@ -100,7 +100,7 @@ namespace Rotor {
//create_attribute("soname","Plugin library to use","Plugin library","vamp-example-plugins");
//create_attribute("id","ID of Plugin to use","Plugin ID","percussiononsets");
//create_attribute("analyser","Analyser Plugin to use","Analyser plugin","barbeattracker",{"barbeattracker","segmenter"});
- create_parameter("outputNo","number","Plugin output to use","Output number",0.0f);
+ create_parameter("outputNo","number","Plugin output to use","Output number",0.0);
//title="Audio analysis";
//description="Analyse audio and output";
NODEID="b769f54e-2d0b-11e3-87dd-f73fc7b1c636";
@@ -122,7 +122,7 @@ namespace Rotor {
//create_attribute("soname","Plugin library to use","Plugin library","vamp-example-plugins",{"horiz","vert","horizR","vertR"});
//create_attribute("id","ID of Plugin to use","Plugin ID","percussiononsets",{"horiz","vert","horizR","vertR"});
create_attribute("analyser","Analyser Plugin to use","Analyser plugin","barbeattracker",{"adaptivespectrum","barbeattracker","chromagram","dwt","mfcc","onsetdetector","segmenter","similarity","tempotracker","transcription"});
- create_parameter("outputNo","number","Plugin output to use","Output number",0.0f);
+ create_parameter("outputNo","number","Plugin output to use","Output number",0.0);
title="Audio analysis";
description="Analyse audio and output";
NODEID="b769f54e-2d0b-11e3-87dd-f73fc7b1c636";
@@ -161,8 +161,8 @@ namespace Rotor {
//vamp node that applies a ruleset to manage a set of acts via a cycler
public:
Act_segmenter(){
- create_parameter("outputNo","number","Plugin output to use","Output number",0.0f);
- create_parameter("acts","number","Number of acts defined","Acts",1.0f);
+ create_parameter("outputNo","number","Plugin output to use","Output number",0.0);
+ create_parameter("acts","number","Number of acts defined","Acts",1.0);
title="Act manager";
description="Applies a ruleset to manage acts based on segments";
NODEID="c55359a2-2d0b-11e3-8a3d-53fa9c2b8859";
@@ -287,9 +287,9 @@ namespace Rotor {
analysers["segmenter"]=vampHost::Analyser();
analysers["tempo"]=vampHost::Analyser();
analysers["intensity"]=vampHost::Analyser();
- create_parameter("intensity_weight","number","intensity weight","Intensity weighting",1.0f);
- create_parameter("tempo_weight","number","tempo weight","Tempo weighting",1.0f);
- create_parameter("levels","number","levels","Number of intensity levels",0.0f);
+ create_parameter("intensity_weight","number","intensity weight","Intensity weighting",1.0);
+ create_parameter("tempo_weight","number","tempo weight","Tempo weighting",1.0);
+ create_parameter("levels","number","levels","Number of intensity levels",0.0);
};
Intensity_segmenter(map<string,string> &settings):Intensity_segmenter() {
base_settings(settings);