Mercurial > hg > beatroot-vamp
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; |