New Tool (2.8) Exponential Automation Plus

New tool for you guys. Quite a simple idea but I always find it hard to describe in few words…

(I will make some better screen shots at some point.)

If you open the GUI by right-clicking in the Automation area or parameter list and select Exponential Curve Tool you will get a window with a brief description and two sliders marked X and Lines.

At the most simple we have Lines=0 and it allows you to generate a basic curve based upon (Line/Pattern_Length)^X where X can be 0<16. Obviously X=1 will give you a linear line.

The Lines setting is used for a Ping Pong type effect. It will alternate between (Line/Pattern_Length)^X and 1-(Line/Pattern_Length)^X at a rate of Lines per side.

This is it with default setting of X=4 and Lines=1.

There is keyboard shortcuts available in Automation Editor window and context-menu entries in Automation Editor and Parameter List.


Should be easy:
(Sure I thought of something…)
Sorting out GUI to look better may be an idea. Plus I think the coding for getting the sliders and valbox working together may be a bit clunky…
Auto-generate toggle.
Min and Max percentage boundaries.
Pass keypresses on to Renoise.
Safety check for no parameter selected (selected_parameter=nil)
Automation/Pattern Command selection (can’t work in sub-lines so may be dropped?)

(I think a lot of these I just need to work out how to index which automation for a pattern is the one at EditPos.)
Add option set automation type (Current/Points/Linear/Curve)
Option to Clear before generating new.
Sub-line repeat option.
Generate over Selection range.

Pie in the sky
Give entry boxes for typing your own equation (with constraints of 0-1 output) for the two curves.

EDIT: Attach file ;)

Awesome, looks a bit like the stuff I’ve been trying to push in dblue’s automation from notes script originating thread ( Automation Envelopes Based On ... )! :drummer:

Will try this one NOAW!!!

edit feature request:

have a toggle in the gui that when enabled, automatically generates a new envelope in the automation editor when changing a slider in your tool. I.o.w ‘auto update’ toggle.

Thanks, this looks very interesting!

I’ll have to have a look into how that may be possible. I believe the Document Node which is used to keep the slider and value display in sync works with an observable so may be able to attach something to this that triggers generate on a change…

The ‘generate custom wave tool’ has such functionality, maybe you can rip/check the tool for ideas :)

fun stuff thnx :)

hmm… I can’t seem to get this to work (using beta 6). I open the GUI fine, but pressing the “generate” button seems to do nothing for me even when changing the settings both on the tools and in the automation editor. Anyways it seems to be a great tool.


Any more details Sharku? I’ve only testing on Win32bit but as it’s only quite basics of the API can’t imagine different versions of Renoise would make any difference.

You do have the Automation lane in view and a parameter selected? If you have the name of a device selected (for eg) then obviously it wont do anything as it needs to know which parameter lane to write the automation to. But if you try doing that you should actually get an Error Message (attempting to index a Nil value - something I need to add a check for in the Tool.)

When you have your song playing and the mixer, sample keyzones or sample editor view open instead of the pattern editor, pressing generate won’t update the whole envelope.

If the song isn’t playing, it doesn’t matter and the envelope will update in any other tab then the pattern editor.

Hm, I understand, but the thing is, even when in pattern editor view, with automation editor open and focused, song stopped and edit mode on, it still generates nothing… Maybe I am seriously misunderstanding something here.

Stating the obvious here, but you need to select a parameter in the automation editor :) .

haha :) yeah, that I figuered out, still not working.


As long as Pattern_Follow = Off (another one I should probably add to the code to read, set and return) then it always generates it for me, no matter what is on display and not matter if it is playing or not. Don’t even need the Automation in view.

If Patter_Follow=On and you are playing it will not though, as EditPos is tried to PlayPos and it records the values at EditPos.

Right, now I got it:) sorry for the nagging. problem was the button that makes it makes automation go into the effect column was ticked off, so nothing happened in the automation window… sorry for inconveniencing and thanks for helping the blind:)

Ahh yeah, it is using the MIDI Record API function, so if Renoise is set to record to Pattern Editor then the values will get recorded in there. Didn’t think about that :)