Loop Selection (Within Pattern)?

Is there a way to loop the selected rows within a pattern? I don’t see anything obvious in the keyboard shortcuts, but maybe I’m missing something…
(if not, this would be handy to have)


It would be possible to write a Tool which would do it, although far from perfectly due to the API only working at the rate of the GUI, and I did start making some notes on what would be required but I’ve been far too busy to actually start any code and tidying up and properly publishing my (half done) other tools before starting anything new.

Here ya go. :)
3183 com.kmaki.LoopPatternSelection_Rns280_V1.xrnx

This was done quickly, so not much real-world usage yet. So the ergonomics of this tool could be off. It’s basically a toggle, and I’m still wondering if that was the right approach.

BUT: Anyone willing to build from this, take all you can rip off and run!

WAIT. did I get at all, what you were asking? I reread kazakores msg, and I’m starting to think you meant a way to adjust the loop into selection in real time. Which, obviously, my tool does NOT do.

Yeah I was thinking realtime, although reading the selection on toggling the tool on isn’t a bad idea and would probably use less resources.

Can’t remember my exact thinking about the process but I know the idea was to only loop if the track the cursor is in has a selection in it. Then you only need to scan/observe that one track, not the entire pattern (I don’t know if you can watch for change of selection actually) and thus hopefully save at least a little resources that way. (Even if not changing track and back to take update could of even been a usable workaround.)

Actually I think my idea was to compare song_pos.line (or is it renoise.song().transport.playback_pos or are they the same?) against renoise.song().selection_in_pattern (I assume .line) Actually looking at that it would maybe be easier on CPU to ignore looking to see if the current track has a selection although I think in many ways it’s better if it does.

You can easily make selections across the entire width of a pattern by (with mouse at least) by dragging to make your selection on the line numbers either side of the pattern.