2016-11-07 2 views
0

MIKMIDIを使用して結合NRPNコマンドを送信します。私は、このスタイルMIKMIDI NRPNコマンドの作成

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

のNRPNを送信しようとしています私はこのよう

// 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; 

を作成しよう

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

しかし、それはNULLポインタを返します。 。

私は間違っていますか?

答えて

0

commandByCoalescingMSBCommand documentationは言う:

この方法は、入ってくる14ビットのコントロールチェンジコマンドを合体する、MIKMIDIによって内部的に使用されます。 MIKMIDIの外部ユーザーにとっては一般的に有用ではありません。 MIKMIDIControlChangeCommandインスタンスを新規作成する場合は、代わりにalloc/initを使用する必要があります。

+0

yep。私はそれを読んだ。しかし、私はこのコマンドでNRPNを行うことができると思った。 3つのコマンドを別々に実行します。ありがとう –

関連する問題