MLT  7.38.0
Multimedia Framework
Public Member Functions | Private Attributes
Mlt::Filter Class Reference

C++ wrapper for mlt_filter — modifies a single producer's output. More...

#include <MltFilter.h>

Inheritance diagram for Mlt::Filter:
Inheritance graph
[legend]
Collaboration diagram for Mlt::Filter:
Collaboration graph
[legend]

Public Member Functions

int connect (Service &service, int index=0)
 Connect this filter to service at index. More...
 
 Filter ()
 
 Filter (const Filter &filter)
 
 Filter (Filter &filter)
 
 Filter (Filter *filter)
 
 Filter (mlt_filter filter)
 Wrap an existing mlt_filter handle. More...
 
 Filter (mlt_profile profile, const char *id, const char *service=NULL)
 
 Filter (Profile &profile, const char *id, const char *service=NULL)
 Construct and instantiate filter id from the repository. More...
 
 Filter (Service &filter)
 
virtual mlt_filter get_filter ()
 
int get_in ()
 Return the in-point frame number. More...
 
int get_length ()
 Return the duration (out - in + 1). More...
 
int get_length2 (Frame &frame)
 Return the duration relative to frame's producer length. More...
 
int get_out ()
 Return the out-point frame number. More...
 
int get_position (Frame &frame)
 Return the current position of frame relative to the filter's in-point. More...
 
double get_progress (Frame &frame)
 Return the playback progress of frame in the range [0.0, 1.0]. More...
 
mlt_service get_service () override
 
int get_track ()
 Return the multitrack track index on which this filter is applied. More...
 
Filteroperator= (const Filter &filter)
 
void process (Frame &frame)
 Run the filter's process function on frame (used by subclasses). More...
 
void set_in_and_out (int in, int out)
 Restrict filter activity to the frame range [in, out]. More...
 
virtual ~Filter ()
 
- Public Member Functions inherited from Mlt::Service
int attach (Filter &filter)
 Attach filter to this service. More...
 
int connect_producer (Service &producer, int index=0)
 Connect producer as the input at index. More...
 
Serviceconsumer ()
 Return the downstream consumer service, or null. More...
 
int detach (Filter &filter)
 Detach filter from this service. More...
 
int disconnect_all_producers ()
 Disconnect all producer inputs. More...
 
int disconnect_producer (int index=0)
 Disconnect the producer at index. More...
 
Filterfilter (int index)
 Return the attached filter at index. More...
 
int filter_count ()
 Return the number of attached filters. More...
 
Frameget_frame (int index=0)
 Pull and return frame index from this service. More...
 
mlt_profile get_profile ()
 
virtual mlt_properties get_properties () override
 
int insert_producer (Service &producer, int index=0)
 Insert producer at index, shifting existing connections up. More...
 
void lock ()
 Acquire the service mutex (use around property reads in render threads). More...
 
int move_filter (int from, int to)
 Move the attached filter at position from to position to. More...
 
Serviceoperator= (const Service &service)
 
Serviceproducer ()
 Return the first upstream producer, or null. More...
 
Profileprofile ()
 Return the profile associated with this service. More...
 
 Service ()
 
 Service (const Service &service)
 
 Service (mlt_service service)
 Wrap an existing mlt_service handle. More...
 
 Service (Service &service)
 
 Service (Service *service)
 
void set_consumer (Service &service)
 
void set_profile (mlt_profile profile)
 
void set_profile (Profile &profile)
 
mlt_service_type type ()
 Return the service sub-type (producer, filter, consumer, transition, etc.). More...
 
void unlock ()
 Release the service mutex. More...
 
virtual ~Service ()
 
- Public Member Functions inherited from Mlt::Properties
char * anim_get (const char *name, int position, int length=0)
 
mlt_color anim_get_color (const char *name, int position, int length=0)
 
double anim_get_double (const char *name, int position, int length=0)
 
int anim_get_int (const char *name, int position, int length=0)
 
mlt_rect anim_get_rect (const char *name, int position, int length=0)
 
int anim_set (const char *name, const char *value, int position, int length=0)
 
