X-Git-Url: http://research.m1stereo.tv/gitweb?a=blobdiff_plain;f=mlt%2B%2B%2Fsrc%2FMltProducer.h;h=81b4dad85f211ab1daf353998ca89255ad4b382d;hb=6e82bc6a0b4cd1113016ba851c04663c82a27cca;hp=a07f091e9a710144a13bbbc171a321f812e5c4df;hpb=8283ca2eb4e3b523e04a46578a19a985d3b2af3c;p=melted diff --git a/mlt++/src/MltProducer.h b/mlt++/src/MltProducer.h index a07f091..81b4dad 100644 --- a/mlt++/src/MltProducer.h +++ b/mlt++/src/MltProducer.h @@ -28,18 +28,24 @@ namespace Mlt { class Service; + class Filter; class Producer : public Service { private: mlt_producer instance; + Producer *parent_; public: Producer( ); Producer( char *id, char *service = NULL ); + Producer( Service &producer ); Producer( mlt_producer producer ); Producer( Producer &producer ); + Producer( Producer *producer ); virtual ~Producer( ); virtual mlt_producer get_producer( ); + Producer &parent( ); + mlt_producer get_parent( ); mlt_service get_service( ); int seek( int position ); int position( ); @@ -52,6 +58,12 @@ namespace Mlt int get_out( ); int get_length( ); int get_playtime( ); + Producer *cut( int in = 0, int out = -1 ); + bool is_cut( ); + bool is_blank( ); + bool same_clip( Producer &that ); + bool runs_into( Producer &that ); + void optimise( ); }; }