cleanBpmList method

void cleanBpmList()

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));
      }*/
}