Excellent! Thanks Éric. Your code snippet got me going. It is a pain indeed; even more when dealing with global to source timeline mapping.
2014-07-16 13:47 GMT-04:00 Eric Thivierge <[email protected]>: > 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 >> >> >

