I assume Merge and Mergefilter are both 0 ? If not, set them to 0.
To figure what's going on, try sending things directly to the DAW with commands like:
realtime('a')
realtime('xf07f7f0602')
Make sure that the DAW is at least getting something (i.e. so that it's not just a ports problem).
One guess is that the DAW expects a sysex to end with 0xf7 (even though that's strictly not necessary). To add an 0xf7 to a
message, use midibytes(), e.g.
a = 'xf07f7f0602'
a = midibytes(a,'xf7')
realtime(a)
I don't know why a direct connection would work, though, if this is the reason, unless something else in the path is adding the
0xf7.
...Tim...
which controller are you using with Keykit and are you using the GUI version
of keykit or only lowkey.exe? Some information why you had to use keykit
would be nice, e.g. I am using a BCR2000 (and in a few days also a Korg
Nano-Pad Black) but up to now I did not have any need to combine it with
keykit as there are other nice software tools like
1. BC Manager, http://mntn-utils.110mb.com/index.php?p=1_4_BCF2000-BCR2000
2. BCR Performer,
http://www.thecovertoperators.org/Max/MSP-Patches/bcr-performer-16
It is always interesting to exchange advanced level ideas in terms of
combining hosts/vsti's, controllers and midi.
Kind regards,
Tony
A controller message consists of 3 bytes. Your statement:
> n = midibytes(n)
constructs a midi message of only 1 byte. If you want to construct a controller message for channel 3, for controller 4, with value
55, you can use the controller() function:
m = controller(3, 4, 55)
controller() is a user-defined function in lib/basic2.k, which uses midibytes:
function controller(ch,controllernum,val) {
p = midibytes(0xb0 | (ch-1), controllernum, val)
return(p)
}
Note that the channel values you give to controller() are 1-16 (not 0-15).
...Tim...
maybe you can help me on this?
The MMC SYSEX-if-case below works fine,
But I have problems with a 'simple' controller movement:
I have eight controller-wheels that should just pass their input to my daw.
Here's the extract:
if (n.type == CONTROLLER){
cnum = integer(subbytes(n,2,1))
print(n)
if (cnum >= 30 && cnum <=37) {
n = midibytes(n)
realtime(n)
}
}
if (n.type == SYSEX){
cbyte = integer(subbytes(n,1,1))
if (cbyte == 240) {
n = midibytes(n, 'xf7')
realtime(n)
}
}
The print(n) gives me a 'xb01e7aP70t272,l0'
It also doesn't work when I pass n directly to realtime without the
midibytes(n)
Connecting it to my daw without keykit again works fine as in my first
problem with the mmc...
Any hint for it?
Thanks in advance!
Frank
-----Ursprüngliche Nachricht-----
Von: Tim Thompson [mailto:t...@nosuch.com]
Gesendet: Sonntag, 17. Mai 2009 00:39
An: su...@sinewave.de; 'KeyKit'
Betreff: RE: [keykit] Cannot use MMC buttons
Again, thanx a lot for your help!
frank
-----Ursprüngliche Nachricht-----
Von: Tim Thompson [mailto:t...@nosuch.com]
Gesendet: Freitag, 17. Juli 2009 21:34
An: 'Frank Biedermann'; 'KeyKit'
Betreff: RE: [keykit] Cannot use MMC buttons
> But I have problems with a 'simple' controller movement: