Hi,
In shotcut, the <consumer> tag is used in the playlist's xml to pass consumer
arguments, allowing to render a playlist file with melt whitout passing extra
arguments.
I am considering using the same approach for Kdenlive, but there is one small
missing feature for us:
it would be useful to allow rendering only part of the playlist using this
method. My idea was to allow in/out attributes on the consumer that would then
be passed on the producer to allow rendering only a part of the project.
A simple patch to melt, like mine below, implements the feature.
Would you be ok to include such feature ?
Thanks
Jean-Baptiste
---------------------------------------------------------------
diff --git a/src/melt/melt.c b/src/melt/melt.c
index ab3a0ab4..300f9c88 100644
--- a/src/melt/melt.c
+++ b/src/melt/melt.c
@@ -972,11 +972,18 @@ query_all:
// Get the last group
mlt_properties group = mlt_properties_get_data(
melt_props,
"group", 0 );
-
+
// Apply group settings
mlt_properties properties = MLT_CONSUMER_PROPERTIES(
consumer
);
mlt_properties_inherit( properties, group );
-
+ int in = mlt_properties_get_int( properties, "in" );
+ int out = mlt_properties_get_int( properties, "out" );
+ if ( in > 0 || out > 0 ) {
+ if ( out == 0 ) {
+ out = mlt_producer_get_length( melt ) -
1;
+ }
+ mlt_producer_set_in_and_out(melt, in, out);
+ }
// Connect consumer to melt
mlt_consumer_connect( consumer, MLT_PRODUCER_SERVICE(
melt )
);
_______________________________________________
Mlt-devel mailing list
[email protected]
https://lists.sourceforge.net/lists/listinfo/mlt-devel