The Source object represents a media file.
To construct a new Source, use Source(path, part=-1) where part is the part index if it is a multi-part source. Use MediaFormat.parts(path) to query the available parts in the file.
The path passed to Source should contain the frame range to use, in the form: /path/to/file.[0001-0999].ext. Use tools.SequenceBuilder() to aid in building the path in the proper format.
Attributes are read-only except where noted.
|audio||True if the source has audio|
|defaultStream||the default stream|
|fieldDominance||the field dominance setting|
|fieldHandling||the field handling setting|
|key||the source's image cache key|
|streamMask||the streams the source produces|
|video||True if the source has video|
|channelMask||the available channels||6.0|
|part||The part number||6.0|
|dependencies||List of dependent sources||7.0|
|layers||Source layer list||7.0|
|path(frame)||generate the path to the desired frame of media|
|metadata(frame)||return a metadata dictionary for the specified frame||6.0|
tools.sequenceBuilder contains the SequenceBuilder class which can be used to parse a filename and generate details such as start and end frames. path should be a frame from a numbered sequence and SequenceBuilder will find the start and end frames and construct a resulting path with the frame range built-in, suitable for constructing Sources from, in the form: /path/to/file.[start-end].ext.
from tools.sequenceBuilder import SequenceBuilder # the image sequence has frames 1-999 path = "/images/sequence.0001.exr" builder = SequenceBuilder(path) for f in range(0, builder.frames): print builder.build(f) # construct Sources using self.path, which has the frame range included source = Source(builder.path) print builder.path
This prints out /images/sequence.[0001-0999].exr.
Sources can be added to the Project with the Project.addItem() method.