Before running the demo script, make sure you '. setenv' from the parent
directory. Also, please create clips clip1.dv, clip2.dv, clip3.dv, clip1.mpeg,
-clip2.mpeg, clip3.mpeg, and music1.ogg. It is okay if some of these are
-duplicates. Please make sure clips are at least 500 frames duration.
+clip2.mpeg, clip3.mpeg, and music1.ogg. Please make sure clips are at least 500
+frames duration.
These notes explain the the concepts presented in each demonstration and
what details to look for.
A variation on the above Bouncy, Bouncy demo that applies a shape, or
alpha producer, to the the compositing region.
+
+Breaking News
+
+ This demonstrates layout capabilities of the compositor.
+
+Squeeze Transitions
+
+ This demonstrates a distorting barndoor-like wipe.
+
J Cut
</producer>
<tractor>
<multitrack>
- <track producer="video"/>
<track producer="title"/>
+ <track producer="video"/>
</multitrack>
<transition in="0" out="150">
<property name="mlt_service">composite</property>
- <property name="a_track">0</property>
- <property name="b_track">1</property>
+ <property name="a_track">1</property>
+ <property name="b_track">0</property>
<property name="start">-70%,65%:100%x35%:0</property>
<property name="key[25]">0,65%:100%x35%:100</property>
<property name="key[125]">0,65%:100%x35%:100</property>
mlt_properties_set_position( properties, "in", 0 );
mlt_properties_set_position( properties, "out", 25 );
mlt_properties_set_position( properties, "length", 15000 );
+ mlt_properties_set( properties, "resource", arg );
// Override the get_frame method
this->get_frame = producer_get_frame;
else
{
// Clean up (not sure which one failed, can't be bothered to find out, so close both)
- mlt_producer_close( this );
- mlt_producer_close( producer );
+ if ( this )
+ mlt_producer_close( this );
+ if ( producer )
+ mlt_producer_close( producer );
// Make sure we return NULL
this = NULL;
// Instantiate the producer
if ( mlt_properties_get( properties, "mlt_service" ) != NULL )
{
- service = MLT_SERVICE( mlt_factory_producer( "fezzik", mlt_properties_get( properties, "mlt_service" ) ) );
+ char temp[ 1024 ];
+ strncpy( temp, mlt_properties_get( properties, "mlt_service" ), 1024 );
+ if ( resource != NULL )
+ {
+ strcat( temp, ":" );
+ strncat( temp, resource, 1023 - strlen( temp ) );
+ }
+ service = MLT_SERVICE( mlt_factory_producer( "fezzik", temp ) );
}
if ( service == NULL && resource != NULL )
{