Enable resetting time signature in staff construction

This commit is contained in:
2020-03-29 21:09:18 +02:00
parent d9f29a95ad
commit 0dd0505cf0

View File

@@ -64,7 +64,9 @@ class StaffEvaluator : Evaluator() {
val evaluatedSignature = calculateTimeSignature(evaluatedMeasure)
currentSignature?.let {
if (evaluatedSignature != it) {
when {
it.numerator == 0 -> return
evaluatedSignature != it -> {
val simplified = evaluatedSignature.simplified
throw contextEvaluationException(
"Invalid time signature: expected ${it.numerator}/${it.denominator}, got ${simplified.numerator}/${simplified.denominator}",
@@ -73,6 +75,9 @@ class StaffEvaluator : Evaluator() {
)
}
}
null
}
}
private fun calculateTimeSignature(values: List<Value>): Fraction {