0

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 ポインターを返します。

私は何を間違っていますか?

4

1 に答える 1

0

commandByCoalescingMSBCommandドキュメントには次のように記載されています。

このメソッドは、受信した 14 ビット コントロール チェンジ コマンドを結合するために、MIKMIDI によって内部的に使用されます。通常、MIKMIDI の外部ユーザーには役に立ちません。MIKMIDIControlChangeCommand単純に新しいインスタンスを作成しようとしている 場合は、代わりに単純なalloc/を使用する必要がありますinit

于 2016-11-07T15:09:26.350 に答える