parsePitch static method

String parsePitch(
  1. XmlElement xmlPitch,
  2. String stepTag,
  3. String alterTag,
  4. MusicXMLParserState state,
)

Parse and return the pitch-like

Implementation

static String parsePitch(
  XmlElement xmlPitch,
  String stepTag,
  String alterTag,
  MusicXMLParserState state,
) {
  final xmlStepTag = xmlPitch.getElement(stepTag);
  if (xmlStepTag == null) {
    throw XmlParserException('Missing pitch step');
  }
  final step = xmlStepTag.innerText;

  var alterString = '';
  final xmlAlterTag = xmlPitch.getElement(alterTag);
  if (xmlAlterTag != null) {
    alterString = alterToString(xmlAlterTag.innerText);
  }

  if (state.transpose != 0) {
    throw XmlParserException(
        'Transposition of chord symbols currently unsupported');
  }

  return step + alterString;
}