Automatically generating "tonal" canons with music21 and scamp

hyper canon Sheet music for Piano (Mixed Ensemble) | Musescore.com
I made a canon in C major
Canon in C enigmatic Sheet music for Piano (Solo) | Musescore.com
And one with the enigmatic scale!
The problem with both of them is that the pattern is repeated way longer than necessary.
I had to cut the one in C major as it was so big it took like 4 hours to generate so it repeats one time just to be able to publish it on the site. Is there a way to generate just the necessary part? So I can make a really big canon with many voices. Also a problem, in each canon, the melody just goes up and up but I may want a descending canon or one staying in a certain range, is it possible to choose?