They could be written in Java. You would just need a Java Midi library and that library would need to be able to handle the multiple inputs to merge the keyboard and BC and the synth in and outs.
So it either needs to be multi threading and poll the midi drivers or be able to have a callback function.
I don't write in Java but assume this is possible.
Ctrlr sounds interesting.
All the best
Royce