我使用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指针。
我做错了什么?
答案 0 :(得分:0)
commandByCoalescingMSBCommand
documentation说:
此方法由MIKMIDI内部使用,以合并传入的14位控制更改命令。 它通常对MIKMIDI的外部用户没用。如果您只是想创建一个新的
MIKMIDIControlChangeCommand
实例,您应该使用简单alloc
/init
代替。