cleanBpmList method
Implementation
void cleanBpmList() {
removeTrailingZeros(bpmList!);
//reduce zeros and jumps
for (int i = 0; i < bpmList!.length; i++) {
if (bpmList![i] == 0) {
bpmList![i] = getNextNonZeroBpm(i, bpmList);
}
}
for (int i = 1; i < bpmList!.length; i++) {
int startData = bpmList![i - 1];
int stopData = bpmList![i];
if (startData < 60 ||
stopData < 60 ||
startData > 210 ||
stopData > 210 ||
(startData - stopData).abs() > 35) {
bpmList![i] = getWindowAvreage(bpmList!, i, 60);
}
}
/*int window = 4;
for (int i = window; i < bpmList.length - window - 1; i++) {
bpmList.set(i, getWindowAvreage(bpmList, i, window));
}*/
}