]> git.sesse.net Git - mlt/blobdiff - src/framework/mlt_property.h
Add Catmull-Rom spline smooth animation interpolation.
[mlt] / src / framework / mlt_property.h
index f33aa88213e3b3ff8349a729345961b9263b61c4..8df1d16530feadd42df420c38aa43a7d7cbb5273 100644 (file)
 
 #include "mlt_types.h"
 
+#if defined(__FreeBSD__)
+/* This header has existed since 1994 and defines __FreeBSD_version below. */
+#include <sys/param.h>
+#endif
+
+#if defined(__GLIBC__) || defined(__DARWIN__) || (__FreeBSD_version >= 900506)
+#include <xlocale.h>
+#else
+typedef void* locale_t;
+#endif
+
 extern mlt_property mlt_property_init( );
 extern int mlt_property_set_int( mlt_property self, int value );
 extern int mlt_property_set_double( mlt_property self, double value );
@@ -33,14 +44,19 @@ extern int mlt_property_set_position( mlt_property self, mlt_position value );
 extern int mlt_property_set_int64( mlt_property self, int64_t value );
 extern int mlt_property_set_string( mlt_property self, const char *value );
 extern int mlt_property_set_data( mlt_property self, void *value, int length, mlt_destructor destructor, mlt_serialiser serialiser );
-extern int mlt_property_get_int( mlt_property self );
-extern double mlt_property_get_double( mlt_property self );
-extern mlt_position mlt_property_get_position( mlt_property self );
+extern int mlt_property_get_int( mlt_property self, double fps, locale_t );
+extern double mlt_property_get_double( mlt_property self, double fps, locale_t );
+extern mlt_position mlt_property_get_position( mlt_property self, double fps, locale_t );
 extern int64_t mlt_property_get_int64( mlt_property self );
 extern char *mlt_property_get_string( mlt_property self );
+extern char *mlt_property_get_string_l( mlt_property self, locale_t );
 extern void *mlt_property_get_data( mlt_property self, int *length );
 extern void mlt_property_close( mlt_property self );
-
-extern void mlt_property_pass( mlt_property this, mlt_property that );
+extern void mlt_property_pass( mlt_property self, mlt_property that );
+extern char *mlt_property_get_time( mlt_property self, mlt_time_format, double fps, locale_t );
+extern int mlt_property_interpolate(mlt_property self, mlt_property points[],
+                                     double progress, double fps, locale_t locale  , mlt_keyframe_type interp);
+extern double mlt_property_get_double_pos(mlt_property self, double fps, locale_t locale, int position, int length );
+extern int mlt_property_get_int_pos(mlt_property self, double fps, locale_t locale, int position, int length );
 
 #endif