Returns a parameter's DataSource (the object that is driving the parameter's value, such as a Shader or an ActionSource). If no data source is connected then Nothing is returned. If a parameter has both ActionSource and a DataSource, it's the DataSource that is returned. This happens when an animated parameter is connected to a source.

Note: You can Get any type of data source (ActionSource, Constraint, FCurve, ImageClip, Operator, Shader, StaticSource), but you can only Set the shader type of data source. Shader parameters support setting the source to another shader. Note: Shader Compounds and Multi-Output Shaders have multiple output ports that require the Source to be identified by an Output Parameter. In such case, GetSource will return a Parameter and you can access the connected shader by calling Parameter.GetParent.

Tip: In VBScript it is possible to remove a DataSource by assigning "Nothing" to the Source property. In JScript and Python the same effect can be achieved by calling Parameter.Disconnect.

In the case of a ProxyParameter, the source of the master parameter is accessible from this property. For example, if a parameter has an fcurve on it, and there is a proxy parameter to that parameter, then the Source property of both parameter objects will return the same fcurve object.

C# Syntax

// get accessor
DataSource rtn = Parameter.Source;
// set accessor
Parameter.Source = DataSource;


1. VBScript Example

' This example illustrates how to add an FCurve to a parameter and access it afterwards
' using the Parameter.Source property.
NewScene , false
dim values
set oCube = Application.ActiveSceneRoot.AddGeometry( "Cube","MeshSurface" )
arrValues = Array( 0.00, 5.00, 1.00, 6.00, 2.00, 7.00, 3.00, 8.00, 4.00, 9.00, 5.00, 10.00 )
oCube.posx.AddFCurve2 arrValues 
set oSource = oCube.posx.Source
Application.LogMessage "The source is : " & TypeName( oSource )
' Remove the animation
set oCube.posx.Source = Nothing
set oSource = oCube.posx.Source
Application.LogMessage "The source is : " & TypeName( oSource )
' Expected result:
'INFO : The source is : FCurve
'INFO : The source is : Nothing

2. JScript Example

        See Shader.GetShaderParameterTargets for an example demonstrating how to traverse 
        a shader tree from left to right using the Source property and right to left using the 
        GetShaderParameterTargets method. 

See Also

Parameter.Sources FCurve Parameter.AddFCurve Parameter.AddFCurve2 Parameter.Disconnect ProxyParameter.MasterParameter Expression Constraint Operator Shader Shader.GetShaderParameterTargets