OSC missing commands and documentation thread

I’m pleased to use what is already available in the Open Sound Control of Renoise.

I’m having fun jaming with renoise controlled by Max/MSP in a stuttery way.

The Block loop size OSC command would be a nice addition to the others. It is missing at the moment.

We can actualy control the loop block backward, forward and turn it on or off.

I can MIDI map the block loop size as a workaround but it would be nice to have it all in OSC …

Also, I didn’t find a lot of ideas and suggestions on the forum about OSC regarding Renoise, I would be pleased if people wanted to share their experiences and suggestions in that thread…

:drummer:

The Block loop size OSC command would be a nice addition to the others. It is missing at the moment.
We can actualy control the loop block backward, forward and turn it on or off.

Doesn’t /transport/loop/sequence do what you want?

I can MIDI map the block loop size as a workaround but it would be nice to have it all in OSC …

Also, I didn’t find a lot of ideas and suggestions on the forum about OSC regarding Renoise, I would be pleased if people wanted to share their experiences and suggestions in that thread…

I’ve written a few posts about using OSC with Renoise (scan the list of recent posts for OSC stuff: http://neurogami.com/blog/) and usually announce new stuff on the Renoise forums.

I’ve been writing some OSC-based tools for Renoise: https://github.com/Neurogami/renoise-ng/tree/master/lua

I’ve also written an OSC book: http://osc.justthebestparts.com/

When I started using OSC with Renoise I was adding my own custom handlers to GlobalOscActions.lua. Then i got intersted in tools because that makes it much easier to share the work with others.

My OscJumper tool has been steadily growing, to the point where I either need to rename it or work out a decent way to split things apart.

So as to not lose access to the built-in Renoise OSC server the tool accepts all OSC messages on its own port, and will proxy all /renoise/* messages to the built-in Renoise OSC server. I’ve also added an OSC client so that the tool can talk back.

Something I’ve been playing with lately is adding OSC notifiers via renoise.tool():add_timer.

This allows, for example, a song to constantly inform an OSC client (written in pd or MAX or Processing or Ruby or whatever) of the current sequence pattern. The OSC client can then in turn send commands back to Renoise based on where it is in the song: set new loops, turn looping on and off, alter volumes, mute/unmute tracks, etc.

It’s great fun and I’ve gotten tremendous help here for my myriad OSC and Renoise API questions. I think most of those OSC discussion have taken place in the Scripting API forum.

Thanks a lot for your references Neurogami, I’ll have a look at your work for sure and I’ll go in the Scripting API to look further about OSC discussions.

For tonight, I wanted to change only the Block size loop and not the sequence one…

I opened the GlobalOscActions.lua and understood how things works! I managed to add my Block Size OSC command by myself!! What a proud me!

–******************************** /transport/loop/lock_range_coeff (block size)
add_global_action {
pattern = “/transport/loop/block_range_coeff”,
description = “Block loop size, number, 2-16”,

arguments = { argument(“blockSize”, “number”) },
handler = function(blockSize)
song().transport.loop_block_range_coeff = clamp_value(blockSize, 2, 16)
end
}

For tonight, I wanted to change only the Block size loop and not the sequence one…
I opened the GlobalOscActions.lua and understood how things works! I managed to add my Block Size OSC command by myself!! What a proud me!

Sweet!

I found it fairly easy to get starting hacking around on things. I’ve many years of programming experience, but had done essentially zero Lua coding. It’s a really nice language, conceptually quite clean.

I found some of the Renoise API docs less than clear, but figured out a number of things by looking at other tools and asking (possibly dopey) questions here.

It’s a great community.

The more I hack on Renoise the more Lua I learn, which in turn gives me ideas for hacking on Renoise.

Just be sure to edit your own copy of GobalOscActions.lua and not the installed copy so as not to lose any changes when you update Renoise. (My apologies if I’m stating the obvious.)