X-Git-Url: http://research.m1stereo.tv/gitweb?a=blobdiff_plain;f=src%2Finigo%2Finigo.c;h=29465db954e578b20d7ea9e57bcc41c7144b559e;hb=89963b31bc7e8fcad7c45103c313e802e186267d;hp=02d278969bfcd3b4c944ffb25b7b02130e108642;hpb=752e10c211c6620f0e80b01ca32db604da139429;p=melted diff --git a/src/inigo/inigo.c b/src/inigo/inigo.c index 02d2789..29465db 100644 --- a/src/inigo/inigo.c +++ b/src/inigo/inigo.c @@ -147,6 +147,20 @@ mlt_filter create_filter( mlt_field field, char *id, int track ) return filter; } +mlt_transition create_transition( mlt_field field, char *id, int track ) +{ + char *arg = strchr( id, ':' ); + if ( arg != NULL ) + *arg ++ = '\0'; + mlt_transition transition = mlt_factory_transition( id, arg ); + if ( transition != NULL ) + { + mlt_field_plant_transition( field, transition, track, track + 1 ); + track_service( field, transition, ( mlt_destructor )mlt_transition_close ); + } + return transition; +} + void set_properties( mlt_properties properties, char *namevalue ) { mlt_properties_parse( properties, namevalue ); @@ -218,13 +232,22 @@ int main( int argc, char **argv ) } else if ( !strcmp( argv[ i ], "-filter" ) ) { - mlt_filter filter = create_filter( field, argv[ ++ i ], 0 ); + mlt_filter filter = create_filter( field, argv[ ++ i ], track ); if ( filter != NULL ) { properties = mlt_filter_properties( filter ); mlt_properties_inherit( properties, group ); } } + else if ( !strcmp( argv[ i ], "-transition" ) ) + { + mlt_transition transition = create_transition( field, argv[ ++ i ], track ); + if ( transition != NULL ) + { + properties = mlt_transition_properties( transition ); + mlt_properties_inherit( properties, group ); + } + } else if ( !strcmp( argv[ i ], "-blank" ) ) { if ( producer != NULL ) @@ -294,6 +317,8 @@ int main( int argc, char **argv ) fprintf( stderr, "Usage: inigo [ -group [ name=value ]* ]\n" " [ -consumer id[:arg] [ name=value ]* ]\n" " [ -filter id[:arg] [ name=value ] * ]\n" + " [ -transition id[:arg] [ name=value ] * ]\n" + " [ -blank time ]\n" " [ producer [ name=value ] * ]+\n" ); }