isCommonRatio static method

bool isCommonRatio(
  1. int numerator,
  2. int denominator,
  3. TimeSignature? timeSig
)

Checks if is a razão comum and inequívoca

Implementation

static bool isCommonRatio(int numerator, int denominator, TimeSignature? timeSig) {
  if (timeSig == null) return false;

  if (timeSig.isSimple) {
    // Tempo simples: razões comuns
    if (numerator == 3 && denominator == 2) return true; // Tercina
    if (numerator == 5 && denominator == 4) return true; // Quintina
    if (numerator == 6 && denominator == 4) return true; // Sextina
    if (numerator == 7 && denominator == 4) return true; // Septina
    if (numerator == 9 && denominator == 8) return true; // Nontupleto
  } else {
    // Tempo composto: razões comuns
    if (numerator == 2 && denominator == 3) return true; // Dupleto
    if (numerator == 4 && (denominator == 3 || denominator == 6)) return true; // Quadrupleto
    if (numerator == 8 && denominator == 6) return true; // Octupleto
  }

  return false;
}