User manual - AP-460MIDIインプリメンテーション
15.3.13 data : Parameter Data
Format: index0 0dddddddB (0eeeeeeeB) (0fffffffB) (0gggggggB) (0hhhhhhhB)
index1 0dddddddB (0eeeeeeeB) (0fffffffB) (0gggggggB) (0hhhhhhhB)
index2 0dddddddB (0eeeeeeeB) (0fffffffB) (0gggggggB) (0hhhhhhhB)
: :
indexN 0dddddddB (0eeeeeeeB) (0fffffffB) (0gggggggB) (0hhhhhhhB)
Parameter の値そのものを示します。
len + 1 で示された配列数だけ同じサイズのデータが繰り返し配置されます。
以下に示すように、1 つのデータの構成は、データのビット幅によって長さが異なります。
dddddB + 1 data の数
1 - 7 1
8 - 14 2
15 - 21 3
22 - 28 4
29 - 32 5
これらは下位バイトから下詰めで転送します。すなわち複数バイトにまたがるデータの場合、もっとも重み
の小さいビットは最初の data の LSB となり、もっとも重みの大きいビットは最後の data のうちの意味のあ
るビットのうち、もっとも上位に位置するビットとなります。
例えば 32bit のデータは下記のように分割されて転送されます。
7 6 5 4 3 2 1 0
data0: 0 [bit06] [bit05] [bit04] [bit03] [bit02] [bit01] [bit00]
data1: 0 [bit13] [bit12] [bit11] [bit10] [bit09] [bit08] [bit07]
data2: 0 [bit20] [bit19] [bit18] [bit17] [bit16] [bit15] [bit14]
data3: 0 [bit27] [bit26] [bit25] [bit24] [bit23] [bit22] [bit21]
data4: 0 0 0 0 [bit31] [bit30] [bit29] [bit28]
■1 つのメッセージのサイズ制限について
本機の System Exclusive メッセージ・フォーマットでは、1 つのメッセージのサイズが 48 バイトを越える
ことはできません。
しかしながら、データサイズと配列数によっては、1 つのパラメータ配列を転送する場合のパケットが 48
バイトを越える場合があります。
このような場合には、IPS や IPR メッセージの Data Length と Data Index Number の値を変更すること
によって、1 つの Parameter の値を複数のメッセージに分割して送信することができます。
36