CAL Reference<CAL簡易リファレンス>

イベント変数
CAL関数リファレンス プログラム紹介1

[プログラム制御] [変数宣言] [演算子] [イベント変数] [バッファ関数] [時間変数] [入出力関数]
イベント・パラメータ変数
(forEachEvent)範囲内のイベント・データのパラメータ情報を取得&編集する重要な変数です。この変数は初期から定義されていますので、変数宣言をする必要はありません。ここでは簡単に紹介します。詳しくはリファレンスマニュアルを参照してください。
Event.Chan
編集中のイベントのMIDIチャンネル情報です。
範囲:0〜15
Event.Time
編集中のイベントがデータとして配置されている時間です。(※変数タイプは'dword'固定となります。)
Event.Kind
編集中のイベントの種類を取得します。イベント種類の取得はCALで重要な要素となります。
イベントの種類:「NOTE・PATCH・CONTROL・CHANAFT・KEYAFT・WHEEL・SYSX」
Event.Kindの詳細
イベントパラメータの取得&編集を行います。通常、Event.Kindで編集中のイベント種類を確認を行ってからパラメータの編集を行います。
Note.Key
イベントの種類:NOTE
ノート・ナンバー(音の高さ)を設定します。
範囲:0〜127(中央のC=60)
Note.Vel
イベントの種類:NOTE
ベロシティー(音の強さ)を設定します。
範囲:0〜127
Note.Dur
イベントの種類:NOTE
デュレーション(音の長さ)を設定します。
範囲:0〜65535
Control.Num
イベントの種類:CONTROL
コントローラー・ナンバーのパラメータです。送信するコントローラーの種類を設定します。
範囲:0〜127
Control.Val
イベントの種類:CONTROL
コントローラーの送信する値を設定します。
範囲:0〜127
Wheel.Val
イベントの種類:WHEEL
ピッチベンドの送信する値を設定します。
範囲:-8192〜8192
<例>
ノートイベントを確認してパラメータを設定します。
(do
 (int k 60)
 (int v 100)
 (forEachEvent
  (if (== Event.Kind NOTE) ; イベント種類の確認
   (do
    (= Note.Key k))        ; ノートナンバーを60に設定
    (= Note.Vel v)         ; ベロシティを100に設定
    (= Note.Dur TIMEBASE)  ; 長さをタイムベースに設定
   )
  )
 )
)



[プログラム制御] [変数宣言] [演算子] [イベント変数] [バッファ関数] [時間変数] [入出力関数]
CAL関数リファレンス プログラム紹介1

Copyright (c) 1998-2008 Toy's Music Room All Right Reserved.