MLT 7.8.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_copy( mlt_properties self, mlt_properties that, const char *prefix );
61extern int mlt_properties_pass( mlt_properties self, mlt_properties that, const char *prefix );
62extern void mlt_properties_pass_property( mlt_properties self, mlt_properties that, const char *name );
63extern int mlt_properties_pass_list( mlt_properties self, mlt_properties that, const char *list );
64extern int mlt_properties_set( mlt_properties self, const char *name, const char *value );
65extern int mlt_properties_set_or_default( mlt_properties self, const char *name, const char *value, const char *def );
66extern int mlt_properties_set_string( mlt_properties self, const char *name, const char *value );
67extern int mlt_properties_parse( mlt_properties self, const char *namevalue );
68extern char *mlt_properties_get( mlt_properties self, const char *name );
69extern char *mlt_properties_get_name( mlt_properties self, int index );
71extern char *mlt_properties_get_value( mlt_properties self, int index );
72extern void *mlt_properties_get_data_at( mlt_properties self, int index, int *size );
73extern int mlt_properties_get_int( mlt_properties self, const char *name );
74extern int mlt_properties_set_int( mlt_properties self, const char *name, int value );
75extern int64_t mlt_properties_get_int64( mlt_properties self, const char *name );
76extern int mlt_properties_set_int64( mlt_properties self, const char *name, int64_t value );
77extern double mlt_properties_get_double( mlt_properties self, const char *name );
78extern int mlt_properties_set_double( mlt_properties self, const char *name, double value );
80extern int mlt_properties_set_position( mlt_properties self, const char *name, mlt_position value );
81extern int mlt_properties_set_data( mlt_properties self, const char *name, void *value, int length, mlt_destructor, mlt_serialiser );
82extern void *mlt_properties_get_data( mlt_properties self, const char *name, int *length );
83extern int mlt_properties_rename( mlt_properties self, const char *source, const char *dest );
85extern void mlt_properties_dump( mlt_properties self, FILE *output );
86extern void mlt_properties_debug( mlt_properties self, const char *title, FILE *output );
87extern int mlt_properties_save( mlt_properties, const char * );
88extern int mlt_properties_dir_list( mlt_properties, const char *, const char *, int );
91extern mlt_properties mlt_properties_parse_yaml( const char *file );
95extern void mlt_properties_clear( mlt_properties self, const char *name );
96extern int mlt_properties_exists( mlt_properties self, const char *name );
97
98extern char *mlt_properties_get_time( mlt_properties, const char* name, mlt_time_format );
101
103extern int mlt_properties_set_color( mlt_properties, const char* name, mlt_color value );
104
105extern char* mlt_properties_anim_get( mlt_properties self, const char *name, int position, int length );
106extern int mlt_properties_anim_set( mlt_properties self, const char *name, const char *value, int position, int length );
107extern int mlt_properties_anim_get_int( mlt_properties self, const char *name, int position, int length );
108extern int mlt_properties_anim_set_int( mlt_properties self, const char *name, int value, int position, int length, mlt_keyframe_type keyframe_type );
109extern double mlt_properties_anim_get_double( mlt_properties self, const char *name, int position, int length );
110extern int mlt_properties_anim_set_double( mlt_properties self, const char *name, double value, int position, int length, mlt_keyframe_type keyframe_type );
112extern int mlt_properties_is_anim(mlt_properties self, const char *name);
113
114extern int mlt_properties_set_rect( mlt_properties self, const char *name, mlt_rect value );
115extern mlt_rect mlt_properties_get_rect( mlt_properties self, const char *name );
116extern int mlt_properties_anim_set_rect( mlt_properties self, const char *name, mlt_rect value, int position, int length, mlt_keyframe_type keyframe_type );
117extern mlt_rect mlt_properties_anim_get_rect( mlt_properties self, const char *name, int position, int length );
118
119extern int mlt_properties_from_utf8( mlt_properties properties, const char *name_from, const char *name_to );
120extern int mlt_properties_to_utf8( mlt_properties properties, const char *name_from, const char *name_to );
121
122extern int mlt_properties_set_properties( mlt_properties self, const char *name, mlt_properties properties );
125
126#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:1132
int mlt_properties_set(mlt_properties self, const char *name, const char *value)
Set a property to a string.
Definition: mlt_properties.c:753
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:659
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:1184
int mlt_properties_set_int(mlt_properties self, const char *name, int value)
Set a property to an integer value.
Definition: mlt_properties.c:1088
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:2443
void mlt_properties_debug(mlt_properties self, const char *title, FILE *output)
Output the properties to a file handle.
Definition: mlt_properties.c:1364
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:2624
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:1285
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:2240
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:2387
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:2758
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:2657
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:855
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:1117
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:682
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:956
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:530
int mlt_properties_rename(mlt_properties self, const char *source, const char *dest)
Rename a property.
Definition: mlt_properties.c:1312
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:2484
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:974
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:2783
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:2566
void mlt_properties_clear(mlt_properties self, const char *name)
Remove the value for a property.
Definition: mlt_properties.c:2288
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:1584
void mlt_properties_dump(mlt_properties self, FILE *output)
Dump the properties to a file handle.
Definition: mlt_properties.c:1346
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:1236
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:1020
void mlt_properties_close(mlt_properties self)
Close a properties object.
Definition: mlt_properties.c:1522
double mlt_properties_get_double(mlt_properties self, const char *name)
Get a floating point value associated to the name.
Definition: mlt_properties.c:1161
char * mlt_properties_get_name(mlt_properties self, int index)
Get a property name by index.
Definition: mlt_properties.c:937
mlt_rect mlt_properties_get_rect(mlt_properties self, const char *name)
Get a rectangle associated to the name.
Definition: mlt_properties.c:2701
int mlt_properties_copy(mlt_properties self, mlt_properties that, const char *prefix)
Copy all serializable properties that match a prefix to another properties object.
Definition: mlt_properties.c:499
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:2544
mlt_properties mlt_properties_get_properties_at(mlt_properties self, int index)
Get a nested properties object by index.
Definition: mlt_properties.c:2847
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:2602
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:2316
mlt_position mlt_properties_get_position(mlt_properties self, const char *name)
Get a position value associated to the name.
Definition: mlt_properties.c:1213
int mlt_properties_save(mlt_properties self, const char *filename)
Save the properties to a file by name.
Definition: mlt_properties.c:1395
void * mlt_properties_get_data_at(mlt_properties self, int index, int *size)
Get a data value by index.
Definition: mlt_properties.c:989
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:2369
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:1267
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:2354
int mlt_properties_count(mlt_properties self)
Return the number of items in the list.
Definition: mlt_properties.c:1005
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:2508
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:2804
void mlt_properties_lock(mlt_properties self)
Protect a properties list against concurrent access.
Definition: mlt_properties.c:2261
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:2331
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:2722
int mlt_properties_get_int(mlt_properties self, const char *name)
Get an integer associated to the name.
Definition: mlt_properties.c:1065
void mlt_properties_unlock(mlt_properties self)
End protecting a properties list against concurrent access.
Definition: mlt_properties.c:2273
mlt_properties mlt_properties_get_properties(mlt_properties self, const char *name)
Get a nested properties object by name.
Definition: mlt_properties.c:2833
int mlt_properties_is_anim(mlt_properties self, const char *name)
Check if a property is animated.
Definition: mlt_properties.c:2864
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:2672
mlt_properties mlt_properties_parse_yaml(const char *filename)
Parse a YAML Tiny file by name.
Definition: mlt_properties.c:1911
int mlt_properties_set_string(mlt_properties self, const char *name, const char *value)
Set a property to a string.
Definition: mlt_properties.c:874
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:1481
char * mlt_properties_get(mlt_properties self, const char *name)
Get a string value by name.
Definition: mlt_properties.c:916
A rectangle type with coordinates, size, and opacity.
Definition: mlt_types.h:186