OK, Jojo, would you like me to make the challenge of beating that? That will be quite difficult indeed!
Step 1: Get copying of pattern strings to work (as opposed to simply duplicating them) (if you havn't already) (Actually, I was going to make a post asking if you have done that anyway, but this topic distracted me because of the title.)
Step 2: Increase the sequential limit (beyond 65,000 even, as I am not sure that even 1,040,000 patterns would last for more than 1,000 years unless they were at the slowest speed and tempo) (actually, I did that, but I do not recall the length of the song, but I would imagine that it is not 1,000 years) (although that was just a test, so the patterns were blank except for one speed and tempo effect in the first row of the first pattern)
I suppose that it might also be challenging if the "no repetition" part means just that. What I mean is that my arrangements are combinations of two or more songs, so the songs just repeat until they meet on the last pattern. Alternatively, increase the row count (to about one googol?) How many patterns would that be? Hmm, let's see here… That would be 156,250,000,000,000,000,000,000,000,000,000,000,000,000,000,000,00
0,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000 patterns per a single pattern (assuming that all patterns are 64 rows in size)! How about to have one googol patterns fit into one… That would be 640,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,00
0,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,0
00 rows! I am not even sure that C++ would know what to do with that number. You would probably have to change the language completely to support a number like that!