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

38
18 Parameter単体の操作
Parameter単体の操作は個別のParameterの転送と、転送リクエストの2種類の動作があります。
1つのセッションは、外部機器からのIPR(Individual Parameter Request)による要求に対して、本機が
IPC(Individual Parameter Change)を返送するか、あるいは外部機器または本機が自発的にIPCを送信するだ
けで完結します。本機がIPCを受信した場合は対応するParameterの値が変更されます。
また、本体に対してなんらかのコマンドを与えたりするのにIndividual Parameter Changeを使用したり、
た本体の何らかのステータス情報を調べたりするのにIndividual Parameter Requestを使用したりすることも
あります。
実際にどのようなParameterが転送できるかは後述のV「Parameter List」を参照して下さい。
19 Parameter Setの転送方式
19.1 通信方式
Parameter Setの転送は以下のようなメッセージのやり取りを使用したバルクダンプを使用します。
Oneway方式によるParameter Setの送信/受信
Oneway方式によるParameter Setの送信要求の送信/受信
Handshake方式によるParameter Setの送信/受信
Handshake方式によるParameter Setの送信要求/受信拒否/エラー通告の送信/受信
Oneway方式は、データの送信側がその受信側の反応を意識せずに、データを送信した時点でセッションを終了し
てしまう方式です。シーケンサなどから一方的に転送するのに適しています。
Handshake方式は、データの送信側がデータを送信した後に、その受信側の反応を確認してから次のセッショ
ンに進む方式です。無駄な待ち時間が発生しないという速度的メリットがあります。
(注意: Oneway方式のフォーマットは定義されていますが、本機では対応するParameter Setのカテゴリは存在
しません。これはフラッシュメモリへの書き込み所要時間が不定であるためにパケット間のインターバルを非常
に長く確保しなければならず、実用的な通信ができないためです。)
実際にどのようなParameter Setが割り当てられるかは後述のVI「Parameter Set List」を参照して下さい。
なおParameter Setのバルクダンプは、高速化の為に、Individual Parameter Changeのデータフォーマッ
トとは異なり、本体のメモリイメージをそのままの形で転送します。
1つのセッションでは1 つのParameter Setの転送が可能です。1つの Parameter Setのサイズが大きい場合
は複数のパケットに分割して転送することが可能です。その際の分割情報として
index
フィールドを使用します。
また、複数組の小さなParameter Setを転送する際にも、1 パケットで複数転送することはできず、必ず
Parameter Setの区切りがパケットの区切りとなるように転送します。
19.2 Oneway方式の通信フロー
1つのセッションはデータ受信側のBDR による要求送信または、データ送信側の BDSのデータ送信で始まりま
す。データ送信側が転送するParameter Setに依存したサイズを転送し終わると終了します。
データ受信側 データ送信側
IPR
送信要求
(
オプション
)
IPC
データ転送