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);
}