summaryrefslogtreecommitdiff
path: root/rotord/src/vampHost.cpp
diff options
context:
space:
mode:
authorTim Redfern <tim@eclectronics.org>2013-08-30 18:27:08 +0100
committerTim Redfern <tim@eclectronics.org>2013-08-30 18:27:08 +0100
commitc5085b5a31c1e25bf83ae910710996863531f8b2 (patch)
tree86bfd31285853f18f5ae436970deb0bc4f3e0fe1 /rotord/src/vampHost.cpp
parentf38cdcf952ac5c631ed285282e1bc2943f199101 (diff)
value output from audio analysis
Diffstat (limited to 'rotord/src/vampHost.cpp')
-rw-r--r--rotord/src/vampHost.cpp17
1 files changed, 13 insertions, 4 deletions
diff --git a/rotord/src/vampHost.cpp b/rotord/src/vampHost.cpp
index 65755eb..de7bb53 100644
--- a/rotord/src/vampHost.cpp
+++ b/rotord/src/vampHost.cpp
@@ -605,7 +605,7 @@ bool vampHost::Analyser::init(const string &soname,const string &id,const int &_
scale=(1.0f/pow(2.0f,bits));
features.clear(); //in case of reuse
- features[0.0f]=0;
+ features[0.0f]=feature();
loader = PluginLoader::getInstance();
key = loader->composePluginKey(soname, id);
@@ -763,7 +763,10 @@ void vampHost::Analyser::process_frame(uint8_t *data,int samples_in_frame){
Plugin::FeatureSet feat=plugin->process(plugbuf, rt);
for (unsigned int i = 0; i < feat[outputNo].size(); ++i) {
- features[((float)feat[outputNo][i].timestamp.sec)+(((float)feat[outputNo][i].timestamp.nsec)*.000000001)]=featureNo;
+ feature f;
+ f.number=featureNo;
+ f.values=feat[outputNo][i].values;
+ features[((float)feat[outputNo][i].timestamp.sec)+(((float)feat[outputNo][i].timestamp.nsec)*.000000001)]=f;
featureNo++;
}
@@ -794,14 +797,20 @@ void vampHost::Analyser::cleanup(){
Plugin::FeatureSet feat=plugin->process(plugbuf, rt);
for (unsigned int i = 0; i < feat[outputNo].size(); ++i) {
- features[((float)feat[outputNo][i].timestamp.sec)+(((float)feat[outputNo][i].timestamp.nsec)*.000000001)]=featureNo;
+ feature f;
+ f.number=featureNo;
+ f.values=feat[outputNo][i].values;
+ features[((float)feat[outputNo][i].timestamp.sec)+(((float)feat[outputNo][i].timestamp.nsec)*.000000001)]=f;
featureNo++;
}
feat=plugin->getRemainingFeatures();
for (unsigned int i = 0; i < feat[outputNo].size(); ++i) {
- features[((float)feat[outputNo][i].timestamp.sec)+(((float)feat[outputNo][i].timestamp.nsec)*.000000001)]=featureNo;
+ feature f;
+ f.number=featureNo;
+ f.values=feat[outputNo][i].values;
+ features[((float)feat[outputNo][i].timestamp.sec)+(((float)feat[outputNo][i].timestamp.nsec)*.000000001)]=f;
featureNo++;
}