Constness changes
[melted] / mlt++ / src / MltProducer.h
index e3572d8..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:
-                       bool destroy;
                        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( mlt_position position );
-                       mlt_position position( );
-                       mlt_position frame( );
+                       int seek( int position );
+                       int position( );
+                       int frame( );
                        int set_speed( double speed );
                        double get_speed( );
                        double get_fps( );
-                       int set_in_and_out( mlt_position in, mlt_position out );
-                       mlt_position get_in( );
-                       mlt_position get_out( );
-                       mlt_position get_length( );
-                       mlt_position get_playtime( );
+                       int set_in_and_out( int in, int out );
+                       int get_in( );
+                       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( );
        };
 }