I'm not sure what you are asking, and I suspect others may not be either. Do you want a one button send to something that puts it in Omni mode? Or do you want to switch all following BCF/R transmissions to the same thing on all 16 Channels? I don't think that you can do the later with a BCF/R but a MIDISolutions Event Processor would be able to do that (and could be switched by the BCF/R).
Reading your question I felt the same ambiguity as Richard.
But if you want to make a BCF/R element (button/encoder/fader) send the same MIDI message to all 16 channels, you can define what BC Manager calls a "custom output" statement. (Internally this works via a ".tx" statement.)
However, you should keep in mind that an element's custom output definition is restricted to 127 bytes.
Naturally, each "hard-coded" MIDI byte (except $FE in fact) takes up 1 byte, but e.g. the "val" identifier (standing for the element's current value) takes up 2. And a ".tx" statement itself takes up 2 bytes as well. (See section 14.6.6 in "BC MIDI Implementation.pdf" for further details.)
So if you want to duplicate one or more messages for each of the 16 MIDI channels, the definition for a single channel can maximally take up (127-2) div 16 = 7 bytes.
A MIDI Note On message consists of 3 bytes, and if these are all "hard-coded" (not containing "val" or so), the definition of the message simply takes up 3 bytes.
So a button has more than enough room for a "hard-coded" Note On message duplicated on all 16 channels.
For instance:
.tx $90 $40 $64 $91 $40 $64 $92 $40 $64 $93 $40 $64 ... $9F $40 $64
For an encoder, you'd probably want to do something with the encoder's value, so you'd need something like
.tx $90 val $64 $91 val $64 $92 val $64 $93 val $64 ... $9F val $64
Here each "val" takes up 2 bytes, so each message takes up 4 bytes, which is still well below the maximum.
You could, of course, create a new preset and combine messages to different channels either by system exclusive or multiple CC messages.
For instance, you could have a "Filter" preset with one row of encoders changing the each of the filter parameters of all 6 voices at once. Another row (or press one of the group buttons for the top row) to have messages for just the three odd channels, another row / group just the even channels etc.
The BC can have many MIDI messages on a single control.
You could then have a patch for each element (Osc, filter, amp, LFO etc) and swap between them.
I'm not sure what you are
I'm not sure what you are asking, and I suspect others may not be either. Do you want a one button send to something that puts it in Omni mode? Or do you want to switch all following BCF/R transmissions to the same thing on all 16 Channels? I don't think that you can do the later with a BCF/R but a MIDISolutions Event Processor would be able to do that (and could be switched by the BCF/R).
If you want to make a BCF/R
Reading your question I felt the same ambiguity as Richard.
But if you want to make a BCF/R element (button/encoder/fader) send the same MIDI message to all 16 channels, you can define what BC Manager calls a "custom output" statement. (Internally this works via a ".tx" statement.)
However, you should keep in mind that an element's custom output definition is restricted to 127 bytes.
Naturally, each "hard-coded" MIDI byte (except $FE in fact) takes up 1 byte, but e.g. the "val" identifier (standing for the element's current value) takes up 2. And a ".tx" statement itself takes up 2 bytes as well. (See section 14.6.6 in "BC MIDI Implementation.pdf" for further details.)
So if you want to duplicate one or more messages for each of the 16 MIDI channels, the definition for a single channel can maximally take up (127-2) div 16 = 7 bytes.
A MIDI Note On message consists of 3 bytes, and if these are all "hard-coded" (not containing "val" or so), the definition of the message simply takes up 3 bytes.
So a button has more than enough room for a "hard-coded" Note On message duplicated on all 16 channels.
For instance:
.tx $90 $40 $64 $91 $40 $64 $92 $40 $64 $93 $40 $64 ... $9F $40 $64
For an encoder, you'd probably want to do something with the encoder's value, so you'd need something like
.tx $90 val $64 $91 val $64 $92 val $64 $93 val $64 ... $9F val $64
Here each "val" takes up 2 bytes, so each message takes up 4 bytes, which is still well below the maximum.
Hope this helps,
Mark.
Awesome, Thanks Mark. What I
Awesome, Thanks Mark. What I needed to know.
Thanks Richard, sorry for my lack of clarity.
P
I'd like to jump in on this
I'd like to jump in on this thread.
First of all, many thanks for BC Manager. It helped turn my old synth into a powerhouse and I'm very appreciative.
said synth has 6 voices and now I can now independently adjust the 6 filters and LFO's and other parameters.
I have 6 identical presents on the BCR2000, one for each channel;
additional presets allow for tuning 6 differents filters simultaneously – or LFO's or whathaveyou. awesome : )
...and all very quick and easy to setup and edit of course....
it would however be amazing to be able to send any given control change to multiple - specific channels simultaneously.
....if it's possible, could i have a push in the right direction in terms implementing such a thing?.//
You could, of course, create
You could, of course, create a new preset and combine messages to different channels either by system exclusive or multiple CC messages.
For instance, you could have a "Filter" preset with one row of encoders changing the each of the filter parameters of all 6 voices at once. Another row (or press one of the group buttons for the top row) to have messages for just the three odd channels, another row / group just the even channels etc.
The BC can have many MIDI messages on a single control.
You could then have a patch for each element (Osc, filter, amp, LFO etc) and swap between them.
Royce
thanks Royce !
thanks Royce !
nice to know that's possible. you'd send many MIDI messages on a single control using 'custom output' messages?
I'm going to dig through the manual... tips welcome : )