uvok cheetah<p>GuitarPro be like (I added __repr__ methods to the classes...)</p><p>```<br>>>> [m.voices[0].beats for m in s.tracks[0].measures]<br><<< <br>[[Beat(voice=Voice(measure=Measure(track=Track(song=Song(title=, <a href="https://woof.tech/tags/tracks" class="mention hashtag" rel="nofollow noopener" target="_blank">#<span>tracks</span></a>=1), number=1, name=Spur 1, <a href="https://woof.tech/tags/measures" class="mention hashtag" rel="nofollow noopener" target="_blank">#<span>measures</span></a>=5, <a href="https://woof.tech/tags/strings" class="mention hashtag" rel="nofollow noopener" target="_blank">#<span>strings</span></a>=6), <a href="https://woof.tech/tags/voices" class="mention hashtag" rel="nofollow noopener" target="_blank">#<span>voices</span></a>=2), <a href="https://woof.tech/tags/beats" class="mention hashtag" rel="nofollow noopener" target="_blank">#<span>beats</span></a>=8), <a href="https://woof.tech/tags/notes" class="mention hashtag" rel="nofollow noopener" target="_blank">#<span>notes</span></a>=1, duration=Duration(value=8, isDotted=False, tuplet=Tuplet(enters=1, times=1)), start=960),<br> Beat(voice=Voice(measure=Measure(track=Track(song=Song(title=, <a href="https://woof.tech/tags/tracks" class="mention hashtag" rel="nofollow noopener" target="_blank">#<span>tracks</span></a>=1), number=1, name=Spur 1, <a href="https://woof.tech/tags/measures" class="mention hashtag" rel="nofollow noopener" target="_blank">#<span>measures</span></a>=5, <a href="https://woof.tech/tags/strings" class="mention hashtag" rel="nofollow noopener" target="_blank">#<span>strings</span></a>=6), <a href="https://woof.tech/tags/voices" class="mention hashtag" rel="nofollow noopener" target="_blank">#<span>voices</span></a>=2), <a href="https://woof.tech/tags/beats" class="mention hashtag" rel="nofollow noopener" target="_blank">#<span>beats</span></a>=8), <a href="https://woof.tech/tags/notes" class="mention hashtag" rel="nofollow noopener" target="_blank">#<span>notes</span></a>=1, duration=Duration(value=8, isDotted=False, tuplet=Tuplet(enters=1, times=1)), start=1440),<br> Beat(voice=Voice(measure=Measure(track=Track(song=Song(title=, <a href="https://woof.tech/tags/tracks" class="mention hashtag" rel="nofollow noopener" target="_blank">#<span>tracks</span></a>=1), number=1, name=Spur 1, <a href="https://woof.tech/tags/measures" class="mention hashtag" rel="nofollow noopener" target="_blank">#<span>measures</span></a>=5, <a href="https://woof.tech/tags/strings" class="mention hashtag" rel="nofollow noopener" target="_blank">#<span>strings</span></a>=6), <a href="https://woof.tech/tags/voices" class="mention hashtag" rel="nofollow noopener" target="_blank">#<span>voices</span></a>=2), <a href="https://woof.tech/tags/beats" class="mention hashtag" rel="nofollow noopener" target="_blank">#<span>beats</span></a>=8), <a href="https://woof.tech/tags/notes" class="mention hashtag" rel="nofollow noopener" target="_blank">#<span>notes</span></a>=1, duration=Duration(value=8, isDotted=False, tuplet=Tuplet(enters=1, times=1)), start=1920),<br>...</p><p>>>> >>> [n for m in s.tracks[0].measures for b in m.voices[0].beats for n in b.notes]<br><<<<br>[Note(value=2, velocity=95, string=5, effect=<guitarpro.models.NoteEffect object at 0x7ffa4ac99510>, durationPercent=1.0, swapAccidentals=False, type=<NoteType.normal: 1>),<br> Note(value=4, velocity=95, string=4, effect=<guitarpro.models.NoteEffect object at 0x7ffa4ac99750>, durationPercent=1.0, swapAccidentals=False, type=<NoteType.normal: 1>),<br> Note(value=0, velocity=95, string=3, effect=<guitarpro.models.NoteEffect object at 0x7ffa4ac999d0>, durationPercent=1.0, swapAccidentals=False, type=<NoteType.normal: 1>),<br>...<br>```</p>