Revision 13:0d4048bfadbb Agent.cpp
| Agent.cpp | ||
|---|---|---|
| 75 | 75 |
double prevBeat = 0, nextBeat, currentInterval, beats; |
| 76 | 76 |
EventList::iterator ei = events.begin(); |
| 77 | 77 |
if (ei != events.end()) {
|
| 78 |
++ei; |
|
| 79 |
prevBeat = ei->time; |
|
| 80 |
--ei; |
|
| 78 |
EventList::iterator ni = ei; |
|
| 79 |
prevBeat = (++ni)->time; |
|
| 81 | 80 |
} |
| 82 |
for ( ; ei != events.end(); ++ei) {
|
|
| 83 |
++ei; |
|
| 84 |
nextBeat = ei->time; |
|
| 85 |
--ei; // so as to insert before nextBeat |
|
| 81 |
for ( ; ei != events.end(); ) {
|
|
| 82 |
EventList::iterator ni = ei; |
|
| 83 |
nextBeat = (++ni)->time; |
|
| 86 | 84 |
beats = nearbyint((nextBeat - prevBeat) / beatInterval - 0.01); //prefer slow |
| 87 | 85 |
currentInterval = (nextBeat - prevBeat) / beats; |
| 88 | 86 |
for ( ; (nextBeat > start) && (beats > 1.5); beats--) {
|
| 89 | 87 |
prevBeat += currentInterval; |
| 90 |
events.insert(ei, BeatTracker::newBeat(prevBeat, 0)); |
|
| 91 |
++ei; |
|
| 88 |
events.insert(ni, BeatTracker::newBeat(prevBeat, 0)); |
|
| 92 | 89 |
} |
| 93 | 90 |
prevBeat = nextBeat; |
| 91 |
ei = ni; |
|
| 94 | 92 |
} |
| 95 | 93 |
} // fillBeats() |
Also available in: Unified diff