compareByClosestDistance static method

int compareByClosestDistance(
  1. Note a,
  2. Note b
)

Comparator for Notes by closest distance.

Implementation

static int compareByClosestDistance(Note a, Note b) => compareMultiple([
      () {
        final distance = (a.semitones - b.semitones).abs();

        return (distance <= chromaticDivisions - distance)
            ? a.semitones.compareTo(b.semitones)
            : b.semitones.compareTo(a.semitones);
      },
      ..._comparators(a, b),
    ]);