MIDI.jlのNotesのdurationを計算する。
ほぼstructの要素を操作して最大を取る時のスニペット。
function duration_tick(notes::Notes)
# notesはgetnotes時にpositionでソートされている.
starttick = notes[1].position
endtick = maximum(map(note->note.position + note.duration, notes))
return endtick - starttick
end
notes = MIDI.getnotes(track, TPQ)
duration = duration_tick(notes)