handlePitch method

Future<PitchResult> handlePitch(
  1. double pitch
)

Implementation

Future<PitchResult> handlePitch(double pitch) {
  if (_isPitchInRange(pitch)) {
    final noteLiteral = _noteFromPitch(pitch);
    final expectedFrequency = _frequencyFromNoteNumber(_midiFromPitch(pitch));
    final diff = _diffFromTargetedNote(pitch);
    final tuningStatus = _getTuningStatus(diff);
    final diffCents =
        _diffInCents(expectedFrequency, expectedFrequency - diff);

    return Future.value(PitchResult(
        noteLiteral, tuningStatus, expectedFrequency, diff, diffCents));
  }

  return Future.value(
      PitchResult("", TuningStatus.undefined, 0.00, 0.00, 0.00));
}