Cannot use MMC buttons

3 views
Skip to first unread message

su...@sinewave.de

unread,
May 16, 2009, 3:51:27 PM5/16/09
to KeyKit
Hi again,

Keykit is really cool. Totally freedom for my controllers which now
perform better then ever!
Thanx a lot for this great tool!

Still one problem...

I am now trying to pass the transport buttons to daw, they send MMC
code.
It works with direct connection of controller and daw, but not through
Keykit.

keykit receives 'xf07f7f0602P67t9341, l0' and 'xf7P67t9341, l0'.
All signals go through to DAW except those... no signal-in flashing...

Tim Thompson

unread,
May 16, 2009, 6:39:22 PM5/16/09
to su...@sinewave.de, KeyKit
> I am now trying to pass the transport buttons to daw, they send MMC code.
> It works with direct connection of controller and daw, but not through Keykit.
> keykit receives 'xf07f7f0602P67t9341, l0' and 'xf7P67t9341, l0'.
> All signals go through to DAW except those... no signal-in flashing...

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...

su...@sinewave.de

unread,
May 17, 2009, 11:40:13 AM5/17/09
to KeyKit
Yeah! It works by adding an aditional 0xf7 !

> 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.
yes, it was added by the second command that i wrote - both commands
are generated when hitting each controller button once. I already
wondered why it was sending two commands...

Thanks. Appreciate your help!
regards,
Frank

Tony

unread,
May 17, 2009, 5:03:09 PM5/17/09
to su...@sinewave.de, KeyKit
Hi Frank,

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

Tim Thompson

unread,
Jul 17, 2009, 3:33:40 PM7/17/09
to Frank Biedermann, KeyKit
> But I have problems with a 'simple' controller movement:

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...


Frank Biedermann

unread,
Jul 17, 2009, 2:08:23 PM7/17/09
to t...@nosuch.com, KeyKit
Hi 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

Frank Biedermann

unread,
Jul 18, 2009, 1:08:01 AM7/18/09
to t...@nosuch.com, KeyKit
Yeah, it works!

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:

Reply all
Reply to author
Forward
0 new messages