Cycling through a list with local repetition

I’d like to simulate a radio station in the background of my game. I want to have a selection of random text that I can cycle randomly through (like the [in random order] substitution) but I want each one to play for a certain number of turns (maybe 2 or 3) before moving on to the next.

I know I could just hard code the repetitions by eliminating the random order, but is there a more elegant way?

I think you’d be best served by tables of tables. You’d have one table containing the table names of various radio stations, and then each of these radio station tables contain their own texts. You switch stations by just switching rows in the main table.

And have an every-turn rule that keeps a counter. Two counters, I guess – every N turns it advances the table row counter.