mvMovieEdit(3dm)
mvMovieEdit: mvInsertMovieGapAtTime, mvDeleteMovieAtTime, mvCopyMovieAtTime - edit movie/tracks
As shipped in IRIX 6.5.5. Unchanged since IRIX 6.5.
NAME mvMovieEdit: mvInsertMovieGapAtTime, mvDeleteMovieAtTime, mvCopyMovieAtTime - edit movie/tracks SYNOPSIS #include <dmedia/moviefile.h> DMstatus mvInsertMovieGapAtTime( MVid movie, MVtime time, MVtime duration, MVtimescale timeScale, DMboolean enabledTracksOnly ); DMstatus mvDeleteMovieAtTime( MVid movie, MVtime time, MVtime duration, MVtimescale timeScale, DMboolean enabledTracksOnly ); DMstatus mvCopyMovieAtTime( MVid fromMovie, MVtime fromTime, MVtime fromDuration, MVtimescale fromScale, MVid toMovie, MVtime toTime, MVtimescale toScale, DMboolean byReference, DMboolean enabledTracksOnly ); DESCRIPTION These functions edit movies. All of them take the enabledTracksOnly flag as one of the parameters. If enabledTracksOnly == DM_TRUE, only enabled tracks will be affected by the edit. Otherwise, all tracks in the movie will be affected. A track can be enabled/disabled by calling mvSetTrackEnable(3dm), and a track's enable state can be checked by calling mvGetTrackEnable(3dm). Note that not all file formats support writing out movies with edit lists. Currently, the only file format which supports writing out movies with certain types of edits is the Quicktime file format. If unwritable edits are made to a movie, mvWrite(3dm) or mvClose(3dm) will return DM_FAILURE, with an appropriate error in mvGetErrno(3dm). mvInsertMovieGapAtTime inserts an empty segment of data into the movie, at the time for a duration of duration. (Note that both of these are measured in the same time scale, timeScale.) Track gaps may be interpreted in different ways by tracks with different DM_MEDIUMs. For example, DM_AUDIO tracks will consider a gap to be silence, while DM_IMAGE tracks will consider a gap to be the absence of an image to be displayed. Note that Gaps may not be supported in all file formats. mvCopyMovieAtTime copies a segment from the source movie to the destination movie. byReference is a flag which determines how data will be copied, under certain conditions. If the source movie fromMovie and destination movie toMovie are the same, the byReference flag will be ignored, and the movie will re-use the source data, thus avoiding unneeded copying of data in the movie. If the source and destination movies are different, then the byReference flag will determine whether data will be actually copied from the source movie and appended to the destination movie (byReference == DM_FALSE), or whether the destination movie will be marked as having an "external reference" to the source movie (byReference == DM_TRUE). Note that movies with external references will not be playable if any moviefile which they reference is not available. Files with external references may not be writable in certain file formats, in which case mvWrite(3dm) or mvClose(3dm) will return DM_FAILURE. mvDeleteMovieAtTime deletes a segment of the movie specified by the parameters time and duration. Both time and duration are measured in the same user-specified timeScale. mvDeleteMovieAtTime does not actually remove data from a file; it simply modifies the movie so that the deleted data will not be played, so calling mvDeleteMovieAtTime will not cause a movie file to shrink in size. SEE ALSO mvIntro(3dm), mvTrackEdit(3dm), mvGetErrno(3dm), mvSetTrackEnable(3dm), mvWrite(3dm).