Osc Block Loop Length


I am setting up some OSC controls via MaxMSP. I can control block loop on/off and moving the block forwards/backwards.

Is there a way to adjust the loop length I.e. 1//4 to 1/2 etc… via OSC. There is not one listed in the OSC menu.

I have heard about programming in Lua and I am guessing I could set this up myself with that if it doesn’t exist but I have absolutely no experience with Lua.

Any advice appreciated!

You can’t set the precise start, only specify the coefficient and move the block back and forth.
The coefficient can go from 2 - 16, and is the pattern length divided by this amount.

The blockloop is restricted to lines that match the coefficient, so if the pattern has 64 lines, and you want to loop 1-32, specify a coefficient of 2 (64 total lines divided by 32). But if you want to loop lines 16-48, that is not possible because a block-loop with a coefficient of 2 will only start at line 1 and 33

There’s several strange things about blockloops : when you enable one, it will occupy the space as near to the current edit position as possible, and when you decouple playback follow it will not respond to changes while you’re in another pattern than the one with the block-loop. In short: you probably want to enable playback follow at all times when you’re manipulating the block loop.

thanks. that’s great and clears a lot up of what I was thinking about.

Do you happen to know the specific OSC code for me to change this and specify the coefficient? As the only OSC messages I can find are boolean on/off and back/forwards movement?

Or can I adjust within one of these messages?

Sorry, learning Renoise and OSC at the same time is a bit of a silly idea I know!

This is pretty straightforward, as you can roll your own OSC codes by editing the GlobalOscActions.lua file :

I looked inside it, and it contains entries like this one:

add_global_action {   
 pattern = "/transport/loop/block_move_forwards",   
 description = "Move loop block one segment forwards",  
 arguments = nil,  
 handler = function()  

You probably want to create a new, similar entry that modify renoise.song().transport.loop_block_range_coeff instead of calling the move_forwards() method

im trying to do something similar with the osc_excample Vv posted in another thread

but im having a hard time getting the block forward and block backwards to work

do i need to edit/put some code into the GlobalOscActions.lua file??