buildRows method

List<Widget> buildRows()

Implementation

List<Widget> buildRows() {
  if (song.measures.length == 1) {
    return [
      MeasureDisplay(
        song.measures[0],
        tabContext: tabContext,
        instrument: Instrument.guitar,
        last: false,
      ),
    ];
  }

  List<Widget> rows = [];
  rows.add(const SizedBox(height: padding));
  for (var i = 0; i < song.measures.length; i = i + 2) {
    if (i + 1 >= song.measures.length) {
      rows.add(buildRow(song.measures[i], null));
    } else {
      rows.add(
        buildRow(
          song.measures[i],
          song.measures[i + 1],
          last: i + 2 == song.measures.length,
        ),
      );
    }
    rows.add(const SizedBox(height: padding));
  }
  return rows;
}