Merge ../mlt
[melted] / mlt++ / src / MltTractor.cpp
index 461b33d..43bbced 100644 (file)
@@ -48,11 +48,28 @@ Tractor::Tractor( mlt_tractor tractor ) :
 }
 
 Tractor::Tractor( Tractor &tractor ) :
+       Mlt::Producer( tractor ),
        instance( tractor.get_tractor( ) )
 {
        inc_ref( );
 }
 
+Tractor::Tractor( Profile& profile, char *id, char *resource ) :
+       instance( NULL )
+{
+       Producer producer( profile, id, resource );
+       if ( producer.is_valid( ) && producer.type( ) == tractor_type )
+       {
+               instance = ( mlt_tractor )producer.get_producer( );
+               inc_ref( );
+       }
+       else if ( producer.is_valid( ) )
+       {
+               instance = mlt_tractor_new( );
+               set_track( producer, 0 );
+       }
+}
+
 Tractor::~Tractor( )
 {
        mlt_tractor_close( instance );