MLT  7.28.0
mlt_tractor.h
Go to the documentation of this file.
1 
23 #ifndef MLT_TRACTOR_H
24 #define MLT_TRACTOR_H
25 
26 #include "mlt_producer.h"
27 
40 {
41  struct mlt_producer_s parent;
43 };
44 
45 #define MLT_TRACTOR_PRODUCER(tractor) (&(tractor)->parent)
46 #define MLT_TRACTOR_SERVICE(tractor) MLT_PRODUCER_SERVICE(MLT_TRACTOR_PRODUCER(tractor))
47 #define MLT_TRACTOR_PROPERTIES(tractor) MLT_SERVICE_PROPERTIES(MLT_TRACTOR_SERVICE(tractor))
48 
56 extern int mlt_tractor_connect(mlt_tractor self, mlt_service service);
57 extern void mlt_tractor_refresh(mlt_tractor self);
58 extern int mlt_tractor_set_track(mlt_tractor self, mlt_producer producer, int index);
59 extern int mlt_tractor_insert_track(mlt_tractor self, mlt_producer producer, int index);
60 extern int mlt_tractor_remove_track(mlt_tractor self, int index);
62 extern void mlt_tractor_close(mlt_tractor self);
63 
64 #endif
abstraction for all producer services
Field class.
Definition: mlt_field.c:39
Multitrack class.
Definition: mlt_multitrack.h:48
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
Tractor class.
Definition: mlt_tractor.h:40
mlt_producer mlt_tractor_producer(mlt_tractor self)
Get the producer object associated to the tractor.
Definition: mlt_tractor.c:146
mlt_producer mlt_tractor_get_track(mlt_tractor self, int index)
Get the producer for a specific track.
Definition: mlt_tractor.c:343
mlt_field mlt_tractor_field(mlt_tractor self)
Get the field self tractor is harvesting.
Definition: mlt_tractor.c:171
mlt_multitrack mlt_tractor_multitrack(mlt_tractor self)
Get the multitrack a tractor is pulling.
Definition: mlt_tractor.c:183
int mlt_tractor_connect(mlt_tractor self, mlt_service producer)
Connect the tractor.
Definition: mlt_tractor.c:226
int mlt_tractor_remove_track(mlt_tractor self, int index)
Remove a track by its index.
Definition: mlt_tractor.c:301
mlt_tractor mlt_tractor_init()
Construct a tractor without a field or multitrack.
Definition: mlt_tractor.c:50
struct mlt_producer_s parent
Definition: mlt_tractor.h:41
mlt_service mlt_tractor_service(mlt_tractor self)
Get the service object associated to the tractor.
Definition: mlt_tractor.c:133
mlt_tractor mlt_tractor_new()
Construct a tractor as well as a field and multitrack.
Definition: mlt_tractor.c:85
void mlt_tractor_close(mlt_tractor self)
Close the tractor and free its resources.
Definition: mlt_tractor.c:657
mlt_properties mlt_tractor_properties(mlt_tractor self)
Get the properties object associated to the tractor.
Definition: mlt_tractor.c:159
void mlt_tractor_refresh(mlt_tractor self)
Ensure the tractors in/out points match the multitrack.
Definition: mlt_tractor.c:194
int mlt_tractor_insert_track(mlt_tractor self, mlt_producer producer, int index)
Insert a producer before a specific track.
Definition: mlt_tractor.c:262
mlt_service producer
Definition: mlt_tractor.h:42
int mlt_tractor_set_track(mlt_tractor self, mlt_producer producer, int index)
Set the producer for a specific track.
Definition: mlt_tractor.c:246