From 3b9de6081136b2a28bf7a6f85354ec04d92065bb Mon Sep 17 00:00:00 2001 From: ddennedy Date: Fri, 26 Mar 2004 00:34:36 +0000 Subject: [PATCH] fixed westley/fezzik integration when both service and resource supplied. git-svn-id: https://mlt.svn.sourceforge.net/svnroot/mlt/trunk/mlt@245 d19143bc-622f-0410-bfdd-b5b2a6649095 --- demo/README | 13 +++++++++++-- demo/pango.westley | 6 +++--- src/modules/fezzik/producer_hold.c | 7 +++++-- src/modules/westley/producer_westley.c | 9 ++++++++- 4 files changed, 27 insertions(+), 8 deletions(-) diff --git a/demo/README b/demo/README index 62a4be0..5fc256d 100644 --- a/demo/README +++ b/demo/README @@ -2,8 +2,8 @@ MLT Demo Notes 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. @@ -166,6 +166,15 @@ Bouncy, Bouncy Ball 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 diff --git a/demo/pango.westley b/demo/pango.westley index 2019892..4684d48 100644 --- a/demo/pango.westley +++ b/demo/pango.westley @@ -16,13 +16,13 @@ HíÉà~ÉÒ+àeôÒ`ò­÷ +y«ÉKÉ §ÉÉWð~É]]> - + composite - 0 - 1 + 1 + 0 -70%,65%:100%x35%:0 0,65%:100%x35%:100 0,65%:100%x35%:100 diff --git a/src/modules/fezzik/producer_hold.c b/src/modules/fezzik/producer_hold.c index d2ce7f8..caff4b8 100644 --- a/src/modules/fezzik/producer_hold.c +++ b/src/modules/fezzik/producer_hold.c @@ -57,6 +57,7 @@ mlt_producer producer_hold_init( char *arg ) 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; @@ -64,8 +65,10 @@ mlt_producer producer_hold_init( char *arg ) 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; diff --git a/src/modules/westley/producer_westley.c b/src/modules/westley/producer_westley.c index 4ddc892..38f3150 100644 --- a/src/modules/westley/producer_westley.c +++ b/src/modules/westley/producer_westley.c @@ -642,7 +642,14 @@ static void on_end_producer( deserialise_context context, const xmlChar *name ) // 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 ) { -- 1.7.4.4