MLT  7.28.0
mlt_property.h
Go to the documentation of this file.
1 
23 #ifndef MLT_PROPERTY_H
24 #define MLT_PROPERTY_H
25 
26 #include "mlt_types.h"
27 
28 #if defined(__FreeBSD__)
29 /* This header has existed since 1994 and defines __FreeBSD_version below. */
30 #include <sys/param.h>
31 #endif
32 
33 #if defined(__GLIBC__)
34 #include <locale.h>
35 typedef locale_t mlt_locale_t;
36 #elif defined(__APPLE__) || (defined(__FreeBSD_version) && __FreeBSD_version >= 900506)
37 #include <xlocale.h>
38 typedef locale_t mlt_locale_t;
39 #elif defined(__OpenBSD__)
40 /* XXX matches __nop_locale glue in libc++ */
41 typedef void *mlt_locale_t;
42 #elif (defined _WIN32 && defined _LIBCPP_VERSION)
43 struct mlt_locale_t;
44 #else
45 typedef char *mlt_locale_t;
46 #endif
47 
49 extern void mlt_property_clear(mlt_property self);
51 extern int mlt_property_set_int(mlt_property self, int value);
52 extern int mlt_property_set_double(mlt_property self, double value);
54 extern int mlt_property_set_int64(mlt_property self, int64_t value);
55 extern int mlt_property_set_string(mlt_property self, const char *value);
57  void *value,
58  int length,
59  mlt_destructor destructor,
60  mlt_serialiser serialiser);
61 extern int mlt_property_get_int(mlt_property self, double fps, mlt_locale_t);
62 extern double mlt_property_get_double(mlt_property self, double fps, mlt_locale_t);
64 extern int64_t mlt_property_get_int64(mlt_property self);
69 extern void *mlt_property_get_data(mlt_property self, int *length);
70 extern void mlt_property_close(mlt_property self);
73 
75  mlt_property points[],
76  double progress,
77  double fps,
78  mlt_locale_t locale,
79  mlt_keyframe_type interp);
81  mlt_property self, double fps, mlt_locale_t locale, int position, int length);
83  mlt_property self, double fps, mlt_locale_t locale, int position, int length);
85  mlt_property self, double fps, mlt_locale_t locale, int position, int length);
87  double value,
88  double fps,
89  mlt_locale_t locale,
90  int position,
91  int length,
92  mlt_keyframe_type keyframe_type);
94  int value,
95  double fps,
96  mlt_locale_t locale,
97  int position,
98  int length,
99  mlt_keyframe_type keyframe_type);
101  mlt_property self, const char *value, double fps, mlt_locale_t locale, int position, int length);
104 
108  mlt_color value,
109  double fps,
110  mlt_locale_t locale,
111  int position,
112  int length,
113  mlt_keyframe_type keyframe_type);
115  mlt_property self, double fps, mlt_locale_t locale, int position, int length);
116 
120  mlt_rect value,
121  double fps,
122  mlt_locale_t locale,
123  int position,
124  int length,
125  mlt_keyframe_type keyframe_type);
127  mlt_property self, double fps, mlt_locale_t locale, int position, int length);
128 
134 
135 #endif
char * mlt_locale_t
Definition: mlt_property.h:45
Provides forward definitions of all public types.
char *(* mlt_serialiser)(void *, int length)
pointer to serialization function
Definition: mlt_types.h:270
mlt_time_format
The time string formats.
Definition: mlt_types.h:134
int32_t mlt_position
Definition: mlt_types.h:217
void(* mlt_destructor)(void *)
pointer to destructor function
Definition: mlt_types.h:269
mlt_keyframe_type
Interpolation methods for animation keyframes.
Definition: mlt_types.h:143
Property Animation class.
Definition: mlt_animation.c:51
A tuple of color components.
Definition: mlt_types.h:234
Properties class.
Definition: mlt_properties.h:40
Property class.
Definition: mlt_property.c:62
int mlt_property_set_position(mlt_property self, mlt_position value)
Set the property to a position value.
Definition: mlt_property.c:215
mlt_animation mlt_property_get_animation(mlt_property self)
Get an object's animation object.
Definition: mlt_property.c:1659
int mlt_property_get_int(mlt_property self, double fps, mlt_locale_t locale)
Get the property as an integer.
Definition: mlt_property.c:476
mlt_rect mlt_property_anim_get_rect(mlt_property self, double fps, mlt_locale_t locale, int position, int length)
Get a rectangle at a frame position.
Definition: mlt_property.c:2015
int mlt_property_set_data(mlt_property self, void *value, int length, mlt_destructor destructor, mlt_serialiser serialiser)
Set a property to an opaque binary value.
Definition: mlt_property.c:283
mlt_properties mlt_property_get_properties(mlt_property self)
Get a nested properties object.
Definition: mlt_property.c:2063
char * mlt_property_get_string_tf(mlt_property self, mlt_time_format time_format)
Get the property as a string (with time format).
Definition: mlt_property.c:690
int mlt_property_anim_set_int(mlt_property self, int value, double fps, mlt_locale_t locale, int position, int length, mlt_keyframe_type keyframe_type)
Set a property animation keyframe to an integer value.
Definition: mlt_property.c:1587
double mlt_property_anim_get_double(mlt_property self, double fps, mlt_locale_t locale, int position, int length)
Get the real number at a frame position.
Definition: mlt_property.c:1432
double mlt_property_get_double(mlt_property self, double fps, mlt_locale_t locale)
Get the property as a floating point.
Definition: mlt_property.c:571
mlt_rect mlt_property_get_rect(mlt_property self, mlt_locale_t locale)
Get the property as a rectangle.
Definition: mlt_property.c:1874
void * mlt_property_get_data(mlt_property self, int *length)
Get the binary data from a property.
Definition: mlt_property.c:866
mlt_property mlt_property_init()
Construct a property and initialize it.
Definition: mlt_property.c:90
int mlt_property_anim_set_color(mlt_property self, mlt_color value, double fps, mlt_locale_t locale, int position, int length, mlt_keyframe_type keyframe_type)
Set a property animation keyframe to a color.
Definition: mlt_property.c:1753
int mlt_property_anim_get_int(mlt_property self, double fps, mlt_locale_t locale, int position, int length)
Get the property as an integer number at a frame position.
Definition: mlt_property.c:1466
int mlt_property_set_int(mlt_property self, int value)
Set the property to an integer value.
Definition: mlt_property.c:178
int mlt_property_anim_set_string(mlt_property self, const char *value, double fps, mlt_locale_t locale, int position, int length)
Set a property animation keyframe to a string.
Definition: mlt_property.c:1629
int mlt_property_set_color(mlt_property self, mlt_color value)
Set the property to a color value.
Definition: mlt_property.c:1675
mlt_color mlt_property_get_color(mlt_property self, double fps, mlt_locale_t locale)
Get the property as a color.
Definition: mlt_property.c:1695
char * mlt_property_get_time(mlt_property self, mlt_time_format format, double fps, mlt_locale_t locale)
Get the property as a time string.
Definition: mlt_property.c:1053
int mlt_property_is_color(mlt_property self)
Check if a property is a color.
Definition: mlt_property.c:2093
void mlt_property_pass(mlt_property self, mlt_property that)
Copy a property.
Definition: mlt_property.c:901
char * mlt_property_get_string_l_tf(mlt_property self, mlt_locale_t locale, mlt_time_format time_format)
Get the property as a string (with locale and time format).
Definition: mlt_property.c:766
char * mlt_property_get_string(mlt_property self)
Get the property as a string.
Definition: mlt_property.c:748
int mlt_property_set_int64(mlt_property self, int64_t value)
Set the property to a 64-bit integer value.
Definition: mlt_property.c:258
int mlt_property_anim_set_double(mlt_property self, double value, double fps, mlt_locale_t locale, int position, int length, mlt_keyframe_type keyframe_type)
Set a property animation keyframe to a real number.
Definition: mlt_property.c:1547
int mlt_property_interpolate(mlt_property self, mlt_property p[], double progress, double fps, mlt_locale_t locale, mlt_keyframe_type interp)
Interpolate a new property value given a set of other properties.
Definition: mlt_property.c:1235
int mlt_property_is_anim(mlt_property self)
Check if a property is animated.
Definition: mlt_property.c:2081
void mlt_property_clear(mlt_property self)
Clear (0/null) a property.
Definition: mlt_property.c:145
int mlt_property_is_rect(mlt_property self)
Check if a property is a rect.
Definition: mlt_property.c:2120
int mlt_property_is_numeric(mlt_property self, mlt_locale_t locale)
Determine if the property holds a numeric or numeric string value.
Definition: mlt_property.c:1146
int64_t mlt_property_get_int64(mlt_property self)
Get the property as a signed integer.
Definition: mlt_property.c:654
int mlt_property_set_properties(mlt_property self, mlt_properties properties)
Set a nested properties object.
Definition: mlt_property.c:2046
int mlt_property_set_double(mlt_property self, double value)
Set the property to a floating point value.
Definition: mlt_property.c:196
int mlt_property_anim_set_rect(mlt_property self, mlt_rect value, double fps, mlt_locale_t locale, int position, int length, mlt_keyframe_type keyframe_type)
Set a property animation keyframe to a rectangle.
Definition: mlt_property.c:1977
int mlt_property_is_clear(mlt_property self)
Check if a property is cleared.
Definition: mlt_property.c:159
int mlt_property_set_rect(mlt_property self, mlt_rect value)
Set a property to a mlt_rect rectangle.
Definition: mlt_property.c:1849
char * mlt_property_anim_get_string(mlt_property self, double fps, mlt_locale_t locale, int position, int length)
Get the string at certain a frame position.
Definition: mlt_property.c:1500
mlt_position mlt_property_get_position(mlt_property self, double fps, mlt_locale_t locale)
Get the property as a position.
Definition: mlt_property.c:605
char * mlt_property_get_string_l(mlt_property self, mlt_locale_t locale)
Get the property as a string (with locale).
Definition: mlt_property.c:847
mlt_color mlt_property_anim_get_color(mlt_property self, double fps, mlt_locale_t locale, int position, int length)
Get a color at a frame position.
Definition: mlt_property.c:1791
int mlt_property_set_string(mlt_property self, const char *value)
Set the property to a string value.
Definition: mlt_property.c:235
void mlt_property_close(mlt_property self)
Destroy a property and free all related resources.
Definition: mlt_property.c:885
A rectangle type with coordinates, size, and opacity.
Definition: mlt_types.h:223