Simplified playlist and track access
[melted] / mlt++ / src / MltTractor.cpp
index 2659275..19c8a24 100644 (file)
@@ -28,6 +28,16 @@ Tractor::Tractor( ) :
 {
 }
 
+Tractor::Tractor( Service &tractor ) :
+       instance( NULL )
+{
+       if ( tractor.type( ) == tractor_type )
+       {
+               instance = ( mlt_tractor )tractor.get_service( );
+               inc_ref( );
+       }
+}
+
 Tractor::Tractor( mlt_tractor tractor ) :
        instance( tractor )
 {
@@ -65,3 +75,23 @@ Field *Tractor::field( )
        return new Field( mlt_tractor_field( get_tractor( ) ) );
 }
 
+void Tractor::refresh( )
+{
+       return mlt_tractor_refresh( get_tractor( ) );
+}
+
+int Tractor::set_track( Producer &producer, int index )
+{
+       return mlt_tractor_set_track( get_tractor( ), producer.get_producer( ), index );
+}
+
+Producer *Tractor::track( int index )
+{
+       mlt_producer producer = mlt_tractor_get_track( get_tractor( ), index );
+       return producer != NULL ? new Producer( producer ) : NULL;
+}
+
+int Tractor::count( )
+{
+       return mlt_multitrack_count( mlt_tractor_multitrack( get_tractor( ) ) );
+}