MLT  7.24.0
mlt_multitrack.h
Go to the documentation of this file.
1 
23 #ifndef MLT_MULITRACK_H
24 #define MLT_MULITRACK_H
25 
26 #include "mlt_producer.h"
27 
32 {
35 };
36 
37 typedef struct mlt_track_s *mlt_track;
38 
48 {
50  struct mlt_producer_s parent;
52  int size;
53  int count;
54 };
55 
56 #define MLT_MULTITRACK_PRODUCER(multitrack) (&(multitrack)->parent)
57 #define MLT_MULTITRACK_SERVICE(multitrack) MLT_PRODUCER_SERVICE(MLT_MULTITRACK_PRODUCER(multitrack))
58 #define MLT_MULTITRACK_PROPERTIES(multitrack) \
59  MLT_SERVICE_PROPERTIES(MLT_MULTITRACK_SERVICE(multitrack))
60 
65 extern int mlt_multitrack_connect(mlt_multitrack self, mlt_producer producer, int track);
66 extern int mlt_multitrack_insert(mlt_multitrack self, mlt_producer producer, int track);
67 extern int mlt_multitrack_disconnect(mlt_multitrack self, int track);
73 
74 #endif
struct mlt_track_s * mlt_track
Definition: mlt_multitrack.h:37
abstraction for all producer services
int32_t mlt_position
Definition: mlt_types.h:217
mlt_whence
The relative time qualifiers.
Definition: mlt_types.h:186
Event class.
Definition: mlt_events.c:62
Multitrack class.
Definition: mlt_multitrack.h:48
void mlt_multitrack_close(mlt_multitrack self)
Close this instance and free its resources.
Definition: mlt_multitrack.c:623
mlt_producer mlt_multitrack_producer(mlt_multitrack self)
Get the producer associated to this multitrack.
Definition: mlt_multitrack.c:79
mlt_position mlt_multitrack_clip(mlt_multitrack self, mlt_whence whence, int index)
Determine the clip point.
Definition: mlt_multitrack.c:451
int size
Definition: mlt_multitrack.h:52
int mlt_multitrack_insert(mlt_multitrack self, mlt_producer producer, int track)
Insert a producer to a given track.
Definition: mlt_multitrack.c:246
int mlt_multitrack_count(mlt_multitrack self)
Get the number of tracks.
Definition: mlt_multitrack.c:344
mlt_multitrack mlt_multitrack_init()
Construct and initialize a new multitrack.
Definition: mlt_multitrack.c:45
mlt_track * list
Definition: mlt_multitrack.h:51
mlt_properties mlt_multitrack_properties(mlt_multitrack self)
Get the properties associated this multitrack.
Definition: mlt_multitrack.c:105
struct mlt_producer_s parent
We're extending producer here.
Definition: mlt_multitrack.h:50
int mlt_multitrack_disconnect(mlt_multitrack self, int track)
Remove the N-th track.
Definition: mlt_multitrack.c:303
int count
Definition: mlt_multitrack.h:53
void mlt_multitrack_refresh(mlt_multitrack self)
Initialize position related information.
Definition: mlt_multitrack.c:116
mlt_producer mlt_multitrack_track(mlt_multitrack self, int track)
Get an individual track as a producer.
Definition: mlt_multitrack.c:360
mlt_service mlt_multitrack_service(mlt_multitrack self)
Get the service associated this multitrack.
Definition: mlt_multitrack.c:92
int mlt_multitrack_connect(mlt_multitrack self, mlt_producer producer, int track)
Connect a producer to a given track.
Definition: mlt_multitrack.c:190
Producer abstract service class.
Definition: mlt_producer.h:70
Properties class.
Definition: mlt_properties.h:40
Service abstract base class.
Definition: mlt_service.h:58
Track class used by mlt_multitrack_s.
Definition: mlt_multitrack.h:32
mlt_event event
Definition: mlt_multitrack.h:34
mlt_producer producer
Definition: mlt_multitrack.h:33