|
mlt 0.7.6
|
Playlist class. More...
#include <mlt_playlist.h>
Public Member Functions | |
| int | mlt_playlist_append (mlt_playlist self, mlt_producer producer) |
| Append a producer to the playlist. | |
| int | mlt_playlist_append_io (mlt_playlist self, mlt_producer producer, mlt_position in, mlt_position out) |
| Append a producer to the playlist with in/out points. | |
| int | mlt_playlist_blank (mlt_playlist self, mlt_position length) |
| Append a blank to the playlist of a given length. | |
| int | mlt_playlist_blanks_from (mlt_playlist self, int clip, int bounded) |
| Get the duration of a blank space. | |
| int | mlt_playlist_clear (mlt_playlist self) |
| Clear the playlist. | |
| mlt_position | mlt_playlist_clip (mlt_playlist self, mlt_whence whence, int index) |
| Get the position which corresponds to the start of the next clip. | |
| int | mlt_playlist_clip_is_mix (mlt_playlist self, int clip) |
| Determine if the clip is a mix. | |
| int | mlt_playlist_clip_length (mlt_playlist self, int clip) |
| Get the playable duration of the clip. | |
| int | mlt_playlist_clip_start (mlt_playlist self, int clip) |
| Get the time at which the clip starts relative to the playlist. | |
| void | mlt_playlist_close (mlt_playlist self) |
| Close the playlist. | |
| void | mlt_playlist_consolidate_blanks (mlt_playlist self, int keep_length) |
| Consolidate adjacent blank producers. | |
| int | mlt_playlist_count (mlt_playlist self) |
| Get number of clips in the playlist. | |
| mlt_producer | mlt_playlist_current (mlt_playlist self) |
| Obtain the current clips producer. | |
| int | mlt_playlist_current_clip (mlt_playlist self) |
| Obtain the current clips index. | |
| mlt_producer | mlt_playlist_get_clip (mlt_playlist self, int clip) |
| Return the clip at the clip index. | |
| mlt_producer | mlt_playlist_get_clip_at (mlt_playlist self, mlt_position position) |
| Return the clip at the specified position. | |
| int | mlt_playlist_get_clip_index_at (mlt_playlist self, mlt_position position) |
| Return the clip index of the specified position. | |
| int | mlt_playlist_get_clip_info (mlt_playlist self, mlt_playlist_clip_info *info, int index) |
| Get all the info about the clip specified. | |
| mlt_playlist | mlt_playlist_init () |
| Construct a playlist. | |
| int | mlt_playlist_insert (mlt_playlist self, mlt_producer producer, int where, mlt_position in, mlt_position out) |
| Insert a producer into the playlist. | |
| int | mlt_playlist_insert_at (mlt_playlist self, mlt_position position, mlt_producer producer, int mode) |
| Insert a clip at a specific time. | |
| void | mlt_playlist_insert_blank (mlt_playlist self, int clip, int length) |
| Insert blank space. | |
| int | mlt_playlist_is_blank (mlt_playlist self, int clip) |
| Determine if the specified clip index is a blank. | |
| int | mlt_playlist_is_blank_at (mlt_playlist self, mlt_position position) |
| Determine if the specified position is a blank. | |
| int | mlt_playlist_join (mlt_playlist self, int clip, int count, int merge) |
| Join 1 or more consecutive clips. | |
| int | mlt_playlist_mix (mlt_playlist self, int clip, int length, mlt_transition transition) |
| Mix consecutive clips for a specified length and apply transition if specified. | |
| int | mlt_playlist_mix_add (mlt_playlist self, int clip, mlt_transition transition) |
| Add a transition to an existing mix. | |
| int | mlt_playlist_move (mlt_playlist self, int src, int dest) |
| Move an entry in the playlist. | |
| int | mlt_playlist_move_region (mlt_playlist self, mlt_position position, int length, int new_position) |
| Not implemented. | |
| void | mlt_playlist_pad_blanks (mlt_playlist self, mlt_position position, int length, int find) |
| Resize a blank entry. | |
| mlt_producer | mlt_playlist_producer (mlt_playlist self) |
| Get the producer associated to this playlist. | |
| mlt_properties | mlt_playlist_properties (mlt_playlist self) |
| Get the properties associated to this playlist. | |
| int | mlt_playlist_remove (mlt_playlist self, int where) |
| Remove an entry in the playlist. | |
| int | mlt_playlist_remove_region (mlt_playlist self, mlt_position position, int length) |
| Remove a portion of the playlist by time. | |
| int | mlt_playlist_repeat_clip (mlt_playlist self, int clip, int repeat) |
| Repeat the specified clip n times. | |
| mlt_producer | mlt_playlist_replace_with_blank (mlt_playlist self, int clip) |
| Replace the specified clip with a blank and return the clip. | |
| int | mlt_playlist_resize_clip (mlt_playlist self, int clip, mlt_position in, mlt_position out) |
| Resize the specified clip. | |
| mlt_service | mlt_playlist_service (mlt_playlist self) |
| Get the service associated to this playlist. | |
| int | mlt_playlist_split (mlt_playlist self, int clip, mlt_position position) |
| Split a clip on the playlist at the given position. | |
| int | mlt_playlist_split_at (mlt_playlist self, mlt_position position, int left) |
| Split the playlist at the absolute position. | |
Data Fields | |
| struct mlt_producer_s | blank |
| int | count |
| playlist_entry ** | list |
| struct mlt_producer_s | parent |
| A producer is a service. | |
| int | size |
Private Member Functions | |
| static void | mlt_playlist_listener (mlt_producer producer, mlt_playlist self) |
| Listener for producers on the playlist. | |
| static mlt_producer | mlt_playlist_locate (mlt_playlist self, mlt_position *position, int *clip, int *total) |
| Locate a producer by index. | |
| static int | mlt_playlist_resize_mix (mlt_playlist self, int clip, int in, int out) |
| Resize a mix clip. | |
| static int | mlt_playlist_unmix (mlt_playlist self, int clip) |
| Remove a mixed clip - ensure that the cuts included in the mix find their way back correctly on to the playlist. | |
| static int | mlt_playlist_virtual_append (mlt_playlist self, mlt_producer source, mlt_position in, mlt_position out) |
| Append to the virtual playlist. | |
| static int | mlt_playlist_virtual_refresh (mlt_playlist self) |
| Refresh the playlist after a clip has been changed. | |
| static mlt_service | mlt_playlist_virtual_seek (mlt_playlist self, int *progressive) |
| Seek in the virtual playlist. | |
| static mlt_producer | mlt_playlist_virtual_set_out (mlt_playlist self) |
| Invoked when a producer indicates that it has prematurely reached its end. | |
Playlist class.
A playlist is a sequential container of producers and blank spaces. The class provides all sorts of playlist assembly and manipulation routines. A playlist is also a producer within the framework.
| int mlt_playlist_append | ( | mlt_playlist | self, |
| mlt_producer | producer | ||
| ) |
Append a producer to the playlist.
| self | a playlist |
| producer | the producer to append |
| int mlt_playlist_append_io | ( | mlt_playlist | self, |
| mlt_producer | producer, | ||
| mlt_position | in, | ||
| mlt_position | out | ||
| ) |
Append a producer to the playlist with in/out points.
| self | a playlist |
| producer | the producer to append |
| in | the starting point on the producer; a negative value is the same as 0 |
| out | the ending point on the producer; a negative value is the same as producer length - 1 |
| int mlt_playlist_blank | ( | mlt_playlist | self, |
| mlt_position | length | ||
| ) |
Append a blank to the playlist of a given length.
| self | a playlist |
| length | the ending time of the blank entry, not its duration |
| int mlt_playlist_blanks_from | ( | mlt_playlist | self, |
| int | clip, | ||
| int | bounded | ||
| ) |
Get the duration of a blank space.
| self | a playlist |
| clip | the index of the playlist entry |
| bounded | the maximum number of blank entries or 0 for all |
| int mlt_playlist_clear | ( | mlt_playlist | self | ) |
Clear the playlist.
| self | a playlist |
| mlt_position mlt_playlist_clip | ( | mlt_playlist | self, |
| mlt_whence | whence, | ||
| int | index | ||
| ) |
Get the position which corresponds to the start of the next clip.
| self | a playlist |
| whence | the location from which to make the index relative: start of playlist, end of playlist, or current position |
| index | the playlist entry index relative to whence |
| int mlt_playlist_clip_is_mix | ( | mlt_playlist | self, |
| int | clip | ||
| ) |
Determine if the clip is a mix.
| self | a playlist |
| clip | the index of the playlist entry |
| int mlt_playlist_clip_length | ( | mlt_playlist | self, |
| int | clip | ||
| ) |
Get the playable duration of the clip.
| self | a playlist |
| clip | the index of the playlist entry |
| int mlt_playlist_clip_start | ( | mlt_playlist | self, |
| int | clip | ||
| ) |
Get the time at which the clip starts relative to the playlist.
| self | a playlist |
| clip | the index of the playlist entry |
| void mlt_playlist_close | ( | mlt_playlist | self | ) |
Close the playlist.
| self | a playlist |
| void mlt_playlist_consolidate_blanks | ( | mlt_playlist | self, |
| int | keep_length | ||
| ) |
Consolidate adjacent blank producers.
| self | a playlist |
| keep_length | set false to remove the last entry if it is blank |
| int mlt_playlist_count | ( | mlt_playlist | self | ) |
Get number of clips in the playlist.
| self | a playlist |
| mlt_producer mlt_playlist_current | ( | mlt_playlist | self | ) |
Obtain the current clips producer.
| self | a playlist |
| int mlt_playlist_current_clip | ( | mlt_playlist | self | ) |
Obtain the current clips index.
| self | a playlist |
| mlt_producer mlt_playlist_get_clip | ( | mlt_playlist | self, |
| int | clip | ||
| ) |
Return the clip at the clip index.
| self | a playlist |
| clip | the index of a playlist entry |
| mlt_producer mlt_playlist_get_clip_at | ( | mlt_playlist | self, |
| mlt_position | position | ||
| ) |
Return the clip at the specified position.
| self | a playlist |
| position | a time relative to the beginning of the playlist |
| int mlt_playlist_get_clip_index_at | ( | mlt_playlist | self, |
| mlt_position | position | ||
| ) |
Return the clip index of the specified position.
| self | a playlist |
| position | a time relative to the beginning of the playlist |
| int mlt_playlist_get_clip_info | ( | mlt_playlist | self, |
| mlt_playlist_clip_info * | info, | ||
| int | index | ||
| ) |
Get all the info about the clip specified.
| self | a playlist |
| info | a clip info struct |
| index | a playlist entry index |
| mlt_playlist mlt_playlist_init | ( | ) |
Construct a playlist.
Sets the resource property to "<playlist>". Set the mlt_type to property to "mlt_producer".
| int mlt_playlist_insert | ( | mlt_playlist | self, |
| mlt_producer | producer, | ||
| int | where, | ||
| mlt_position | in, | ||
| mlt_position | out | ||
| ) |
Insert a producer into the playlist.
| self | a playlist |
| producer | the producer to insert |
| where | the producer's playlist entry index |
| in | the starting point on the producer |
| out | the ending point on the producer |
| int mlt_playlist_insert_at | ( | mlt_playlist | self, |
| mlt_position | position, | ||
| mlt_producer | producer, | ||
| int | mode | ||
| ) |
Insert a clip at a specific time.
| self | a playlist |
| position | the time at which to insert |
| producer | the producer to insert |
| mode | true if you want to overwrite any blank section |
| void mlt_playlist_insert_blank | ( | mlt_playlist | self, |
| int | clip, | ||
| int | length | ||
| ) |
Insert blank space.
| self | a playlist |
| clip | the index of the new blank section |
| length | the ending time of the new blank section (duration - 1) |
| int mlt_playlist_is_blank | ( | mlt_playlist | self, |
| int | clip | ||
| ) |
Determine if the specified clip index is a blank.
| self | a playlist |
| clip | the index of the playlist entry |
| int mlt_playlist_is_blank_at | ( | mlt_playlist | self, |
| mlt_position | position | ||
| ) |
Determine if the specified position is a blank.
| self | a playlist |
| position | a time relative to the start or end (negative) of the playlist |
| int mlt_playlist_join | ( | mlt_playlist | self, |
| int | clip, | ||
| int | count, | ||
| int | merge | ||
| ) |
Join 1 or more consecutive clips.
| self | a playlist |
| clip | the starting playlist entry index |
| count | the number of entries to merge |
| merge | ignored |
| static void mlt_playlist_listener | ( | mlt_producer | producer, |
| mlt_playlist | self | ||
| ) | [private] |
Listener for producers on the playlist.
Refreshes the playlist whenever an entry receives producer-changed.
| producer | a producer |
| self | a playlist |
| static mlt_producer mlt_playlist_locate | ( | mlt_playlist | self, |
| mlt_position * | position, | ||
| int * | clip, | ||
| int * | total | ||
| ) | [private] |
Locate a producer by index.
| self | a playlist | |
| [in,out] | position | the time at which to locate the producer, returns the time relative to the producer's starting point |
| [out] | clip | the index of the playlist entry |
| [out] | total | the duration of the playlist up to and including this producer |
| int mlt_playlist_mix | ( | mlt_playlist | self, |
| int | clip, | ||
| int | length, | ||
| mlt_transition | transition | ||
| ) |
Mix consecutive clips for a specified length and apply transition if specified.
| self | a playlist |
| clip | the index of the playlist entry |
| length | the number of frames over which to create the mix |
| transition | the transition to use for the mix |
| int mlt_playlist_mix_add | ( | mlt_playlist | self, |
| int | clip, | ||
| mlt_transition | transition | ||
| ) |
Add a transition to an existing mix.
| self | a playlist |
| clip | the index of the playlist entry |
| transition | a transition |
| int mlt_playlist_move | ( | mlt_playlist | self, |
| int | src, | ||
| int | dest | ||
| ) |
Move an entry in the playlist.
| self | a playlist |
| src | an entry index |
| dest | an entry index |
| int mlt_playlist_move_region | ( | mlt_playlist | self, |
| mlt_position | position, | ||
| int | length, | ||
| int | new_position | ||
| ) |
| void mlt_playlist_pad_blanks | ( | mlt_playlist | self, |
| mlt_position | position, | ||
| int | length, | ||
| int | find | ||
| ) |
Resize a blank entry.
| self | a playlist |
| position | the time at which the blank entry exists relative to the start or end (negative) of the playlist. |
| length | the additional amount of blank frames to add |
| find | true to fist locate the blank after the clip at position |
| mlt_producer mlt_playlist_producer | ( | mlt_playlist | self | ) |
Get the producer associated to this playlist.
| self | a playlist |
| mlt_properties mlt_playlist_properties | ( | mlt_playlist | self | ) |
Get the properties associated to this playlist.
| self | a playlist |
| int mlt_playlist_remove | ( | mlt_playlist | self, |
| int | where | ||
| ) |
Remove an entry in the playlist.
| self | a playlist |
| where | the playlist entry index |
| int mlt_playlist_remove_region | ( | mlt_playlist | self, |
| mlt_position | position, | ||
| int | length | ||
| ) |
Remove a portion of the playlist by time.
| self | a playlist |
| position | the starting time |
| length | the duration of time to remove |
| int mlt_playlist_repeat_clip | ( | mlt_playlist | self, |
| int | clip, | ||
| int | repeat | ||
| ) |
Repeat the specified clip n times.
| self | a playlist |
| clip | a playlist entry index |
| repeat | the number of times to repeat the clip |
| mlt_producer mlt_playlist_replace_with_blank | ( | mlt_playlist | self, |
| int | clip | ||
| ) |
Replace the specified clip with a blank and return the clip.
| self | a playlist |
| clip | the index of the playlist entry |
| int mlt_playlist_resize_clip | ( | mlt_playlist | self, |
| int | clip, | ||
| mlt_position | in, | ||
| mlt_position | out | ||
| ) |
Resize the specified clip.
| self | a playlist |
| clip | the index of the playlist entry |
| in | the new starting time on the clip's producer; a negative value is the same as 0 |
| out | the new ending time on the clip's producer; a negative value is the same as length - 1 |
| static int mlt_playlist_resize_mix | ( | mlt_playlist | self, |
| int | clip, | ||
| int | in, | ||
| int | out | ||
| ) | [private] |
Resize a mix clip.
| self | a playlist |
| clip | the index of the playlist entry |
| in | the new starting point |
| out | the new ending point |
| mlt_service mlt_playlist_service | ( | mlt_playlist | self | ) |
Get the service associated to this playlist.
| self | a playlist |
| int mlt_playlist_split | ( | mlt_playlist | self, |
| int | clip, | ||
| mlt_position | position | ||
| ) |
Split a clip on the playlist at the given position.
This splits after the specified frame.
| self | a playlist |
| clip | the index of the playlist entry |
| position | the time at which to split relative to the beginning of the clip or its end if negative |
| int mlt_playlist_split_at | ( | mlt_playlist | self, |
| mlt_position | position, | ||
| int | left | ||
| ) |
Split the playlist at the absolute position.
| self | a playlist |
| position | the time at which to split relative to the beginning of the clip |
| left | true to split before the frame starting at position |
| static int mlt_playlist_unmix | ( | mlt_playlist | self, |
| int | clip | ||
| ) | [private] |
Remove a mixed clip - ensure that the cuts included in the mix find their way back correctly on to the playlist.
| self | a playlist |
| clip | the index of the playlist entry |
| static int mlt_playlist_virtual_append | ( | mlt_playlist | self, |
| mlt_producer | source, | ||
| mlt_position | in, | ||
| mlt_position | out | ||
| ) | [private] |
Append to the virtual playlist.
| self | a playlist |
| source | a producer |
| in | the producer's starting time |
| out | the producer's ending time |
| static int mlt_playlist_virtual_refresh | ( | mlt_playlist | self | ) | [private] |
Refresh the playlist after a clip has been changed.
| self | a playlist |
| static mlt_service mlt_playlist_virtual_seek | ( | mlt_playlist | self, |
| int * | progressive | ||
| ) | [private] |
Seek in the virtual playlist.
This gets the producer at the current position and seeks on the producer while doing repeat and end-of-file handling. This is also responsible for closing producers previous to the preceding playlist if the autoclose property is set.
| self | a playlist | |
| [out] | progressive | true if the producer should be displayed progressively |
| static mlt_producer mlt_playlist_virtual_set_out | ( | mlt_playlist | self | ) | [private] |
Invoked when a producer indicates that it has prematurely reached its end.
| self | a playlist |
A producer is a service.
Reimplemented from mlt_producer_s.
1.7.3