diff BeatTracker.cpp @ 23:633ec097fa56

Expose the processing parameters Simon suggests
author Chris Cannam
date Tue, 03 Sep 2013 17:32:09 +0100
parents 47e1917c88fc
children 937432fc2898
line wrap: on
line diff
--- a/BeatTracker.cpp	Wed Aug 28 16:50:40 2013 +0100
+++ b/BeatTracker.cpp	Tue Sep 03 17:32:09 2013 +0100
@@ -15,7 +15,8 @@
 
 #include "BeatTracker.h"
 
-EventList BeatTracker::beatTrack(EventList events, EventList beats)
+EventList BeatTracker::beatTrack(AgentParameters params,
+                                 EventList events, EventList beats)
 {
     AgentList agents;
     int count = 0;
@@ -28,9 +29,9 @@
     }
     if (count > 0) { // tempo given by mean of initial beats
 	double ioi = (beatTime - beats.begin()->time) / count;
-	agents.push_back(new Agent(ioi));
+	agents.push_back(new Agent(params, ioi));
     } else // tempo not given; use tempo induction
-	agents = Induction::beatInduction(events);
+	agents = Induction::beatInduction(params, events);
     if (!beats.empty())
 	for (AgentList::iterator itr = agents.begin(); itr != agents.end();
 	     ++itr) {
@@ -38,7 +39,7 @@
 	    (*itr)->beatCount = count;
 	    (*itr)->events = beats;
 	}
-    agents.beatTrack(events, -1);
+    agents.beatTrack(events, params, -1);
     Agent *best = agents.bestAgent();
     EventList results;
     if (best) {