NotePositioning.calculate constructor
NotePositioning.calculate(
- List<
Note> notes, - ChartPositioning chartPositioning
Calculates NotePositionMap and TechniquePositionList
Implementation
factory NotePositioning.calculate(
List<Note> notes,
ChartPositioning chartPositioning,
) {
final NotePositionMap notePositions = {};
final TechniquePositionList techniquePositions = [];
for (var note in notes) {
final offset = notePositions.addNotePosition(chartPositioning, note);
if (note.hammerOn != null) {
techniquePositions.addTechniquePosition(
notePositions,
chartPositioning,
note,
offset,
Technique.hammerOn,
note.hammerOn!,
);
}
if (note.pullOff != null) {
techniquePositions.addTechniquePosition(
notePositions,
chartPositioning,
note,
offset,
Technique.pullOff,
note.pullOff!,
);
}
if (note.slideTo != null) {
techniquePositions.addTechniquePosition(
notePositions,
chartPositioning,
note,
offset,
Technique.slide,
note.slideTo!,
);
}
}
return NotePositioning(notePositions, techniquePositions);
}