Hi Kevin
If by your own you mean you wrote it so you can modify it, then this is really easy I think (I can see how to do it).
Ah ... re-reading (but I stand by what I have written below) ... was the problem getting the BCR and the desk software (presumably with its view on the current state) to be in sync? IE lack of parameter feedback. I think this is the "publisher-subscriber" design pattern? If so, I think you need some sort of merge or simply use the thing via USB with u3 mode to allow merge (but the real experts will jump in here since I may have misunderstood what you need ... sorry).
But if you have some COTS package, then what midi messages can it handle.
Basically, normal midi data packets only give 128 useful states.
Any high bit means status .. and these are all reserved!
So you have to spread your 256 over at least 2 bytes.
Or you accept half the resolution (ie read in a value [0, 127; 1] and double to -> [0, 254; 2]
So next, if you want all states you have two ways at least
1 - make some custom sysex
Sure .. each manufacture has their own identity. You can ask for this if you really want. Or search the web and borrow an unused on (you will only get trouble when someone really registers that ID or someone else is using the trick).
Then send you F0 00 0E ... <data> <data> <optional checksum> F7
Sure this is verbose and has a lot of midi bytes just to control 256 states. But see the beauty is you can create CMDs and sentances.
2 - Use the NRPNs
These A14 can store up to 14 bit (16383).
Do yourself a favour ... avoid -ve ones!! They dont exist and you will be building hardware to fix this mistake!!
The only disadvantage I can think to this approach is NRPNs can clash.
That is unlike a properly registered sysex ID, AKAI can use NRPN address 12 to mean waveshape, say, and Yamaha could use it to mean portmento.
Now, if these beasts are both connected to your midi out ... they both potentially respond to the message.
Whereas the ought not respond to the same sysex cos it is selective
Sorry if I misunderstood your requirement but it does sound quite easy nowadays. Please send more details on any specific requirements.
Regards
Steve H
--- In bc2000@yahoogroups.com, "KGrumball" <kevin@...> wrote:
Show quoted textHide quoted text
>
> I have my own lighting desk software and would like to use my BCR2000 as a control surface. When I investigated this a few years ago, I struggled to do something really simple, which is to set the value of one of the LED knobs.
>
> What I want to happen is that when I load a scene, I can set all the knobs to the stored values for the lights in that scene and to have those values reflected in the LEDs. Then, if I turn a knob, I want messages from the controller to my software and for the LED to update accordingly. The values range from 0-255 for each lamp.
>
> I recall that this was very difficult to actually get to work, but I wondered if it had been solved by any firmware updates or improved knowledge of the protocols.
>
> Regards
> Kevin
>