+ Win32 port - dev studio is required to avoid issues with C++ ABI compatibility
[melted] / mlt++ / src / MltFilter.h
index 79ae989..3be254c 100644 (file)
 #ifndef _MLTPP_FILTER_H_
 #define _MLTPP_FILTER_H_
 
+#include "config.h"
+
 #include <framework/mlt.h>
 
 #include "MltService.h"
 
 namespace Mlt
 {
-       class Filter : public Service
-       {
-               public:
-                       virtual mlt_filter get_filter( ) = 0;
-                       mlt_service get_service( );
-                       int connect( Service &service, int index = 0 );
-                       void set_in_and_out( mlt_position in, mlt_position out );
-                       mlt_position get_in( );
-                       mlt_position get_out( );
-                       int get_track( );
-       };
+       class Service;
 
-       class FilterInstance : public Filter
+       class MLTPP_DECLSPEC Filter : public Service
        {
                private:
-                       bool destroy;
                        mlt_filter instance;
                public:
-                       mlt_filter get_filter( );
-                       FilterInstance( char *id, char *service = NULL );
-                       FilterInstance( Filter &filter );
-                       FilterInstance( mlt_filter filter );
-                       virtual ~FilterInstance( );
+                       Filter( char *id, char *service = NULL );
+                       Filter( Service &filter );
+                       Filter( Filter &filter );
+                       Filter( mlt_filter filter );
+                       virtual ~Filter( );
+                       virtual mlt_filter get_filter( );
+                       mlt_service get_service( );
+                       int connect( Service &service, int index = 0 );
+                       void set_in_and_out( int in, int out );
+                       int get_in( );
+                       int get_out( );
+                       int get_track( );
        };
 }