Buttons to set up variables for different encoders

4 posts / 0 new
Last post
jaunmanuek
jaunmanuek's picture
Buttons to set up variables for different encoders

Hello,

I'm coding a preset control for the Waldorf rack attack using sysex encoders.

Since I have to control 24 different sounds for encoder actionediting,
I need to program a button that will set "a variable" that will be used by the encoders.

example:

button 1: when pressed var = 1;

encoder1: $f0 sysex.. 1 val $f7.
encoder2: $f0 sysex.. 1 val $f7.

button 2: when pressed var = 2;

encoder1: $f0 sysex.. 2 val $f7.
encoder2: $f0 sysex.. 2 val $f7.

Is it possible to set that type of variable ?

Thank you,

Juanma

 

 

 

Mark van den Berg
Mark van den Berg's picture

In my understanding you're talking about the BCF2000/BCR2000 here, so I've moved this topic from the "General discussion" forum to the B-Control forum.

Is it possible to set that type of variable ?

I don't quite understand your example, but in any case it isn't possible to define an independent BCF/BCR2000-internal variable that can be "read" by buttons/encoders(/faders).

The only way to make two or more buttons/encoders(/faders) affect each other is by "value synchronization", as discussed in section 14.9 of BC MIDI Implementation.pdf. However, that's probably not what you're after here.

Hope this helps,
   Mark.

jaunmanuek
jaunmanuek's picture

Mark, thank you for your reply.

I believe you partially understood my question but I add a new explanation:

The Waldorf parameters are changed via custom sysex messages I succesfully setup on encoders.
Since there are 24 sounds to receive 20+ parameters changes. I need a button to configure a "constant" that will show in the sysex messages.
If I choose sound 1 pressing button 1 with value = $1, all encoders will send the sysex strings containing that $1 value (related to sound selection).
If I switch to button 2, setting value = $2. The same encoders will now send the same sysex but the value $2 refering to the new sound 2.

This is easy on most programing languages, but I'm not sure if the BCL editor is capable of such operation, and I wanted to make sure with you.

Thank you for any help or ideas.

Juan Manuel

 

 

 

 

 

Mark van den Berg
Mark van den Berg's picture

Since there are 24 sounds to receive 20+ parameters changes. I need a button to configure a "constant" that will show in the sysex messages.

All I can think of is that you put each of these 24 sounds in a separate BCF/BCR preset (of which there are 32).
Then you can press the PRESET < and > buttons to navigate between the 24 sounds.

However, in this setup there is no connection between the definitions of the 24 sounds. That is: manipulating an element (button/encoder(/fader)) only outputs the value of the associated parameter in the selected sound, not in any of the other 23 sounds.
So an element cannot output a new value to the 24 sounds simultaneously, if that's what you're after. (Actually an element can output multiple SysEx messages, but an element's "custom output" definition can only consist of up to 125 bytes, which is not enough to define 24 SysEx messages. See section 14.6.6 of BC MIDI Implementation.pdf for discussion of maximum custom output definition length.)

But apart from this limitation, the BCF/BCR is pretty powerful in such a setup:
As described in section 19.3 of BCMI, upon preset selection the BCF/BCR can output a maximum of 125 hard-coded bytes ("LEARN output") defined for the newly selected preset, and also the preset's "snapshot", i.e. the current (standard + custom) output of all its elements.
For all the details on LEARN output, see section 13.7 of BCMI. And section 13.2 discusses snapshots.

Hope this helps,
   Mark.