Closed pinobatch closed 5 years ago
The score could play a fallthrough group starting at any pattern boundary, and PATEND
needs to return to the same transposition at the end. This means the assumed transposition base for all patterns in the group must be the same. Here's a plan:
find_transpose_runs()
find_transpose_runs()
save both ends of each run's range: the highest note in each run in addition to the lowestfind_transpose_runs()
on all individual pitched patterns prior to the parts_to_print
loopplay
command based on lowest note, not transposition baseThere was a minor problem with the test case that jroatch provided. When I added bar check about two years after the test case (#26), the pickup
command became usable within patterns. So I had to move the pickup
command in the test case above the pattern definitions and document this parser quirk.
As of 0.05wip3,
pentlyas
supports an undocumentedfallthrough
command, allowing a pattern to continue into the next pattern. But this is defective because it doesn't take into account differences in the transposition base between patterns. @jroatch has provided a test case, with the following explanation:2016-02-03_fallthrough-tests.pently.zip