MLT 6.22.1
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
37{
38 void *child;
39 void *local;
44};
45
46extern int mlt_properties_init( mlt_properties, void *child );
48extern int mlt_properties_set_lcnumeric( mlt_properties, const char *locale );
50extern mlt_properties mlt_properties_load( const char *file );
51extern int mlt_properties_preset( mlt_properties self, const char *name );
57extern int mlt_properties_pass( mlt_properties self, mlt_properties that, const char *prefix );
58extern void mlt_properties_pass_property( mlt_properties self, mlt_properties that, const char *name );
59extern int mlt_properties_pass_list( mlt_properties self, mlt_properties that, const char *list );
60extern int mlt_properties_set( mlt_properties self, const char *name, const char *value );
61extern int mlt_properties_set_or_default( mlt_properties self, const char *name, const char *value, const char *def );
62extern int mlt_properties_set_string( mlt_properties self, const char *name, const char *value );
63extern int mlt_properties_parse( mlt_properties self, const char *namevalue );
64extern char *mlt_properties_get( mlt_properties self, const char *name );
65extern char *mlt_properties_get_name( mlt_properties self, int index );
67extern char *mlt_properties_get_value( mlt_properties self, int index );
68extern void *mlt_properties_get_data_at( mlt_properties self, int index, int *size );
69extern int mlt_properties_get_int( mlt_properties self, const char *name );
70extern int mlt_properties_set_int( mlt_properties self, const char *name, int value );
71extern int64_t mlt_properties_get_int64( mlt_properties self, const char *name );
72extern int mlt_properties_set_int64( mlt_properties self, const char *name, int64_t value );
73extern double mlt_properties_get_double( mlt_properties self, const char *name );
74extern int mlt_properties_set_double( mlt_properties self, const char *name, double value );
76extern int mlt_properties_set_position( mlt_properties self, const char *name, mlt_position value );
77extern int mlt_properties_set_data( mlt_properties self, const char *name, void *value, int length, mlt_destructor, mlt_serialiser );
78extern void *mlt_properties_get_data( mlt_properties self, const char *name, int *length );
79extern int mlt_properties_rename( mlt_properties self, const char *source, const char *dest );
81extern void mlt_properties_dump( mlt_properties self, FILE *output );
82extern void mlt_properties_debug( mlt_properties self, const char *title, FILE *output );
83extern int mlt_properties_save( mlt_properties, const char * );
84extern int mlt_properties_dir_list( mlt_properties, const char *, const char *, int );
87extern mlt_properties mlt_properties_parse_yaml( const char *file );
91extern void mlt_properties_clear( mlt_properties self, const char *name );
92extern int mlt_properties_exists( mlt_properties self, const char *name );
93
94extern char *mlt_properties_get_time( mlt_properties, const char* name, mlt_time_format );
97
99extern int mlt_properties_set_color( mlt_properties, const char* name, mlt_color value );
100
101extern char* mlt_properties_anim_get( mlt_properties self, const char *name, int position, int length );
102extern int mlt_properties_anim_set( mlt_properties self, const char *name, const char *value, int position, int length );
103extern int mlt_properties_anim_get_int( mlt_properties self, const char *name, int position, int length );
104extern int mlt_properties_anim_set_int( mlt_properties self, const char *name, int value, int position, int length, mlt_keyframe_type keyframe_type );
105extern double mlt_properties_anim_get_double( mlt_properties self, const char *name, int position, int length );
106extern int mlt_properties_anim_set_double( mlt_properties self, const char *name, double value, int position, int length, mlt_keyframe_type keyframe_type );
108
109extern int mlt_properties_set_rect( mlt_properties self, const char *name, mlt_rect value );
110extern mlt_rect mlt_properties_get_rect( mlt_properties self, const char *name );
111extern int mlt_properties_anim_set_rect( mlt_properties self, const char *name, mlt_rect value, int position, int length, mlt_keyframe_type keyframe_type );
112extern mlt_rect mlt_properties_anim_get_rect( mlt_properties self, const char *name, int position, int length );
113
114extern int mlt_properties_from_utf8( mlt_properties properties, const char *name_from, const char *name_to );
115extern int mlt_properties_to_utf8( mlt_properties properties, const char *name_from, const char *name_to );
116#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:110
int32_t mlt_position
Definition: mlt_types.h:163
void(* mlt_destructor)(void *)
pointer to destructor function
Definition: mlt_types.h:212
mlt_keyframe_type
Interpolation methods for animation keyframes.
Definition: mlt_types.h:121
char *(* mlt_serialiser)(void *, int length)
pointer to serialization function
Definition: mlt_types.h:213
Property Animation class.
Definition: mlt_animation.c:49
A tuple of color components.
Definition: mlt_types.h:179
Properties class.
Definition: mlt_properties.h:37
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:1081
int mlt_properties_set(mlt_properties self, const char *name, const char *value)
Set a property to a string.
Definition: mlt_properties.c:702
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:609
mlt_properties mlt_properties_new()
Create a properties object.
Definition: mlt_properties.c:115
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:1133
int mlt_properties_set_int(mlt_properties self, const char *name, int value)
Set a property to an integer value.
Definition: mlt_properties.c:1037
int mlt_properties_init(mlt_properties self, void *child)
Initialize a properties object that was already allocated.
Definition: mlt_properties.c:80
void * child
the object of a subclass
Definition: mlt_properties.h:38
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:2390
void mlt_properties_debug(mlt_properties self, const char *title, FILE *output)
Output the properties to a file handle.
Definition: mlt_properties.c:1313
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:2565
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:1234
void * close_object
the object supplied to the close virtual function
Definition: mlt_properties.h:43
char * mlt_properties_serialise_yaml(mlt_properties self)
Serialize a properties list as a string of YAML Tiny.
Definition: mlt_properties.c:2187
int mlt_properties_inherit(mlt_properties self, mlt_properties that)
Copy all serializable properties to another properties list.
Definition: mlt_properties.c:444
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:2334
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:2699
void * local
instance object
Definition: mlt_properties.h:39
mlt_animation mlt_properties_get_animation(mlt_properties self, const char *name)
Get the animation associated to the name.
Definition: mlt_properties.c:2598
int mlt_properties_preset(mlt_properties self, const char *name)
Set properties from a preset.
Definition: mlt_properties.c:285
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:804
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:1066
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:631
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:905
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:485
int mlt_properties_rename(mlt_properties self, const char *source, const char *dest)
Rename a property.
Definition: mlt_properties.c:1261
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:2425
int mlt_properties_set_lcnumeric(mlt_properties self, const char *locale)
Set the numeric locale used for string/double conversions.
Definition: mlt_properties.c:135
mlt_properties mlt_properties_load(const char *filename)
Create a properties object by reading a .properties text file.
Definition: mlt_properties.c:254
char * mlt_properties_get_value(mlt_properties self, int index)
Get a property's string value by index.
Definition: mlt_properties.c:923
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:2724
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:429
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:2507
void mlt_properties_clear(mlt_properties self, const char *name)
Remove the value for a property.
Definition: mlt_properties.c:2235
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:1531
void mlt_properties_dump(mlt_properties self, FILE *output)
Dump the properties to a file handle.
Definition: mlt_properties.c:1295
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:1185
const char * mlt_properties_get_lcnumeric(mlt_properties self)
Get the numeric locale for this properties object.
Definition: mlt_properties.c:169
int mlt_properties_parse(mlt_properties self, const char *namevalue)
Set a value by parsing a name=value string.
Definition: mlt_properties.c:969
void mlt_properties_close(mlt_properties self)
Close a properties object.
Definition: mlt_properties.c:1469
double mlt_properties_get_double(mlt_properties self, const char *name)
Get a floating point value associated to the name.
Definition: mlt_properties.c:1110
char * mlt_properties_get_name(mlt_properties self, int index)
Get a property name by index.
Definition: mlt_properties.c:886
mlt_rect mlt_properties_get_rect(mlt_properties self, const char *name)
Get a rectangle associated to the name.
Definition: mlt_properties.c:2642
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:2485
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:2543
int mlt_properties_dec_ref(mlt_properties self)
Decrement the reference count.
Definition: mlt_properties.c:390
int mlt_properties_exists(mlt_properties self, const char *name)
Check if a property exists.
Definition: mlt_properties.c:2263
mlt_position mlt_properties_get_position(mlt_properties self, const char *name)
Get a position value associated to the name.
Definition: mlt_properties.c:1162
int mlt_properties_save(mlt_properties self, const char *filename)
Save the properties to a file by name.
Definition: mlt_properties.c:1342
void * mlt_properties_get_data_at(mlt_properties self, int index, int *size)
Get a data value by index.
Definition: mlt_properties.c:938
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:2316
int mlt_properties_inc_ref(mlt_properties self)
Increment the reference count.
Definition: mlt_properties.c:370
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:1216
mlt_destructor close
the destructor virtual function
Definition: mlt_properties.h:42
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:2301
int mlt_properties_count(mlt_properties self)
Return the number of items in the list.
Definition: mlt_properties.c:954
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:2449
void mlt_properties_lock(mlt_properties self)
Protect a properties list against concurrent access.
Definition: mlt_properties.c:2208
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:2278
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:2663
int mlt_properties_get_int(mlt_properties self, const char *name)
Get an integer associated to the name.
Definition: mlt_properties.c:1014
void mlt_properties_unlock(mlt_properties self)
End protecting a properties list against concurrent access.
Definition: mlt_properties.c:2220
int mlt_properties_ref_count(mlt_properties self)
Get the reference count.
Definition: mlt_properties.c:410
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:2613
mlt_properties mlt_properties_parse_yaml(const char *filename)
Parse a YAML Tiny file by name.
Definition: mlt_properties.c:1858
int mlt_properties_set_string(mlt_properties self, const char *name, const char *value)
Set a property to a string.
Definition: mlt_properties.c:823
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:1428
char * mlt_properties_get(mlt_properties self, const char *name)
Get a string value by name.
Definition: mlt_properties.c:865
A rectangle type with coordinates, size, and opacity.
Definition: mlt_types.h:168