MLT 7.4.0
mlt_properties.h
Go to the documentation of this file.
1
23#ifndef MLT_PROPERTIES_H
24#define MLT_PROPERTIES_H
25
26#include "mlt_types.h"
27#include "mlt_events.h"
28#include <stdio.h>
29
40{
41 void *child;
42 void *local;
47};
48
49extern int mlt_properties_init( mlt_properties, void *child );
51extern int mlt_properties_set_lcnumeric( mlt_properties, const char *locale );
53extern mlt_properties mlt_properties_load( const char *file );
54extern int mlt_properties_preset( mlt_properties self, const char *name );
60extern int mlt_properties_pass( mlt_properties self, mlt_properties that, const char *prefix );
61extern void mlt_properties_pass_property( mlt_properties self, mlt_properties that, const char *name );
62extern int mlt_properties_pass_list( mlt_properties self, mlt_properties that, const char *list );
63extern int mlt_properties_set( mlt_properties self, const char *name, const char *value );
64extern int mlt_properties_set_or_default( mlt_properties self, const char *name, const char *value, const char *def );
65extern int mlt_properties_set_string( mlt_properties self, const char *name, const char *value );
66extern int mlt_properties_parse( mlt_properties self, const char *namevalue );
67extern char *mlt_properties_get( mlt_properties self, const char *name );
68extern char *mlt_properties_get_name( mlt_properties self, int index );
70extern char *mlt_properties_get_value( mlt_properties self, int index );
71extern void *mlt_properties_get_data_at( mlt_properties self, int index, int *size );
72extern int mlt_properties_get_int( mlt_properties self, const char *name );
73extern int mlt_properties_set_int( mlt_properties self, const char *name, int value );
74extern int64_t mlt_properties_get_int64( mlt_properties self, const char *name );
75extern int mlt_properties_set_int64( mlt_properties self, const char *name, int64_t value );
76extern double mlt_properties_get_double( mlt_properties self, const char *name );
77extern int mlt_properties_set_double( mlt_properties self, const char *name, double value );
79extern int mlt_properties_set_position( mlt_properties self, const char *name, mlt_position value );
80extern int mlt_properties_set_data( mlt_properties self, const char *name, void *value, int length, mlt_destructor, mlt_serialiser );
81extern void *mlt_properties_get_data( mlt_properties self, const char *name, int *length );
82extern int mlt_properties_rename( mlt_properties self, const char *source, const char *dest );
84extern void mlt_properties_dump( mlt_properties self, FILE *output );
85extern void mlt_properties_debug( mlt_properties self, const char *title, FILE *output );
86extern int mlt_properties_save( mlt_properties, const char * );
87extern int mlt_properties_dir_list( mlt_properties, const char *, const char *, int );
90extern mlt_properties mlt_properties_parse_yaml( const char *file );
94extern void mlt_properties_clear( mlt_properties self, const char *name );
95extern int mlt_properties_exists( mlt_properties self, const char *name );
96
97extern char *mlt_properties_get_time( mlt_properties, const char* name, mlt_time_format );
100
102extern int mlt_properties_set_color( mlt_properties, const char* name, mlt_color value );
103
104extern char* mlt_properties_anim_get( mlt_properties self, const char *name, int position, int length );
105extern int mlt_properties_anim_set( mlt_properties self, const char *name, const char *value, int position, int length );
106extern int mlt_properties_anim_get_int( mlt_properties self, const char *name, int position, int length );
107extern int mlt_properties_anim_set_int( mlt_properties self, const char *name, int value, int position, int length, mlt_keyframe_type keyframe_type );
108extern double mlt_properties_anim_get_double( mlt_properties self, const char *name, int position, int length );
109extern int mlt_properties_anim_set_double( mlt_properties self, const char *name, double value, int position, int length, mlt_keyframe_type keyframe_type );
111extern int mlt_properties_is_anim(mlt_properties self, const char *name);
112
113extern int mlt_properties_set_rect( mlt_properties self, const char *name, mlt_rect value );
114extern mlt_rect mlt_properties_get_rect( mlt_properties self, const char *name );
115extern int mlt_properties_anim_set_rect( mlt_properties self, const char *name, mlt_rect value, int position, int length, mlt_keyframe_type keyframe_type );
116extern mlt_rect mlt_properties_anim_get_rect( mlt_properties self, const char *name, int position, int length );
117
118extern int mlt_properties_from_utf8( mlt_properties properties, const char *name_from, const char *name_to );
119extern int mlt_properties_to_utf8( mlt_properties properties, const char *name_from, const char *name_to );
120
121extern int mlt_properties_set_properties( mlt_properties self, const char *name, mlt_properties properties );
124
125#endif
event handling
int mlt_properties_to_utf8(mlt_properties properties, const char *name_from, const char *name_to)
Provides forward definitions of all public types.
mlt_time_format
The time string formats.
Definition: mlt_types.h:127
int32_t mlt_position
Definition: mlt_types.h:181
void(* mlt_destructor)(void *)
pointer to destructor function
Definition: mlt_types.h:233
mlt_keyframe_type
Interpolation methods for animation keyframes.
Definition: mlt_types.h:137
char *(* mlt_serialiser)(void *, int length)
pointer to serialization function
Definition: mlt_types.h:234
Property Animation class.
Definition: mlt_animation.c:49
A tuple of color components.
Definition: mlt_types.h:197
Properties class.
Definition: mlt_properties.h:40
int mlt_properties_set_int64(mlt_properties self, const char *name, int64_t value)
Set a property to a 64-bit integer value.
Definition: mlt_properties.c:1104
int mlt_properties_set(mlt_properties self, const char *name, const char *value)
Set a property to a string.
Definition: mlt_properties.c:725
void mlt_properties_pass_property(mlt_properties self, mlt_properties that, const char *name)
Copy a property to another properties list.
Definition: mlt_properties.c:631
mlt_properties mlt_properties_new()
Create a properties object.
Definition: mlt_properties.c:120
int mlt_properties_set_double(mlt_properties self, const char *name, double value)
Set a property to a floating point value.
Definition: mlt_properties.c:1156
int mlt_properties_set_int(mlt_properties self, const char *name, int value)
Set a property to an integer value.
Definition: mlt_properties.c:1060
int mlt_properties_init(mlt_properties self, void *child)
Initialize a properties object that was already allocated.
Definition: mlt_properties.c:85
void * child
the object of a subclass
Definition: mlt_properties.h:41
int mlt_properties_set_color(mlt_properties self, const char *name, mlt_color color)
Set a property to an integer value by color.
Definition: mlt_properties.c:2415
void mlt_properties_debug(mlt_properties self, const char *title, FILE *output)
Output the properties to a file handle.
Definition: mlt_properties.c:1336
int mlt_properties_anim_set_double(mlt_properties self, const char *name, double value, int position, int length, mlt_keyframe_type keyframe_type)
Set a property to a real number at a frame position.
Definition: mlt_properties.c:2596
int mlt_properties_set_data(mlt_properties self, const char *name, void *value, int length, mlt_destructor destroy, mlt_serialiser serialise)
Store binary data as a property.
Definition: mlt_properties.c:1257
void * close_object
the object supplied to the close virtual function
Definition: mlt_properties.h:46
char * mlt_properties_serialise_yaml(mlt_properties self)
Serialize a properties list as a string of YAML Tiny.
Definition: mlt_properties.c:2212
int mlt_properties_inherit(mlt_properties self, mlt_properties that)
Copy all serializable properties to another properties list.
Definition: mlt_properties.c:449
mlt_color mlt_properties_get_color(mlt_properties self, const char *name)
Convert a numeric property to a tuple of color components.
Definition: mlt_properties.c:2359
mlt_rect mlt_properties_anim_get_rect(mlt_properties self, const char *name, int position, int length)
Get a rectangle associated to the name at a frame position.
Definition: mlt_properties.c:2730
void * local
instance object
Definition: mlt_properties.h:42
mlt_animation mlt_properties_get_animation(mlt_properties self, const char *name)
Get the animation associated to the name.
Definition: mlt_properties.c:2629
int mlt_properties_preset(mlt_properties self, const char *name)
Set properties from a preset.
Definition: mlt_properties.c:290
int mlt_properties_set_or_default(mlt_properties self, const char *name, const char *value, const char *def)
Set or default a property to a string.
Definition: mlt_properties.c:827
int64_t mlt_properties_get_int64(mlt_properties self, const char *name)
Get a 64-bit integer associated to the name.
Definition: mlt_properties.c:1089
int mlt_properties_pass_list(mlt_properties self, mlt_properties that, const char *list)
Copy all properties specified in a comma-separated list to another properties list.
Definition: mlt_properties.c:654
char * mlt_properties_get_value_tf(mlt_properties self, int index, mlt_time_format time_format)
Get a property's string value by index (with time format).
Definition: mlt_properties.c:928
int mlt_properties_pass(mlt_properties self, mlt_properties that, const char *prefix)
Pass all serializable properties that match a prefix to another properties object.
Definition: mlt_properties.c:502
int mlt_properties_rename(mlt_properties self, const char *source, const char *dest)
Rename a property.
Definition: mlt_properties.c:1284
char * mlt_properties_anim_get(mlt_properties self, const char *name, int position, int length)
Get a string value by name at a frame position.
Definition: mlt_properties.c:2456
int mlt_properties_set_lcnumeric(mlt_properties self, const char *locale)
Set the numeric locale used for string/double conversions.
Definition: mlt_properties.c:140
mlt_properties mlt_properties_load(const char *filename)
Create a properties object by reading a .properties text file.
Definition: mlt_properties.c:259
char * mlt_properties_get_value(mlt_properties self, int index)
Get a property's string value by index.
Definition: mlt_properties.c:946
int mlt_properties_from_utf8(mlt_properties properties, const char *name_from, const char *name_to)
Convert UTF-8 property to the locale-defined encoding.
Definition: mlt_properties.c:2755
void mlt_properties_mirror(mlt_properties self, mlt_properties that)
Set a properties list to be a mirror copy of another.
Definition: mlt_properties.c:434
int mlt_properties_anim_set_int(mlt_properties self, const char *name, int value, int position, int length, mlt_keyframe_type keyframe_type)
Set a property to an integer value at a frame position.
Definition: mlt_properties.c:2538
void mlt_properties_clear(mlt_properties self, const char *name)
Remove the value for a property.
Definition: mlt_properties.c:2260
int mlt_properties_is_sequence(mlt_properties properties)
Determine if the properties list is really just a sequence or ordered list.
Definition: mlt_properties.c:1556
void mlt_properties_dump(mlt_properties self, FILE *output)
Dump the properties to a file handle.
Definition: mlt_properties.c:1318
int mlt_properties_set_position(mlt_properties self, const char *name, mlt_position value)
Set a property to a position value.
Definition: mlt_properties.c:1208
const char * mlt_properties_get_lcnumeric(mlt_properties self)
Get the numeric locale for this properties object.
Definition: mlt_properties.c:174
int mlt_properties_parse(mlt_properties self, const char *namevalue)
Set a value by parsing a name=value string.
Definition: mlt_properties.c:992
void mlt_properties_close(mlt_properties self)
Close a properties object.
Definition: mlt_properties.c:1494
double mlt_properties_get_double(mlt_properties self, const char *name)
Get a floating point value associated to the name.
Definition: mlt_properties.c:1133
char * mlt_properties_get_name(mlt_properties self, int index)
Get a property name by index.
Definition: mlt_properties.c:909
mlt_rect mlt_properties_get_rect(mlt_properties self, const char *name)
Get a rectangle associated to the name.
Definition: mlt_properties.c:2673
int mlt_properties_anim_get_int(mlt_properties self, const char *name, int position, int length)
Get an integer associated to the name at a frame position.
Definition: mlt_properties.c:2516
mlt_properties mlt_properties_get_properties_at(mlt_properties self, int index)
Get a nested properties object by index.
Definition: mlt_properties.c:2819
double mlt_properties_anim_get_double(mlt_properties self, const char *name, int position, int length)
Get a real number associated to the name at a frame position.
Definition: mlt_properties.c:2574
int mlt_properties_dec_ref(mlt_properties self)
Decrement the reference count.
Definition: mlt_properties.c:395
int mlt_properties_exists(mlt_properties self, const char *name)
Check if a property exists.
Definition: mlt_properties.c:2288
mlt_position mlt_properties_get_position(mlt_properties self, const char *name)
Get a position value associated to the name.
Definition: mlt_properties.c:1185
int mlt_properties_save(mlt_properties self, const char *filename)
Save the properties to a file by name.
Definition: mlt_properties.c:1367
void * mlt_properties_get_data_at(mlt_properties self, int index, int *size)
Get a data value by index.
Definition: mlt_properties.c:961
mlt_position mlt_properties_time_to_frames(mlt_properties self, const char *time)
Convert a time string to a frame count.
Definition: mlt_properties.c:2341
int mlt_properties_inc_ref(mlt_properties self)
Increment the reference count.
Definition: mlt_properties.c:375
void * mlt_properties_get_data(mlt_properties self, const char *name, int *length)
Get a binary data value associated to the name.
Definition: mlt_properties.c:1239
mlt_destructor close
the destructor virtual function
Definition: mlt_properties.h:45
char * mlt_properties_frames_to_time(mlt_properties self, mlt_position frames, mlt_time_format format)
Convert a frame count to a time string.
Definition: mlt_properties.c:2326
int mlt_properties_count(mlt_properties self)
Return the number of items in the list.
Definition: mlt_properties.c:977
int mlt_properties_anim_set(mlt_properties self, const char *name, const char *value, int position, int length)
Set a property to a string at a frame position.
Definition: mlt_properties.c:2480
int mlt_properties_set_properties(mlt_properties self, const char *name, mlt_properties properties)
Set a property to a nested properties object.
Definition: mlt_properties.c:2776
void mlt_properties_lock(mlt_properties self)
Protect a properties list against concurrent access.
Definition: mlt_properties.c:2233
char * mlt_properties_get_time(mlt_properties self, const char *name, mlt_time_format format)
Get a time string associated to the name.
Definition: mlt_properties.c:2303
int mlt_properties_anim_set_rect(mlt_properties self, const char *name, mlt_rect value, int position, int length, mlt_keyframe_type keyframe_type)
Set a property to a rectangle value at a frame position.
Definition: mlt_properties.c:2694
int mlt_properties_get_int(mlt_properties self, const char *name)
Get an integer associated to the name.
Definition: mlt_properties.c:1037
void mlt_properties_unlock(mlt_properties self)
End protecting a properties list against concurrent access.
Definition: mlt_properties.c:2245
mlt_properties mlt_properties_get_properties(mlt_properties self, const char *name)
Get a nested properties object by name.
Definition: mlt_properties.c:2805
int mlt_properties_is_anim(mlt_properties self, const char *name)
Check if a property is animated.
Definition: mlt_properties.c:2836
int mlt_properties_ref_count(mlt_properties self)
Get the reference count.
Definition: mlt_properties.c:415
int mlt_properties_set_rect(mlt_properties self, const char *name, mlt_rect value)
Set a property to a rectangle value.
Definition: mlt_properties.c:2644
mlt_properties mlt_properties_parse_yaml(const char *filename)
Parse a YAML Tiny file by name.
Definition: mlt_properties.c:1883
int mlt_properties_set_string(mlt_properties self, const char *name, const char *value)
Set a property to a string.
Definition: mlt_properties.c:846
int mlt_properties_dir_list(mlt_properties self, const char *dirname, const char *pattern, int sort)
Get the contents of a directory.
Definition: mlt_properties.c:1453
char * mlt_properties_get(mlt_properties self, const char *name)
Get a string value by name.
Definition: mlt_properties.c:888
A rectangle type with coordinates, size, and opacity.
Definition: mlt_types.h:186