Link a Macro from the instr. Editor with a slider of tool

Well, there is one thing that would be bestial if it were available.

It is about being able to link a Macro of the instrument editor to an object of a window instrument (slider, rotary, valuebox …). This would allow to automate the tool.

My question is. Is there currently any way to do this?

I have never investigated this field, but it would be a very appetizing toy to create tools.

This should work in such a way that, if the tool does not exist or is not loaded, the automated parameters or curves would move the macro, but would not do anything.

It would be great to be able to do all this. Any suggestions?

-- renoise.InstrumentMacro

-------- Functions

-- Access to a single attached parameter mapping by index. Use property
-- 'mappings' to query mapping count.[].macros[]:mapping(index) 
  -> [renoise.InstrumentMacroMapping object]

-------- Properties

-- Macro name as visible in the GUI when mappings are presents.[].macros[].name, _observable 
  -> [string]

-- Macro value.[].macros[].value, _observable 
  -> [number, 0-1]
-- Macro value string (0-100).[].macros[].value_string, _observable 
  -> [string]

-- Macro mappings, target parameters.[].macros[].mappings[], _observable
  -> [read-only, array of renoise.InstrumentMacroMapping objects]

It seems that it is possible :slight_smile: I think I’m going to have a lot of fun with this.

It just have to synchronize the macro with the object. Has anyone played with this possibility with any tool?

But I don’t know if the observable macro value will be fast enough to obey the pattern editor parameter that governs the macro. It should be in real time. Otherwise, very fast reproductions will skip some parameters when reading the lines.

Not 100% what you’re getting at, you mean like making it possible to “automate” a tool slider/rotary?

Some viewbuilder controllers you can actually bind directly to internal renoise observables, with the bind parameter if you want two way communication without gate checks, for some reason. I’d suggest it’s often most practical doing it via your own custom observable, so you can attach any notifiers you want to it. A little bit depending on what kind of ‘duplex’ and functionality you need.

Also… even though value changes are “realtime”, they are also linear/sequential in one way or another. So, for example, you might (likely) find out that a note-play has already ‘happened’ when an automation point is happening which in turn tries to change the note in the pattern editor - a little too late.

EDIT: but yeah it’s a little bit interesting. Now, if I remember correctly you can’t access doofered devices freely and attach notifiers to them (? might be wrong, don’t torch me). Otherwise I’d imagine something like making a neatly packaged doofer that thanks to clever formula devices and notifiers does very specific/custom things to some instrument or phrase parameter/mechanics. I don’t remember exactly everything that’s possible with Renoise, but I’m keen on checking if you could theoretically play a proper chord with phrases and something like a “2147” effect on just one root note.

It would be really neat to make all of the parameters in Renoise that are available to modulate to be able to be connected to a knob or slider. Doing so would greatly increase the amount of modularity. Removing the limitation of 8 knobs per Doofer/effect/etc. and allowing for ALL possible modulation possibilities (talking sample Start/Stop, time-stretch, and others).

Wanna build a custom Doofer? Grab a knob or slider from a menu (wherever it is), and assign it. Eventually, you’d have your own modular creation.

Paired with Renoise’s amazing sequencer, you could come up with nearly any/all sounds you’ve ever wanted. Of course, less whatever is missing.