MIKMIDI NRPN命令创建

时间:2016-11-07 14:48:54

标签: ios objective-c midi mikmidi

我使用MIKMIDI发送组合的NRPN命令。我正在尝试发送这种风格的NRPN

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

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;

但是它返回一个nil指针。

我做错了什么?

1 个答案:

答案 0 :(得分:0)

commandByCoalescingMSBCommand documentation说:

  

此方法由MIKMIDI内部使用,以合并传入的14位控制更改命令。   它通常对MIKMIDI的外部用户没用。如果您只是想创建一个新的   MIKMIDIControlChangeCommand实例,您应该使用简单alloc / init代替。