#ifndef _MLTPP_PRODUCER_H_
#define _MLTPP_PRODUCER_H_
+#include "config.h"
+
#include <framework/mlt.h>
#include "MltService.h"
{
class Service;
class Filter;
+ class Profile;
+ class Frame;
- class Producer : public Service
+ class MLTPP_DECLSPEC Producer : public Service
{
private:
mlt_producer instance;
+ Producer *parent_;
public:
Producer( );
- Producer( char *id, char *service = NULL );
+ Producer( Profile& profile, const char *id, const 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( );
int get_out( );
int get_length( );
int get_playtime( );
- int attach( Filter &filter );
- int detach( Filter &filter );
+ 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( );
};
}