comparison Agent.cpp @ 18:55969570044e

Fix crashes & valgrind warnings in plugin tester
author Chris Cannam
date Fri, 14 Oct 2011 10:44:38 +0100
parents 33d0b18b2509
children 633ec097fa56
comparison
equal deleted inserted replaced
17:47e1917c88fc 18:55969570044e
100 void Agent::fillBeats(double start) { 100 void Agent::fillBeats(double start) {
101 double prevBeat = 0, nextBeat, currentInterval, beats; 101 double prevBeat = 0, nextBeat, currentInterval, beats;
102 EventList::iterator ei = events.begin(); 102 EventList::iterator ei = events.begin();
103 if (ei != events.end()) { 103 if (ei != events.end()) {
104 EventList::iterator ni = ei; 104 EventList::iterator ni = ei;
105 prevBeat = (++ni)->time; 105 if (++ni != events.end()) {
106 prevBeat = ni->time;
107 }
106 } 108 }
107 while (ei != events.end()) { 109 while (ei != events.end()) {
108 EventList::iterator ni = ei; 110 EventList::iterator ni = ei;
109 ++ni; 111 if (ni == events.end() ||
110 if (ni == events.end()) break; 112 ++ni == events.end()) {
113 break;
114 }
111 nextBeat = ni->time; 115 nextBeat = ni->time;
112 beats = nearbyint((nextBeat - prevBeat) / beatInterval - 0.01); //prefer slow 116 beats = nearbyint((nextBeat - prevBeat) / beatInterval - 0.01); //prefer slow
113 currentInterval = (nextBeat - prevBeat) / beats; 117 currentInterval = (nextBeat - prevBeat) / beats;
114 for ( ; (nextBeat > start) && (beats > 1.5); beats--) { 118 for ( ; (nextBeat > start) && (beats > 1.5); beats--) {
115 prevBeat += currentInterval; 119 prevBeat += currentInterval;