It's a pain really:
# Begin Python
from win32com.client import Dispatch
si = Application
log = si.LogMessage
sel = si.Selection
def findParamClipFCurve(param):
"""Returns a collection of fcurves that drive this param."""
drivingFCurves = Dispatch("XSI.Collection")
drivingFCurves.unique = True
source = param.Source
if source.Type == "Mixer":
clips = source.Clips
for eachClip in clips:
model = param.Parent3DObject.Model
paramRelativeName = param.FullName[len(model.Name) + 1:]
for eachItem in eachClip.Source.SourceItems:
if eachItem.Target == paramRelativeName:
drivingFCurves.AddItems(eachItem.Source)
return drivingFCurves
fcurves = findParamClipFCurve(sel(0).PosY)
log(fcurves.Count)
# End Python
On Wednesday, July 16, 2014 1:16:23 PM, François Painchaud wrote:
Calling all scripting experts...
From a parameter object (a shape weight for example), how can I
retrieve the fcurve animating this parameter, knowing that this fcurve
is stored in a mixer clip? Where do I go from Parameter.Source?
It must be fairly simple, but the answer eludes me. I am using Python.
Thanks,
François