TimeControl
v4.0
TimeControl オブジェクトは、クリップの Time Control プロパティです。これは、指定された Clip オブジェクトのタイムリファレンスを指定する際に使用されます。たとえば、このプロパティはクリップ長の一部をサイクル、バウンス、およびホールドするような、クリップエフェクトを追加する際に使用します。ClipEffects と同様、特定のクリップに適用した時間制御エフェクトが原因で、オリジナルのソースが修正されたり、そのソースからインスタンス作成されたその他のクリップが修正されることはありません。
このオブジェクトは、いくつかの時間制御パラメータに便利なアクセサリを提供します(プロパティページの[一般]と[外挿]タブにあります)。ただし、クリップタイプによっては、配下にタイムコントロールプロパティをネストしないものもあります(たとえば、オーディオクリップやアニメーションミキサなどです)。この場合、Clip によって戻された TimeControl オブジェクトは、パラメータへのアクセスを無効にします。
TimeControl オブジェクトのスクリプティングプロパティは、すべて読み込み専用です。ただし、TimeControl オブジェクトにポインタを使用して、ParameterCollection を介してそのパラメータに書き込むことができます(TimeControl オブジェクトが Property オブジェクトの特殊な一種であるため)。
#
# This example illustrates how to use the time control to trim an instantiated clip.
#
from win32com.client import constants as c
oRoot = Application.ActiveSceneRoot
oNull = oRoot.AddNull("myNull")
oPosX = oNull.Parameters("Posx")
# Create and connect a function curve to the position x
oFCurve = oPosX.AddFCurve2([1, 10, 50, 0, 100, 10], c.siUnknownFCurve)
# This value should be 10;
Application.LogMessage("The animated value at frame 1 is %f " % (oPosX.Value))
# Create the animation source
oSource = Application.StoreAction(oRoot,"myNull.kine.local.posx",2,"StoredFcvPose", 1, 1, 100, 0,0)
# Create the first clip
oClip = Application.AddClip(oRoot, oSource)
# Use the ClipIn read-only scripting property to print the inital ClipIn value
oTimeControl = oClip.TimeControl
Application.LogMessage("The clip in value is %f " % (oTimeControl.ClipIn))
# Now use access the ClipIn parameter via the ParameterCollection (Property.Parameters) to change
# the ClipIn value and print the new value
oTimeControl.Parameters("ClipIn").Value = 50
Application.LogMessage("The clip in value is now %f " % (oTimeControl.ClipIn))
# Now the value should be 0.
Application.LogMessage("The value after the clip manipulation is %f " % (oPosX.Value))
# Expected results:
#INFO : The animated value at frame 1 is 10.000000
#INFO : The clip in value is 1.000000
#INFO : The clip in value is now 50.000000
#INFO : The value after the clip manipulation is 0.000000 |