getTimeRange <controller> [#selOnly] [#allKeys] [#children]
コントローラ内でキーによりカバーされる時間範囲を指定する時間間隔を返します。以下のシンボリック引数を使ってオプションを指定できます。
selOnly
: (トラック ビューで)現在選択されているキーがカバーする時間範囲を返します。allKeys
(既定値): コントローラ内のすべてのキーに対する時間範囲です。children
: サブ コントローラに一階層降りてから、全サブ コントローラ内のすべてのキーをカバーする総時間間隔を返します。setTimeRange <controller> [<interval>] [#linkToKeys]
時間範囲を既存のキーでカバーされていない間隔に設定します。範囲外メソッドが支配する場合は特に影響します。オプションの #linkToKeys
引数が指定されると、指定間隔の開始と終了時点のキーが時間範囲のアンカーとなり、それを移動するとコントローラの時間範囲が変更されます。
setTimeRange()
に引数 #linkToKeys
を 1 つだけ付けて呼び出すと、影響を受ける全コントローラ内の現在の開始および終了キーに時間範囲を設定します。
例
setTimeRange $box* #linkToKeys
これは、トラック ビューの[位置範囲](Position Ranges)モードの[範囲を再組み合わせ](Recouple Ranges)関数と同じです。
#linkToKeys
引数が指定されていない場合、影響を受けるのは指定されたコントローラだけです。#linkToKeys
引数が指定されている場合、関数はすべてのサブコントローラにも再帰的に影響します。supportsTimeOperations <ctrl>
コントローラが次の時間演算をサポートしているかどうかによって、true
または false
を返します。
deleteTime <controller> <interval> [#incLeft] [#incRight] [#noSlide]
指定された時間間隔をコントローラから削除します。その間隔内のすべてのキーを削除し、キーをその間隔の右にスライドし、その間隔の幅だけ左にスライドします (既定値)。オプションのシンボル引数により、次からオプションを 1 つ選択できます。
incLeft
: 間隔の開始時間にあるすべてのキーが含まれます。incRight
: 間隔の終了時間にあるすべてのキーが含まれます。noSlide
: キーを削除したギャップを埋めるために後のキーを移動しません。間隔にあるすべてのキーの削除のみを行います。<interval>
引数は、Interval 値として、または開始時間と終了時間を定義する 2 つの数値または時間値として指定できます。数値はフレーム番号として考えられます。
reverseTime <controller> <interval> [#incLeft] [#incRight]
指定した間隔内で時間を逆転します。つまり、間隔内でキーの時間的配置が逆転するように、キーを配置し直します。deleteTime()
の inclusion および interval 引数に関する注意事項がここでもあてはまります。
scaleTime <controller> <interval> <float_scale>
指定した間隔の中にあるキーの時間をスケールします。ここでも、<interval>
引数は、Interval 値として、または開始時間と終了時間を定義する 2 つの数値または時間値として指定できます。数値はフレームカウントとみなされます。
insertTime <controller> <at_time> <amount_time>
指定した時間に時間ブロックを挿入します。後にあるキーは、挿入した時間分だけ移動されます。時間は数値または Time 値として指定できます。数値はフレーム カウントとして考えられます。
次のスクリプトは、上記メソッドの例を示しています。
例
-- controller test bed 1 b=box height:10 at time 5 animate on b.height=50 at time 10 animate on b.height=100 bhc=b.height.controller bhk=bhc.keys supportstimeoperations bhc deletetime bhc 4 5 bhk deletetime bhc 4 5 #incLeft bhk deletetime bhc 1 4 #noslide bhk at time 5 animate on b.height=50 deletetime bhc (interval 5 8) #incLeft bhk at time 10 animate on b.height=150 for k in bhk do format "%:%\n"k.time k.value reversetime bhc 5 15 #incLeft #incRight for k in bhk do format "%:%\n"k.time k.value insertTime bhc 12 5 bhk getTimeRange bhc