Global Parameter Record Flag For The Api

Global switch for recording automation via scripted actions (not user input)

Let’s have a global flag that, while enabled, will cause every automatable parameter in Renoise to automatically record automation data whenever the parameter value have been changed by means of the Renoise API.

Enable this to globally automate the output from tools that otherwise have no record functionality. Or just make it very simple for a script authors to roll their own logic, by turning the flag on, performing some changes, then turning it off again…

There is a “nearly” global flag, way of doing this. Its not really global because its only visible in the MIDI Mapping dialog and only applies to MIDI mapped controls right now:

“Record MIDI mapped parameters to automation” in MIDI Mapping dialog

The counterpart in the API is:

– renoise.DeviceParameter
renoise.song().tracks[].devices[].parameters[].record_value(value)

which will record automation, as soon as this MIDI mapping flag is set. Will also respect the users automation record mode (envelopes vs. patterns)


So we maybe simply need to move that option out of the MIDI mapping dialog - into the preferences?

Yes, I admit that I’ve hardly looked into the API commands for dealing with automation. I just remember that we were discussion this, and how nice it would be if the record flag was both global and automatic.

Just to clarify, here’s an example of how convenient it could work: as you know, I have made a tool that control the Renoise mixer (the Duplex mixer). Basically, the application is capable of changing the volume level of tracks (pre and post volume).

Now, instead of modifying the Duplex code to include calls to record_value() each time I set the volume of a track, I could simply open the console and set the record flag (or from anywhere else - since it’s a truly global flag), and the Duplex Mixer would automatically begin to record the values - but of course only those that are in fact automatable (for example, post volume isn’t automatable, so it will be skipped).

All you have to do is using record_value() for all parameter changes. No “if something” is needed. The global flag (which now only is in the MIDI mapping dialog) will decide if
record_value just sets the parameter value, or sets the parameter value AND records the value to automation or the pattern.

So the only problem is that the option is available in the MIDI Mapping dialog only and we have to move it out there to make clear that it also affects Duplex & Co.

Yes…it’s more of a global automation record mode that’s not limited to MIDI controllers anymore.

Currently, in MIDI mapping dialog: “my interactions with a MIDI mapped parameter will be recorded into automation”

Renoise API record flag: “any script running will (be able to) record automation - doesn’t need my interaction, the tool doesn’t even need to call record_value(), it’s happening automatically, in the background”

Like the global edit mode - the red border around the pattern editor? Basically we added that MIDI record flag to avoid binding it to the global edit mode. And now you want it back ;)

Yes, but your exclusive services are no longer needed to achieve this constant exchange of default habits. ;)