Pattern Indication

Started by Really Weird Person, May 19, 2007, 16:51:14

Previous topic - Next topic

Really Weird Person

Something that I thought of that I think would be nice is pattern indication. This is what I mean.

Estimate for playback time at order 4(pattern 5), row 64 (pattern 2): 0 minute(s) 7.68 seconds

What the pattern indication (based on 1, not 0) would allow is a user to know precisely how  many patterns the song has (taking into account number of rows, special effects (such as pattern breaks and x-parameters). An example of taking into account pattern breaks x-parameters might be like this.

Row 736 (pattern break) (pattern 28), row 737 (x-parameter) (pattern 28), row 769 (pattern 29)

Basically, it should consider each set of 64 rows (1 - 64 (or 0 - 63, as computers like to view it)) = 1 pattern (pattern 1)), 65 - 128 = pattern 2, 129 - 192 = pattern 3, 193 - 256 = pattern 4...If a pattern is less than 64 rows, the indicator should not move to the next pattern. What this means is that if pattern 8 is 32 rows, when you move to row 33, you should still be in pattern 8, not pattern 9. However, if there is a pattern break on row 33 to move to pattern 9, the indicator should tell you that. What this means is that the indicator should not tell you that you have changed patterns on a row in the same pattern (i.e. row 32 of pattern 8 moved to row 33) (when the song is paused or stopped), but instead move to the next pattern and indicate that you are on pattern 9 (when the song is playing). What the (when the song is paused or stopped) and (when the song is playing) parts mean is this.

If you move to a new row when the song is paused or stopped, the indicator should tell you that. For example, you are on row 48 or  pattern 5, you have a pattern break to move to pattern 6, but you move to that row instead of the next pattern (6), the indicator should display that you are still on pattern 5 instead of pattern 6.

If the song is playing and you reach a pattern break, the indicator should display the next pattern number (i.e. row 32 of pattern 4, pattern break to pattern 5 present on row 33, display of pattern 5 on the next pattern instead of pattern 4).