diff modules-and-plug-ins/python-module/btrack_python_module.cpp @ 17:a31841af2bbc develop

Before this commit, the OnsetDetectionFunction class used double precision, and the BTrack class used floats. I have now made BTrack use double precision also. This works fine and the only cost of doing this is that we have to perform one array copy into floating point format so that sample rate conversion (which has to be in floating point format) can take place.
author Adam <adamstark.uk@gmail.com>
date Wed, 22 Jan 2014 02:49:29 +0000
parents 2b94d3d2fb9d
children 450c53430540
line wrap: on
line diff
--- a/modules-and-plug-ins/python-module/btrack_python_module.cpp	Wed Jan 22 01:34:04 2014 +0000
+++ b/modules-and-plug-ins/python-module/btrack_python_module.cpp	Wed Jan 22 02:49:29 2014 +0000
@@ -156,7 +156,8 @@
     double df[numframes];
     double beats[5000];
     int beatnum = 0;
-    float df_val;
+
+    double df_val;
     
     ///////////////////////////////////////////
 	//////// Begin Processing Loop ////////////
@@ -171,7 +172,7 @@
 		
 		df[i] = onset.getDFsample(buffer);
         
-        df_val = (float) (df[i] + 0.0001);
+        df_val = df[i] + 0.0001;
                 
 		b.process(df_val);				// process df sample in beat tracker
 		
@@ -270,14 +271,14 @@
     
     double beats[5000];
     int beatnum = 0;
-    float df_val;
+    double df_val;
     
     ///////////////////////////////////////////
 	//////// Begin Processing Loop ////////////
 	
 	for (long i=0;i < numframes;i++)
 	{		
-        df_val = (float) (data[i] + 0.0001);
+        df_val = data[i] + 0.0001;
         
 		b.process(df_val);				// process df sample in beat tracker