int anim_set (const char *name, double value, int position, int length=0, mlt_keyframe_type keyframe_type=mlt_keyframe_linear)
 
int anim_set (const char *name, int value, int position, int length=0, mlt_keyframe_type keyframe_type=mlt_keyframe_linear)
 
int anim_set (const char *name, mlt_color value, int position, int length=0, mlt_keyframe_type keyframe_type=mlt_keyframe_linear)
 
int anim_set (const char *name, mlt_rect value, int position, int length=0, mlt_keyframe_type keyframe_type=mlt_keyframe_linear)
 
void block (void *object=NULL)
 Suppress event delivery to object. More...
 
void clear (const char *name)
 
int copy (Properties &that, const char *prefix)
 Copy all properties whose names begin with prefix from that. More...
 
int count ()
 Return the number of name/value pairs stored. More...
 
void debug (const char *title="Object", FILE *output=stderr)
 
int dec_ref ()
 
void dump (FILE *output=stderr)
 Write all properties to output as "name=value" lines. More...
 
int fire_event (const char *event)
 Fire a named event manually. More...
 
char * frames_to_time (int, mlt_time_format=mlt_time_smpte_df)
 
char * get (const char *name)
 Get a string property value by name. More...
 
char * get (int index)
 Return the property value at positional index as a string. More...
 
char * get (int index, mlt_time_format)
 Return the property value at positional index in the given time format. More...
 
Animationget_anim (const char *name)
 
mlt_animation get_animation (const char *name)
 
mlt_color get_color (const char *name)
 
void * get_data (const char *name)
 
void * get_data (const char *name, int &size)
 Get opaque data stored by name; size receives the byte count. More...
 
void * get_data (int index, int &size)
 
double get_double (const char *name)
 Get a double property value by name. More...
 
int get_int (const char *name)
 Get an integer property value by name. More...
 
int64_t get_int64 (const char *name)
 Get a 64-bit integer property value by name. More...
 
const char * get_lcnumeric ()
 
char * get_name (int index)
 Return the property name at positional index. More...
 
Propertiesget_props (const char *name)
 
Propertiesget_props_at (int index)
 
mlt_rect get_rect (const char *name)
 
char * get_time (const char *name, mlt_time_format=mlt_time_smpte_df)
 
int inc_ref ()
 
int inherit (Properties &that)
 Copy all properties from that into this object. More...
 
bool is_anim (const char *name)
 
