starting at 1 is easy, just count 1..8. Starting at 3 means 3, 4, 5, 6 ,7 ,8, 1, 2. So you have to have a step count that maps to the actual UI numbering of 1..8 (based on starting position) so that you are reading knobs properly and writing output properly.
modulo will shift the start by the setting amount. Make it 0-7. Only shift the start at end of bar. Do it always (not random) unless set to 0, which is naturally no shift.
starting at 1 is easy, just count 1..8. Starting at 3 means 3, 4, 5, 6 ,7 ,8, 1, 2. So you have to have a step count that maps to the actual UI numbering of 1..8 (based on starting position) so that you are reading knobs properly and writing output properly.