At the most simple level, any data that can be instantiated as a clip is called a source. This covers a broad range of data, from animation in the Animation Mixer to an image in the FxTree. The word source can refer to the atomic data element that drives a parameter (see Low-Level (Parameter-Based) Animation) or to the action, shape, audio, or image on which a clip is instantiated.
It can be confusing understanding where a clip fits into the SDK system and where its corresponding source fits in, so let's start by describing clips, because they basically define what a source can be.
In Softimage, there are basically three categories of clips, as described in this table:
The first two categories in the table above are a generalization of mixer clip types which describe any type of clip that can be manipulated in the Mixer (see the siClipType constant). Any clip returns one of the siClipType values from the SIObject.Type or SIObject::GetType property.
There are basically two kinds of sources (apart from a DataSource, which is a piece of data or logic that drives the animated parameter): a reference to a file on disk (a Source) and a container for combining one or more actions (an ActionSource or ActionSource).
Reference-type Source or Source (audio and image sources) can be instantiated in the mixer.
Action-type sources (see ActionSource or ActionSource) are usually manipulated in the context of the mixer. They hold other action sources, low-level animation, shape animation, etc. The components of an ActionSource or ActionSource are called AnimationSourceItems or AnimationSourceItems.
One of the most important concepts with action sources is the relative names. Action sources are stored with relatives names so that they are not tied to a specific model. For more information, see the Relative Name topic.