MLT 6.22.1
mlt_transition.h
Go to the documentation of this file.
1
23#ifndef MLT_TRANSITION_H
24#define MLT_TRANSITION_H
25
26#include "mlt_service.h"
27
42{
45
47 void ( *close )( mlt_transition );
48
51
53 void *child;
54
57
60 int held;
61};
62
63#define MLT_TRANSITION_SERVICE( transition ) ( &( transition )->parent )
64#define MLT_TRANSITION_PROPERTIES( transition ) MLT_SERVICE_PROPERTIES( MLT_TRANSITION_SERVICE( transition ) )
65
66extern int mlt_transition_init( mlt_transition self, void *child );
70extern int mlt_transition_connect( mlt_transition self, mlt_service producer, int a_track, int b_track );
72extern void mlt_transition_set_tracks( mlt_transition self, int a_track, int b_track );
83
84#endif
interface declaration for all service classes
int32_t mlt_position
Definition: mlt_types.h:163
struct mlt_transition_s * mlt_transition
pointer to Transition object
Definition: mlt_types.h:197
struct mlt_frame_s * mlt_frame
Definition: mlt_types.h:188
Frame class.
Definition: mlt_frame.h:74
Properties class.
Definition: mlt_properties.h:37
Service abstract base class.
Definition: mlt_service.h:58
void * child
the object of a subclass
Definition: mlt_service.h:75
Transition abstract service class.
Definition: mlt_transition.h:42
mlt_service mlt_transition_service(mlt_transition self)
Get the service class interface.
Definition: mlt_transition.c:90
mlt_frame mlt_transition_process(mlt_transition self, mlt_frame a_frame, mlt_frame b_frame)
Process the frame.
Definition: mlt_transition.c:319
struct mlt_service_s parent
We're implementing service here.
Definition: mlt_transition.h:44
void(* close)(mlt_transition)
public virtual
Definition: mlt_transition.h:47
int mlt_transition_get_b_track(mlt_transition self)
Get the index of the b track.
Definition: mlt_transition.c:180
mlt_frame * frames
Private.
Definition: mlt_transition.h:59
mlt_position mlt_transition_get_length(mlt_transition self)
Get the duration.
Definition: mlt_transition.c:216
void * child
Protected.
Definition: mlt_transition.h:53
void mlt_transition_close(mlt_transition self)
Close and destroy the transition.
Definition: mlt_transition.c:544
int held
Definition: mlt_transition.h:60
void mlt_transition_set_in_and_out(mlt_transition self, mlt_position in, mlt_position out)
Set the starting and ending time for when the transition is active.
Definition: mlt_transition.c:139
double mlt_transition_get_progress(mlt_transition self, mlt_frame frame)
Get the percent complete.
Definition: mlt_transition.c:249
mlt_service producer
track and in/out points
Definition: mlt_transition.h:56
double mlt_transition_get_progress_delta(mlt_transition self, mlt_frame frame)
Get the second field incremental progress.
Definition: mlt_transition.c:281
mlt_frame(* process)(mlt_transition, mlt_frame, mlt_frame)
protected transition method
Definition: mlt_transition.h:50
mlt_properties mlt_transition_properties(mlt_transition self)
Get the properties interface.
Definition: mlt_transition.c:103
int mlt_transition_get_a_track(mlt_transition self)
Get the index of the a track.
Definition: mlt_transition.c:168
int mlt_transition_connect(mlt_transition self, mlt_service producer, int a_track, int b_track)
Connect a transition with a producer's a and b tracks.
Definition: mlt_transition.c:118
mlt_position mlt_transition_get_out(mlt_transition self)
Get the out point.
Definition: mlt_transition.c:204
mlt_transition mlt_transition_new()
Create and initialize a new transition.
Definition: mlt_transition.c:74
mlt_position mlt_transition_get_in(mlt_transition self)
Get the in point.
Definition: mlt_transition.c:192
int mlt_transition_init(mlt_transition self, void *child)
Initialize a new transition.
Definition: mlt_transition.c:44
void mlt_transition_set_tracks(mlt_transition self, int a_track, int b_track)
Change the track indices of a transition.
Definition: mlt_transition.c:153
mlt_position mlt_transition_get_position(mlt_transition self, mlt_frame frame)
Get the position within the transition.
Definition: mlt_transition.c:234