parseScientificNotation static method

Pitch parseScientificNotation(
  1. String pitchName
)

Implementation

static Pitch parseScientificNotation(String pitchName) {
  final match = _scientificPitchNamePattern.matchAsPrefix(pitchName);
  if (match == null)
    throw new FormatException("not in scientific notation: $pitchName");
  final String naturalName = match[1]!;
  final String accidentals = match[2]!;
  final String octaveName = match[3]!;
  final int pitch = noteNames.indexOf(naturalName.toUpperCase());
  final int accidentalSemitones = parseAccidentals(accidentals);
  final int octave = int.parse(octaveName);
  return new Pitch(
      chromaticIndex: pitch,
      accidentalSemitones: accidentalSemitones,
      octave: octave);
}