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,14 +64,19 @@ class StaffEvaluator : Evaluator() {
val evaluatedSignature = calculateTimeSignature(evaluatedMeasure) val evaluatedSignature = calculateTimeSignature(evaluatedMeasure)
currentSignature?.let { currentSignature?.let {
if (evaluatedSignature != it) { when {
val simplified = evaluatedSignature.simplified it.numerator == 0 -> return
throw contextEvaluationException( evaluatedSignature != it -> {
"Invalid time signature: expected ${it.numerator}/${it.denominator}, got ${simplified.numerator}/${simplified.denominator}", val simplified = evaluatedSignature.simplified
measure.position, throw contextEvaluationException(
environment "Invalid time signature: expected ${it.numerator}/${it.denominator}, got ${simplified.numerator}/${simplified.denominator}",
) measure.position,
environment
)
}
} }
null
} }
} }