mode method

Scale mode(
  1. int modeNumber
)

Implementation

Scale mode(int modeNumber) {
  assert(modeNumber >= 1, 'modeNumber must be greater or equal to 1');
  assert(modeNumber <= modeCount,
      'modeNumber must be less than or equal to $modeCount');

  if (modeNumber == 1) return this;

  var modeScaleDegree = identity.enabledBits[modeNumber - 1];
  var newIdentity = identity.rotateRight(modeScaleDegree);
  var newTonic = PitchClass(modeScaleDegree);

  return Scale(tonic: newTonic, identity: newIdentity);
}