Producer filter extraction method
authorlilo_booter <lilo_booter@d19143bc-622f-0410-bfdd-b5b2a6649095>
Sat, 28 Aug 2004 07:06:02 +0000 (07:06 +0000)
committerlilo_booter <lilo_booter@d19143bc-622f-0410-bfdd-b5b2a6649095>
Sat, 28 Aug 2004 07:06:02 +0000 (07:06 +0000)
git-svn-id: https://mlt.svn.sourceforge.net/svnroot/mlt/trunk/mlt++@392 d19143bc-622f-0410-bfdd-b5b2a6649095

mlt++/src/MltPlaylist.cpp
mlt++/src/MltPlaylist.h
mlt++/src/MltProducer.cpp
mlt++/src/MltProducer.h
mlt++/swig/mltpp.i

index 15c27b3..f81fd6e 100644 (file)
@@ -56,6 +56,12 @@ Playlist::Playlist( Playlist &playlist ) :
        inc_ref( );
 }
 
+Playlist::Playlist( Producer &producer ) :
+       instance( (mlt_playlist )producer.get_producer( ) )
+{
+       inc_ref( );
+}
+
 Playlist::Playlist( mlt_playlist playlist ) :
        instance( playlist )
 {
index 2bab978..904f6cd 100644 (file)
@@ -56,6 +56,7 @@ namespace Mlt
                        Playlist( );
                        Playlist( Playlist &playlist );
                        Playlist( mlt_playlist playlist );
+                       Playlist( Producer &producer );
                        virtual ~Playlist( );
                        virtual mlt_playlist get_playlist( );
                        mlt_producer get_producer( );
index 9aa27da..a12c1da 100644 (file)
@@ -127,3 +127,8 @@ int Producer::detach( Filter &filter )
 {
        return mlt_producer_detach( get_producer( ), filter.get_filter( ) );
 }
+
+Filter *Producer::filter( int index )
+{
+       return new Filter( mlt_producer_filter( get_producer( ), index ) );
+}
index ade287c..3c85fd9 100644 (file)
@@ -55,6 +55,7 @@ namespace Mlt
                        int get_playtime( );
                        int attach( Filter &filter );
                        int detach( Filter &filter );
+                       Filter *filter( int index );
        };
 }
 
index c14529f..b06d829 100644 (file)
@@ -37,6 +37,7 @@ namespace Mlt {
 %newobject Service::producer( );
 %newobject Service::consumer( );
 %newobject Service::get_frame( int );
+%newobject Producer::filter( int );
 %newobject Playlist::current( );
 %newobject Playlist::clip_info( int );
 }