User manual - MIDIインプリメンテーション

30
16.3.9 blk : Block Number
1つのParameter Set内に複数のブロックが存在する場合、どのブロックを対象にしているかを指定する補助的
な番号です。
例えば、ミキサーのチャンネルのボリューム設定のように同じカテゴリの中に同じIDParameterが複数存在
する場合、何番目のブロックに属するデータかを指定するのに必要なBlock番号kkkkkkkjjjjjjjiiiiiiiB
(Binary)を表します。
Parameter Block2次元以上の配列構造を取る場合は、このBlock番号の21bitを以下に説明するようなルール
に基づき、所定のビットフィールドに分割して使用します。
Blockのビットフィールドの割り当て方
ケース1
配列のネスティングが3以下で、各次元の配列数が128以下であるときは、3つの7bitフィールドの下位
から割り当てます。未使用領域は0にしておきます。
例:
parameter[A][B][C]
A=8 (3bit), B=5 (3bit), C=10 (4bit),
といった3次元配列のパラメータではBlockのビットフィールドを
Block = 0000aaa 000bbb ccccccc (Binary)と割り当てます。
ケース2
ケース1の条件を満たさない場合は、各次元の配列数に必要な最小限のフィールドをBlockの下位ビット
から確保していきます。未使用領域は0にしておきます。
例1:
parameter[A][B][C][D]
A=3 (2bit), B=4 (2bit), C=3 (2bit), D=4 (2bit)
といった4次元配列のパラメータではBlockのビットフィールドを
Block = 0000000 00000a abbccdd (Binary)と割り当てます。
例2:
parameter[A][B]
A=3 (2bit), B=200 (8bit)
といった2次元配列のパラメータではBlockのビットフィールドを
Block = 0000000 000aab bbbbbbb (Binary)と割り当てます。
16.3.10 pkt : Packet Number
1つのParameter Setを転送するのに分割されたパケットの番号kkkkkkkjjjjjjjiiiiiiiB (Binary)を表
します。
16.3.11 prm : Parameter ID
Parameter IDはパラメータの種類を表すものです。(後述の「V Parameter List」参照)Parameter個別転送の時
に転送対象となるParameterをこのフィールドのParameter IDによって表します。
Format: 0iiiiiiiB (LSB) 0jjjjjjjB 0kkkkkkkB (MSB)
Format: 0iiiiiiiB (LSB) 0jjjjjjjB 0kkkkkkkB (MSB)
Format: 0pppppppB (LSB) 0qqqqqqqB (MSB)