Skip to content

using the modulation parameters

Tristan Rowley edited this page Jan 29, 2020 · 12 revisions

Using modulation parameters

The newer branches by me (doctea) contain experimental modulation functionality, intended mostly to be used creatively with sources of external control like OSC and sound reactivity (but could be expanded on to allow for internal LFOs and other such fun).

How it works (experimental)

There are 4 'modulation parameters', numbered 0-3. Each of these stores a float from -1.0 to +1.0, this is the 'modulation value' and each modulation value is set using the recur actions modulate_param_0_to_amount_continuous through modulate_param_3_to_amount_continuous in a json_objects/osc_action_mapping.json or json_objects/midi_action_mapping.json file.

By default, modulation parameter 0 is selected. Switch to different modulation parameters using select_shader_modulation_slot_X where X is the parameter 0-3. Reset all modulations for the currently selected modulation parameter using reset_selected_modulation.

To set the currently selected modulation parameter's level for a shader parameter, use set_param_X_layer_offset_Y_modulation_level_continuous where X is the shader parameter number 0-3 and Y is the shader layer.

In recur, there are 3 shader layers, and each can run one shader at a time. Each shader has 4 parameters, numbered 0-4, making for a total of 12 controllable parameters. Each shader layer parameter now keeps a 'modulation level' for each modulation parameter. The average of all four modulation parameter values is applied to each shader parameter, according to the modulation parameter level respective to the parameter.

(todo: allow to map modulations by formulas, pre-entered and custom)

Check out the json_objects/osc_actions_mapping_APC Key 25.json file for an example of how I've mapped this to my controller -- I have it so that holding FN makes the knobs on my controller adjust the //modulation level// for the respective shader parameter, with some other buttons to select a different modulation parameter and to reset the existing one.

  • doctea 2020-01-29

just a reminder of some things i still need to do for documenting:

  • update dependances
  • update develop docs with info on new structure
  • update faq from questions in the fb group
Clone this wiki locally