|
|
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
|