bool is_sequence ()
 Return true if all property names are numeric indices (i.e. More...
 
bool is_valid ()
 Return true if the underlying mlt_properties handle is non-null. More...
 
Eventlisten (const char *id, void *object, mlt_listener)
 Register a listener callback for the named event. More...
 
void load (const char *file)
 Merge properties from a file into this object. More...
 
void lock ()
 Acquire the recursive mutex protecting this object. More...
 
void mirror (Properties &that)
 Mirror all property changes on this object to that. More...
 
Propertiesoperator= (const Properties &properties)
 
int parse (const char *namevalue)
 Parse a "name=value" string and store the result. More...
 
int pass_list (Properties &that, const char *list)
 Copy the space-delimited list of named properties from that. More...
 
void pass_property (Properties &that, const char *name)
 Copy a single named property from that. More...
 
int pass_values (Properties &that, const char *prefix)
 Copy all properties whose names begin with prefix from that. More...
 
int preset (const char *name)
 Apply a named preset from the presets directory. More...
 
 Properties ()
 
 Properties (bool dummy)
 
 Properties (const char *file)
 Load properties from a file. More...
 
 Properties (const Properties &properties)
 
 Properties (mlt_properties properties)
 Wrap an existing mlt_properties without taking ownership. More...
 
 Properties (Properties &properties)
 
 Properties (void *properties)
 
bool property_exists (const char *name)
 
int ref_count ()
 
int rename (const char *source, const char *dest)
 Rename property source to dest. More...
 
int save (const char *file)
 Save properties to a file. More...
 
char * serialise_yaml ()
 
int set (const char *name, const char *value)
 Set a string property. More...
 
int set (const char *name, double value)
 Set a double property. More...
 
int set (const char *name, double x, double y, double w, double h, double opacity=1.0)
 
int set (const char *name, int value)
 Set an integer property. More...
 
int set (const char *name, int64_t value)
 Set a 64-bit integer property. More...
 
int set (const char *name, mlt_color value)
 
int set (const char *name, mlt_rect value)
 
int set (const char *name, Properties &properties)
 
int set (const char *name, void *value, int size, mlt_destructor destroy=NULL, mlt_serialiser serial=NULL)
 Store opaque data with an optional destructor and serialiser. More...
 
int set_lcnumeric (const char *locale)
 
int set_string (const char *name, const char *value)
 Set a string property (no environment-variable expansion). More...
 
Eventsetup_wait_for (const char *id)
 Set up a one-shot wait handle for event id. More...
 
int time_to_frames (const char *time)
 
void unblock (void *object=NULL)
 Resume event delivery to object. More...
 
void unlock ()
 Release the recursive mutex. More...
 
void wait_for (const char *id)
 
void wait_for (Event *, bool destroy=true)
 
virtual ~Properties ()
 

Private Attributes

mlt_filter instance
 

Additional Inherited Members

- Static Public Member Functions inherited from Mlt::Properties
static void delete_event (Event *)
 
static Propertiesparse_yaml (const char *file)
 Parse a YAML Tiny file and return a new Properties tree. More...
 

Detailed Description

C++ wrapper for mlt_filter — modifies a single producer's output.

A filter is attached to a service (typically a producer or another filter) and can inspect or modify each frame as it passes through the service network. Set the disable property to 1 to bypass the filter.

See also
mlt_filter_s

Constructor & Destructor Documentation

◆ Filter() [1/8]

Filter::Filter ( )

◆ Filter() [2/8]

Filter::Filter ( Profile profile,
const char *  id,
const char *  service = NULL 
)

Construct and instantiate filter id from the repository.

◆ Filter() [3/8]

Filter::Filter ( mlt_profile  profile,
const char *  id,
const char *  service = NULL 
)

◆ Filter() [4/8]

Filter::Filter ( Service filter)

◆ Filter() [5/8]

Filter::Filter ( Filter filter)

◆ Filter() [6/8]

Filter::Filter ( const Filter filter)

◆ Filter() [7/8]

Filter::Filter ( mlt_filter  filter)

Wrap an existing mlt_filter handle.

◆ Filter() [8/8]

Filter::Filter ( Filter filter)

◆ ~Filter()

Filter::~Filter ( )
virtual

Member Function Documentation

◆ connect()

int Filter::connect ( Service service,
int  index = 0 
)

Connect this filter to service at index.

◆ get_filter()

mlt_filter Filter::get_filter ( )
virtual

◆ get_in()

int Filter::get_in ( )

Return the in-point frame number.

◆ get_length()

int Filter::get_length ( )

Return the duration (out - in + 1).

◆ get_length2()

int Filter::get_length2 ( Frame frame)

Return the duration relative to frame's producer length.

◆ get_out()

int Filter::get_out ( )

Return the out-point frame number.

◆ get_position()

int Filter::get_position ( Frame frame)

Return the current position of frame relative to the filter's in-point.

◆ get_progress()

double Filter::get_progress ( Frame frame)

Return the playback progress of frame in the range [0.0, 1.0].

◆ get_service()

mlt_service Filter::get_service ( )
overridevirtual

Reimplemented from Mlt::Service.

◆ get_track()

int Filter::get_track ( )

Return the multitrack track index on which this filter is applied.

◆ operator=()

Filter & Filter::operator= ( const Filter filter)

◆ process()

void Filter::process ( Frame frame)

Run the filter's process function on frame (used by subclasses).

◆ set_in_and_out()

void Filter::set_in_and_out ( int  in,
int  out 
)

Restrict filter activity to the frame range [in, out].

Field Documentation

◆ instance

mlt_filter Mlt::Filter::instance
private

The documentation for this class was generated from the following files: