MLT 6.22.1
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
43{
46};
47
48#define MLT_TRACTOR_PRODUCER( tractor ) ( &( tractor )->parent )
49#define MLT_TRACTOR_SERVICE( tractor ) MLT_PRODUCER_SERVICE( MLT_TRACTOR_PRODUCER( tractor ) )
50#define MLT_TRACTOR_PROPERTIES( tractor ) MLT_SERVICE_PROPERTIES( MLT_TRACTOR_SERVICE( tractor ) )
51
59extern int mlt_tractor_connect( mlt_tractor self, mlt_service service );
60extern void mlt_tractor_refresh( mlt_tractor self );
61extern int mlt_tractor_set_track( mlt_tractor self, mlt_producer producer, int index );
62extern int mlt_tractor_insert_track( mlt_tractor self, mlt_producer producer, int index );
63extern int mlt_tractor_remove_track( mlt_tractor self, int index );
65extern void mlt_tractor_close( mlt_tractor self );
66
67#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:37
Service abstract base class.
Definition: mlt_service.h:58
Tractor class.
Definition: mlt_tractor.h:43
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:349
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:222
int mlt_tractor_remove_track(mlt_tractor self, int index)
Remove a track by its index.
Definition: mlt_tractor.c:303
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:44
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:89
void mlt_tractor_close(mlt_tractor self)
Close the tractor and free its resources.
Definition: mlt_tractor.c:678
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:258
mlt_service producer
Definition: mlt_tractor.h:45
int mlt_tractor_set_track(mlt_tractor self, mlt_producer producer, int index)
Set the producer for a specific track.
Definition: mlt_tractor.c:242