MLT  7.24.0
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 #include <pthread.h>
28 
43 {
45  struct mlt_service_s parent;
46 
49 
52 
54  void *child;
55 
58 
61  int held;
62  pthread_mutex_t mutex;
63 };
64 
65 #define MLT_TRANSITION_SERVICE(transition) (&(transition)->parent)
66 #define MLT_TRANSITION_PROPERTIES(transition) \
67  MLT_SERVICE_PROPERTIES(MLT_TRANSITION_SERVICE(transition))
68 
69 extern int mlt_transition_init(mlt_transition self, void *child);
74  mlt_service producer,
75  int a_track,
76  int b_track);
78 extern void mlt_transition_set_tracks(mlt_transition self, int a_track, int b_track);
89 
90 #endif
interface declaration for all service classes
int32_t mlt_position
Definition: mlt_types.h:217
struct mlt_transition_s * mlt_transition
pointer to Transition object
Definition: mlt_types.h:252
struct mlt_frame_s * mlt_frame
Definition: mlt_types.h:243
Frame class.
Definition: mlt_frame.h:90
Properties class.
Definition: mlt_properties.h:40
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:43
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
pthread_mutex_t mutex
Definition: mlt_transition.h:62
struct mlt_service_s parent
We're implementing service here.
Definition: mlt_transition.h:45
void(* close)(mlt_transition)
public virtual
Definition: mlt_transition.h:48
int mlt_transition_get_b_track(mlt_transition self)
Get the index of the b track.
Definition: mlt_transition.c:181
mlt_frame * frames
Private.
Definition: mlt_transition.h:60
mlt_position mlt_transition_get_length(mlt_transition self)
Get the duration.
Definition: mlt_transition.c:217
void * child
Protected.
Definition: mlt_transition.h:54
void mlt_transition_close(mlt_transition self)
Close and destroy the transition.
Definition: mlt_transition.c:558
int held
Definition: mlt_transition.h:61
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:138
double mlt_transition_get_progress(mlt_transition self, mlt_frame frame)
Get the percent complete.
Definition: mlt_transition.c:250
mlt_service producer
track and in/out points
Definition: mlt_transition.h:57
double mlt_transition_get_progress_delta(mlt_transition self, mlt_frame frame)
Get the second field incremental progress.
Definition: mlt_transition.c:284
mlt_frame(* process)(mlt_transition, mlt_frame, mlt_frame)
protected transition method
Definition: mlt_transition.h:51
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:169
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:205
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:193
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:152
mlt_position mlt_transition_get_position(mlt_transition self, mlt_frame frame)
Get the position within the transition.
Definition: mlt_transition.c:235