2016-11-07 102 views
0

我使用MIKMIDI发送组合的NRPN命令。我试图发送这种风格MIKMIDI NRPN命令创建

B9H 63H 40H || B9H 62H 64H || B9H 06H 7FH (hex)

这是一个NRPN

B9 99 64 || B9 98 100 || B9 06 127 (dec)

我尝试创建这样

// create the MSB and LSB command 
MIKMutableMIDIControlChangeCommand *msb = [[MIKMutableMIDIControlChangeCommand alloc] init]; 
msb.channel   = 9; 
msb.controllerNumber = 99; 
msb.controllerValue = 64; 
MIKMutableMIDIControlChangeCommand *lsb = [[MIKMutableMIDIControlChangeCommand alloc] init]; 
lsb.channel   = 9; 
lsb.controllerNumber = 98; 
lsb.controllerValue = 100; 
// compose the full command 
cmd = [MIKMutableMIDIControlChangeCommand commandByCoalescingMSBCommand:msb andLSBCommand:lsb]; 
cmd.channel   = 9; 
cmd.controllerNumber = 6; 
cmd.controllerValue = 127; 

但它返回一个零指针。

我在做什么错了?

回答

0

commandByCoalescingMSBCommand documentation说:

此方法由MIKMIDI内部使用,以聚结传入14位控制改变命令。 MIKMIDI的外部用户通常不会有用。如果您只是试图创建新的实例,则应该使用普通的alloc/init

+0

是的。我读过。但我认为我可以用这个命令来做NRPNs。好的,将单独完成所有3个命令。谢谢 –