Dreadbox Nymphes Preset Question: Is it possible to distribute recurring CC lists to different controls/pages on the Electra?

Hi there,
I made a preset for the Dreadbox Nymphes a while ago that gets all parameters of a patch via a CC list dump when selecting a new preset on the synth.

So far, so good. The only thing missing in my Electra preset is reading the modulator part which sends the same 20 CC parameters four times in a row for different modulators like this:

CC 30 1 - stands for Modulator 1 (LFO2)
CC 31 64 - stands for Parameter 1 of Modulator 1
CC 32 1
CC 33 127
CC 34 5

CC 30 2 - stands for Modulator 2 (Modwheel)
CC 31 1 - stands now for Parameter 1 of Modulator 2
CC 32 0
CC 33 34
CC 34 127

So the only way to process the same CCs differently would be programmed conditions that then fill in the electra controls for every modulator status (on different pages), right?
And if I want to turn one of the specific controls of different modulators on the Electra, it should send first the modulator CC and then the parameter CC.

As I am still no good programmer - is this concept possible via LUA or even simpler via via JSON rules? Just need some green lights before I dig deeper…

Thanks for any hint from the more experienced users here :slight_smile:

Hmm, interesting.
AFAIK this is not a json case, but will need LUA.
This is how I would proceed:

  • Create all the controllers for those LFO’s, but assign them a parameter number that is outside of the CC range and define them of virtual type
  • use the midi callback midi.onControlChange to intercept any incoming CC-message. you quit the callback immediately unless CC = 30 or activeMod > 0.
  • when CC=30 you assign its value (1 or 2) to activeMod.
  • when CC=31…34 and activeMod > 0 you assign the value to its appropiate controller via the function parameterMap.set
  • when CC is outside of the expected range and activeMod > 0 then set activeMod = 0
    (this will work fine as long as you do not start tweaking the modwheel or other CC messages on the same channel, while Nymphes is busy transmitting modulator data)

For the inverse direction, you must create a user function sendModCC that you assign to each of the virtual controls. When such a control is changed, the sendModCC should then send out 2 CC messages via midi.sendControlChange. Based on the parameter of the control, the first CC should be CC 30 and the second one CC31…34 depending on parameter.

1 Like

Thanks for your brain @NewIgnis, that approach helps me a lot!
I will try that when I have time again :slightly_smiling_face: