mlt_field field = mlt_tractor_field( tractor );
mlt_properties field_properties = mlt_field_properties( field );
mlt_multitrack multitrack = mlt_tractor_multitrack( tractor );
+ char *title = NULL;
// We need to track the number of registered filters
mlt_properties_set_int( field_properties, "registered", 0 );
if ( mlt_playlist_mix( playlist, mlt_playlist_count( playlist ) - 2, length, NULL ) == 0 )
{
mlt_playlist_clip_info info;
- mlt_playlist_get_clip_info( playlist, &info, mlt_playlist_count( playlist ) - 2 );
- mix = ( mlt_tractor )info.producer;
+ mlt_playlist_get_clip_info( playlist, &info, mlt_playlist_count( playlist ) - 1 );
+ if ( mlt_properties_get_data( ( mlt_properties )info.producer, "mlt_mix", NULL ) == NULL )
+ mlt_playlist_get_clip_info( playlist, &info, mlt_playlist_count( playlist ) - 2 );
+ mix = ( mlt_tractor )mlt_properties_get_data( ( mlt_properties )info.producer, "mlt_mix", NULL );
}
else
{
{
if ( producer != NULL )
mlt_playlist_append( playlist, producer );
+ if ( title == NULL )
+ title = argv[ i ];
producer = create_producer( field, argv[ i ] );
if ( producer != NULL )
{
mlt_properties_set_position( props, "length", mlt_producer_get_out( mlt_multitrack_producer( multitrack ) ) + 1 );
mlt_producer_set_in_and_out( prod, 0, mlt_producer_get_out( mlt_multitrack_producer( multitrack ) ) );
mlt_properties_set_double( props, "fps", mlt_producer_get_fps( mlt_multitrack_producer( multitrack ) ) );
+ if ( title != NULL )
+ mlt_properties_set( props, "title", strchr( title, '/' ) ? strrchr( title, '/' ) + 1 : title );
return prod;
}