return mlt_field_plant_transition( get_field( ), transition.get_transition( ), a_track, b_track );
}
+void Field::disconnect_service( Service &service )
+{
+ mlt_field_disconnect_service( get_field(), service.get_service() );
+}
mlt_service get_service( );
int plant_filter( Filter &filter, int track = 0 );
int plant_transition( Transition &transition, int a_track = 0, int b_track = 1 );
+ void disconnect_service( Service &service );
};
}
{
mlt_producer_optimise( get_producer( ) );
}
+
+int Producer::clear( )
+{
+ return mlt_producer_clear( get_producer( ) );
+}
bool same_clip( Producer &that );
bool runs_into( Producer &that );
void optimise( );
+ int clear( );
};
}
return mlt_properties_get_int( get_properties( ), name );
}
+int64_t Properties::get_int64( const char *name )
+{
+ return mlt_properties_get_int64( get_properties( ), name );
+}
+
double Properties::get_double( const char *name )
{
return mlt_properties_get_double( get_properties( ), name );
return mlt_properties_set_int( get_properties( ), name, value );
}
+int Properties::set( const char *name, int64_t value )
+{
+ return mlt_properties_set_int64( get_properties( ), name, value );
+}
+
int Properties::set( const char *name, double value )
{
return mlt_properties_set_double( get_properties( ), name, value );
return mlt_properties_set_data( get_properties( ), name, value, size, destructor, serialiser );
}
+void Properties::pass_property( Properties &that, const char *name )
+{
+ return mlt_properties_pass_property( get_properties( ), that.get_properties( ), name );
+}
+
int Properties::pass_values( Properties &that, const char *prefix )
{
return mlt_properties_pass( get_properties( ), that.get_properties( ), prefix );
}
+int Properties::pass_list( Properties &that, const char *list )
+{
+ return mlt_properties_pass_list( get_properties( ), that.get_properties( ), list );
+}
+
int Properties::parse( const char *namevalue )
{
return mlt_properties_parse( get_properties( ), namevalue );
mlt_events_close_wait_for( get_properties( ), event->get_event( ) );
}
+bool Properties::is_sequence( )
+{
+ return mlt_properties_is_sequence( get_properties( ) );
+}
+
+Properties *Properties::parse_yaml( const char *file )
+{
+ return new Properties( mlt_properties_parse_yaml( file ) );
+}
+
+char *Properties::serialise_yaml( )
+{
+ return mlt_properties_serialise_yaml( get_properties( ) );
+}
int count( );
char *get( const char *name );
int get_int( const char *name );
+ int64_t get_int64( const char *name );
double get_double( const char *name );
void *get_data( const char *name, int &size );
void *get_data( const char *name );
int set( const char *name, const char *value );
int set( const char *name, int value );
+ int set( const char *name, int64_t value );
int set( const char *name, double value );
int set( const char *name, void *value, int size, mlt_destructor destroy = NULL, mlt_serialiser serial = NULL );
+ void pass_property( Properties &that, const char *name );
int pass_values( Properties &that, const char *prefix );
+ int pass_list( Properties &that, const char *list );
int parse( const char *namevalue );
char *get_name( int index );
char *get( int index );
static void delete_event( Event * );
Event *setup_wait_for( const char *id );
void wait_for( Event *, bool destroy = true );
+ bool is_sequence( );
+ static Properties *parse_yaml( const char *file );
+ char *serialise_yaml( );
};
}
{
return new Properties( mlt_repository_metadata( instance, type, service ) );
}
+
+Properties *Repository::languages( ) const
+{
+ return new Properties( mlt_repository_languages( instance ) );
+}
Properties *transitions( ) const;
void register_metadata( mlt_service_type type, const char *service, mlt_metadata_callback, void *callback_data );
Properties *metadata( mlt_service_type type, const char *service ) const;
+ Properties *languages( ) const;
};
}
return found;
}
+
+int Tractor::connect( Producer &producer )
+{
+ return mlt_tractor_connect( get_tractor( ), producer.get_service( ) );
+}
void plant_filter( Filter &filter, int track = 0 );
void plant_filter( Filter *filter, int track = 0 );
bool locate_cut( Producer *producer, int &track, int &cut );
+ int connect( Producer &producer );
};
}
#include <string.h>
#include "MltTransition.h"
#include "MltProfile.h"
+#include "MltProducer.h"
using namespace Mlt;
Transition::Transition( Profile& profile, const char *id, const char *arg ) :
{
mlt_transition_set_in_and_out( get_transition( ), in, out );
}
+
+int Transition::connect( Producer &producer, int a_track, int b_track )
+{
+ return mlt_transition_connect( get_transition(), producer.get_service(), a_track, b_track );
+}
+
+int Transition::get_a_track( )
+{
+ return mlt_transition_get_a_track( get_transition() );
+}
+
+int Transition::get_b_track( )
+{
+ return mlt_transition_get_b_track( get_transition() );
+}
+
+int Transition::get_in( )
+{
+ return mlt_transition_get_in( get_transition() );
+}
+
+int Transition::get_out( )
+{
+ return mlt_transition_get_out( get_transition() );
+}
virtual mlt_transition get_transition( );
mlt_service get_service( );
void set_in_and_out( int in, int out );
+ int connect( Producer &producer, int a_track, int b_track );
+ int get_a_track( );
+ int get_b_track( );
+ int get_in( );
+ int get_out( );
};
}
%newobject Factory::filter( Profile &, char *, char * );
%newobject Factory::transition( Profile &, char *, char * );
%newobject Factory::consumer( Profile &, char *, char * );
-%newobject Properties::listen( char *, void *, mlt_listener );
+%newobject Properties::listen( const char *, void *, mlt_listener );
+%newobject Properties::parse_yaml( const char * );
%newobject Service::producer( );
%newobject Service::consumer( );
%newobject Service::get_frame( int );
%newobject Repository::producers( );
%newobject Repository::transitions( );
%newobject Repository::metadata( mlt_service_type, const char * );
+%newobject Repository::languages( );
}
/** Classes to wrap.
%include <framework/mlt_types.h>
%include <framework/mlt_factory.h>
+%include <framework/mlt_log.h>
%include <MltFactory.h>
%include <MltRepository.h>
%include <MltEvent.h>