these modules I've just written to enable me to control several axoloti's with lots of internal controls from just a single midiCC control mapping of the beatstep pro. As it's a project-under-construction, I won't yet, or maybe not at all, upload the modules to the library. So if you have a beatstep pro and want to be enlarge your control capabilities, just load this project and use it's modules. Note though, you'ld probably need a book with diagrams to remember which control is which... Still though, if used well, you'ld come a far way using only the randomise, load,save,copy,paste,mix features of the edit module! So, you could also skip the whole midi-control receive thing and have a blast randomising and mixing presets.
For this to work create a beatstep pro control mapping like:
-all controllers to channel 16 (encoders, buttons, pads)
-encoders: midiCC 1-16
-buttons: midiCC 17-32
-pads: midiCC 33-48
the upper left two encoders control:
-midiCC1=the device selection (up to 6 midi devices internal/usb/din/host and their own midichannel)
-midiCC2=the control layer (46 controls per layer. up to 128 layers. all layers are stored in a single table)
for each layer, all the other controllers (3-48) control their own position in the layer, but send their value to another layer and device depending on the selected layer using midiCC2 and selected device using midiCC1.
To enable this, 4 modules are used:
1- the main midi receive module that receives the midi from the beatstep pro and sends it's midi thru to the right device and control layer in that device. Only if you also select "internal" device for one of the devices, you need to add the modules below. Otherwise the other modules will go into the patches of the receiving devices.
2- the device table module receives this data and sends it to the right layer and position inside the table. This only needs to be added once to a patch in a device that receives data from the main receive module (above). As it's up to 128 layers of 46 controls, I don't think you'll ever need a second..
3- the table-read modules are then used as "knobs". Each reads from it's own fixed position in a fixed layer. Updating the position in that layer with another value, updates the output value of the module. min/max values set the range of the "knob" output. These modules can be connected to your modules to control them eg. oscillator, filter, effect, etc.
You can also read out a part of a layer using a sequencer and table read modules.
4-as this internal table won't be saved together with the patch, it needed a preset load/save module. Next to this, due to the 7-bit nature of midi, this would only allow stepped values. So I added some more functions to alter the control table:
-copy/paste the device table into an internal "copy" table for adjusting/undo functions
-instant randomise device table
-mix device table with a randomised internal table (allows for small offsets of the stepped midi in the device table)
-save device table to SD-card to save presets
-load table from SD-card into an internal preset table and mix it with the device table (allows for morphs to the next preset, though this would some more external modules)
As all the midiCC's of the beatstep pro are already in use, this means these morphing/editing functions should be done from another midi controller or be controlled from the hardware inputs of the axoloti (unless you don't use the midiCC receiver module and just use the edit module to randomly create, load, save and mix presets)
midi split and send to layers.axp (46.6 KB)