TimeSignature.additive constructor

TimeSignature.additive({
  1. required List<int> groups,
  2. required int denominator,
})

Cria uma fórmula aditiva, ex.: (3+2+2)/8.

TimeSignature.additive(groups: [3, 2, 2], denominator: 8)

Implementation

factory TimeSignature.additive({
  required List<int> groups,
  required int denominator,
}) {
  final total = groups.fold(0, (a, b) => a + b);
  return TimeSignature(
    numerator: total,
    denominator: denominator,
    additiveGroups: groups.map(AdditiveMeterGroup.new).toList(),
  );
}