Constness changes
[melted] / mlt++ / src / MltProducer.h
index a07f091..7b28e94 100644 (file)
@@ -21,6 +21,8 @@
 #ifndef _MLTPP_PRODUCER_H_
 #define _MLTPP_PRODUCER_H_
 
+#include "config.h"
+
 #include <framework/mlt.h>
 
 #include "MltService.h"
 namespace Mlt
 {
        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( );
@@ -52,6 +62,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( );
        };
 }