;;CRESS.CAL ;; (cressiendo) ;; Written By 蛞蝓なめちゃん, 1998/12/4 ;; odasan@ma.catv.ne.jp ;; 機 能 : Velocity を変化させて、Cressiendo を表現します。 ;; 使用法 : 対象範囲を選択して、本 program を実行します。 ;; Velocity 変化量を問合せてくるので、指定します。 ;; 初期値は +16 です。負にすると Decressiendo になります。 ;; 注 意 : 指定範囲をノートオンの位置で比例配分しますので、 ;; たとえば二分音符ふたつを変化量 16 で実行すると、 ;; 最初の音は +0、次の音は +8 になります。 ;; 書き換えた結果が 1 未満の場合は 1 に、128 以上の場合は ;; 127 にします。 ;; UNDO : 編集メニューの「元に戻す」で、「CAL(forEachEvent)」を ;; 取消せば、元に戻ります。 (do (int veloadd) (int velorange 16) ;; velocity 変化量初期値 (int leng) (int pos) (int ck) (= leng (- Thru From)) (getInt velorange "Velocity 変化量" -127 127) (forEachEvent (do (if (== Event.Kind NOTE) (do (= pos (- Event.Time From)) (= veloadd (/ (* velorange pos) leng)) (= ck (+ Note.Vel veloadd)) (if (> ck 127) (do (message "Velocity > 127") (= ck 127) ) ) (if (< ck 0) (do (message "Velocity < 1") (= ck 1) ) ) (= Note.Vel ck) ) ) ) ) )