Bypass/Activate effects via MIDI

I know its possible to bypass/activate an effect using the columns in the effect column;

x000 - Turn effect x off.
x001 - Turn effect x on.

How about using midi? It is not selectable when MIDI MAP is turned on.

Looking at the manual, it says that OSC has this function:


Set the bypass status of a device [true or false].
(XXX is the device index, -1 chooses the currently selected device)

Is it possible to make an OSC object that will receive midi and will bypass/activate the fx?

I would greatly appreciate help with this!
midi error

Probably easier with LUA. For the selected device, as you mention the same, you can just use: = true = false

to turn it on and off.


to access any device in any track.

Although I would say this is a worthy suggestion for adding to the native mappings! ;)/>

No, but you can receive midi in Lua and write a function that performs this bypass on effects for you. The enable/disable options for effects have an API call in Lua.

From the documentation:[].devices[].is_active, _observable  
 -> [boolean, not active = 'bypassed']  

Consult the Renoise.midi.API.lua for listening to midi devices and their message intepretation, then translate this to bypassing/enabling a track device or more track devices.

Thanks for the help, my problem is where do I type this code…and how do I make a useable device??

Cheers; I have found the code and file you mentioned in the scripting editor. I have no idea where to put it though!

I wouldn’t have guessed that this is not available!! Only the “currently selected device” can be en/dis-abled

I’m not sure what you are aiming at…[1].devices[3].is_active=false
works fine if there is a device 3.
You can’t disable the vol/pan device (device 1) but any other device can be bypassed.

Have you enabled the scripting terminal & editor?
Close Renoise, then edit:
Make sure the below line exists or is set to true.


Then open Renoise, go to “Tools” menu and click Scripting terminal & Editor.
Click “file”
Click “~Create new tool”
Edit basic properties and titles
Start goofing around with the example code that is inserted in your new created tool.
Then start to copy parts from the snippets into your own test tool.

download some midi related tools from to see what and how they do it to get a jump start.

Yeah, I got that far. I have just learnt about the testpad.lua file which has helped alot. I might write an introduction to toolmaking after this; its a steep learning curve!

Anyway, now I can listen to midi inputs and using the code above, toggle the state of an effect. Ideally I want the user to choose x effect on y channel from z midi input in the interface.

eg. Effect 2, Channel 7, MidiCC 18

It may look steep, but if you know where to find the information, it is not that hard.
For the GUI, you can select the Example tool GUI snippets in the tools menu to learn how the GUI objects are build. You can easily copy/paste snippets from that source into yours.

The basic learning steps for scripting is simply starting here:

Yeah, the GUI is a long way off. To be honest, I don`t really have the time or motivation needed to make this myself. I want to use renoise to make music!! I have seen you midi management console, can you help in any way with the midi side??

I would like 8 cc messages to trigger the effects to be on (value 0) and off (value 127).

I would gladly help you if i had the time, i would probably already have given you a workable snippet.
Unfortunately i’m with my head in another programming project currently and i need the concentration for a longer while.
I’m just taking breaks here and there, but not to put my mind on other programming stuff, i hope you can understand :).

No problems, I understand. Here is the reason I want to do it…

The X and Y axis on the joystick send midi cc messages to Renoise. Each time a button is held a different cc value is sent, making up to 16 cc changes at any one time. All the data can be recorded into track automation.

The arrow buttons on the top of the stick toggle playback, recording and looping, so you can form a track in the moment and record everything just using the joystick.

Each CC is hooked up to a hydra; which then goes to an XY pad to monitor all the data. There is also a configuration mode which sends only one cc value at a time.