## ClipContainer

Object Hierarchy | Related C++ Class: ClipContainer

### Inheritance

###

SIObject

ProjectItem

Clip

ClipContainer

### Introduced

v4.0

### Description

The ClipContainer object can represent either the Mixer or a compound clip. Both can contain other Clips, Tracks and Transitions.
This object provides access to the basic elements of the mixer: clips, tracks, transitions, and ClipRelations.
You can create a compound clip with the CreateCompound command.

### Methods

AddCustomOp | AddICEAttribute | AddProperty | AddProperty2
AddRelation | AddScriptedOp | AddScriptedOpFromFile | AnimatedParameters2
BelongsTo | EvaluateAt | GetICEAttributeFromName | IsA
IsAnimated2 | IsClassOf | IsEqualTo | IsKindOf
IsLocked | IsSelected | LockOwners | RemoveICEAttribute
SetAsSelected | SetCapabilityFlag | SetLock | TaggedParameters
UnSetLock |  |  |

### Properties

Application | BranchFlag | Capabilities | Categories
Clips | Effect | EvaluationID | Families
FullName | Help | HierarchicalEvaluationID | ICEAttributes
LockLevel | LockMasters | LockType | MappedItems
Model | Name | NestedObjects | NestedRelations
ObjectID | Origin | OriginPath | Owners
PPGLayout | Parameters | Parent | Parent3DObject
Properties | Relations | Selected | Source
TimeControl | Tracks | Transitions | Type

### Examples

#### Python Example

    #

    # This example demonstrates how to create a compound clip from scripting.

    # It also shows that when retrieving clips from the ClipContainer it only

    # returns clips that are on tracks nested directly under it.

    #

    Application.NewScene( "", False )

    oRoot = Application.ActiveSceneRoot

    oCube = oRoot.AddGeometry( "Cube", "MeshSurface")

    # Creating the first animation source

    sParams = "cube.kine.local.posx,cube.kine.local.posy,cube.kine.local.posz"

    oSource = Application.StoreAction(oRoot, sParams, 1, "StoredStaticPose", 1, 1, 5, 0, 0)

    # Creating the first clip

    oClip = Application.AddClip(oRoot, oSource)

    Application.LogMessage("First created clip " + oClip.FullName )

    oCube.Parameters("posx").Value  =  3.0

    # Creating the second animation source

    oSource2 = Application.StoreAction(oRoot, sParams, 1, "StoredStaticPose", 1, 7, 9, 0, 0)

    # Creating the second clip

    oClip2 = Application.AddClip(oRoot, oSource2)

    Application.LogMessage("Second created clip " + oClip2.FullName)

    def PrintClips(oClipCollection):

    	"This function print the clip names contained in a clip collection"

    	for i in range(oClipCollection.Count):

    		Application.LogMessage("Clip " +  oClipCollection(i).FullName)

    Application.LogMessage(PrintClips.__doc__)

    oMixer = oRoot.Mixer

    Application.LogMessage("List of clips retrieved from the container")

    PrintClips(oMixer.Clips)

    # Creating a compound clip from the clips created earlier

    myClips = [oClip, oClip2]

    oCompound = Application.CreateCompound(oRoot, myClips)

    Application.LogMessage("Compound clip " + oCompound.FullName )

    Application.LogMessage("List of clips retrieved from the compound")

    PrintClips(oCompound.Clips)

    # Now retrieving once again the clips from under the mixer.

    # This should only return the CompoundClip.

    Application.LogMessage("List of clips retrieved from the mixer after the creation of the compound");

    PrintClips(oMixer.Clips)

    # Output of above script:

    #INFO : First created clip Mixer.Mixer_Anim_Track.StoredStaticPose_Clip

    #

    #INFO : Second created clip Mixer.Mixer_Anim_Track1.StoredStaticPose1_Clip

    #INFO : This function print the clip names contained in a clip collection

    #INFO : List of clips retrieved from the container

    #INFO : Clip Mixer.Mixer_Anim_Track.StoredStaticPose_Clip

    #INFO : Clip Mixer.Mixer_Anim_Track1.StoredStaticPose1_Clip

    #

    #INFO : Compound clip Mixer.Mixer_Anim_Track.CompoundAction_Clip

    #INFO : List of clips retrieved from the compound

    #INFO : Clip Mixer.Mixer_Anim_Track.CompoundAction_Clip.Mixer_Anim_Track3.StoredStaticPose_Clip

    #INFO : Clip Mixer.Mixer_Anim_Track.CompoundAction_Clip.Mixer_Anim_Track4.StoredStaticPose1_Clip

    #INFO : List of clips retrieved from the mixer after the creation of the compound

    #INFO : Clip Mixer.Mixer_Anim_Track.CompoundAction_Clip

### See Also

CreateCompound Clip Model.Mixer Track Transition EqualizeAction