Next/Prev key extraction
[melted] / mlt++ / src / MltTransition.cpp
index 2456a78..5a18c8e 100644 (file)
@@ -24,7 +24,6 @@
 using namespace Mlt;
 
 Transition::Transition( char *id, char *arg ) :
-       destroy( true ),
        instance( NULL )
 {
        if ( arg != NULL )
@@ -48,22 +47,31 @@ Transition::Transition( char *id, char *arg ) :
        }
 }
 
+Transition::Transition( Service &transition ) :
+       instance( NULL )
+{
+       if ( transition.type( ) == transition_type )
+       {
+               instance = ( mlt_transition )transition.get_service( );
+               inc_ref( );
+       }
+}
+
 Transition::Transition( Transition &transition ) :
-       destroy( false ),
        instance( transition.get_transition( ) )
 {
+       inc_ref( );
 }
 
 Transition::Transition( mlt_transition transition ) :
-       destroy( false ),
        instance( transition )
 {
+       inc_ref( );
 }
 
 Transition::~Transition( )
 {
-       if ( destroy )
-               mlt_transition_close( instance );
+       mlt_transition_close( instance );
 }
 
 mlt_transition Transition::get_transition( )
@@ -76,3 +84,7 @@ mlt_service Transition::get_service( )
        return mlt_transition_service( get_transition( ) );
 }
 
+void Transition::set_in_and_out( int in, int out )
+{
+       mlt_transition_set_in_and_out( get_transition( ), in, out );
+}