X-Git-Url: http://research.m1stereo.tv/gitweb?a=blobdiff_plain;f=mlt%2Fsrc%2Fmodules%2Finigo%2Fproducer_inigo.c;h=5c60e29d8aa9b22b4e889a5f5e8d42f60b3c0f8e;hb=c28f352daacca421f977bca75eefd36a73189dac;hp=581db3dfa5170661dd37c656e84c7a4d90aa6153;hpb=6fba6c383f2d7845f9eedf9f4e5e099319cfb43f;p=melted diff --git a/mlt/src/modules/inigo/producer_inigo.c b/mlt/src/modules/inigo/producer_inigo.c index 581db3d..5c60e29 100644 --- a/mlt/src/modules/inigo/producer_inigo.c +++ b/mlt/src/modules/inigo/producer_inigo.c @@ -44,6 +44,7 @@ static mlt_producer parse_inigo( char *file ) } mlt_producer result = producer_inigo_init( args ); + if ( result != NULL ) { mlt_properties properties = mlt_producer_properties( result ); @@ -135,11 +136,6 @@ static mlt_transition create_transition( mlt_field field, char *id, int track ) return transition; } -static void set_properties( mlt_properties properties, char *namevalue ) -{ - mlt_properties_parse( properties, namevalue ); -} - mlt_producer producer_inigo_init( char **argv ) { int i; @@ -203,7 +199,7 @@ mlt_producer producer_inigo_init( char **argv ) } else if ( strstr( argv[ i ], "=" ) ) { - set_properties( properties, argv[ i ] ); + mlt_properties_parse( properties, argv[ i ] ); } else if ( argv[ i ][ 0 ] != '-' ) { @@ -241,10 +237,16 @@ mlt_producer producer_inigo_init( char **argv ) mlt_multitrack_connect( multitrack, mlt_playlist_producer( playlist ), track ); } - mlt_properties props = mlt_multitrack_properties( multitrack ); + mlt_tractor tractor = mlt_field_tractor( field ); + mlt_producer prod = mlt_tractor_producer( tractor ); + mlt_properties props = mlt_tractor_properties( tractor ); + mlt_properties_set_data( props, "multitrack", multitrack, 0, NULL, NULL ); mlt_properties_set_data( props, "field", field, 0, NULL, NULL ); mlt_properties_set_data( props, "group", group, 0, NULL, 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 ) ) ); - return mlt_multitrack_producer( multitrack ); + return mlt_tractor_producer( tractor ); }