MLT  7.24.0
Data Structures | Typedefs | Enumerations | Functions | Variables
mlt_animation.c File Reference

Property Animation class definition. More...

#include "mlt_animation.h"
#include "mlt_factory.h"
#include "mlt_profile.h"
#include "mlt_properties.h"
#include "mlt_tokeniser.h"
#include <float.h>
#include <math.h>
#include <stdio.h>
#include <stdlib.h>
#include <string.h>

Data Structures

struct  animation_node_s
 private animation list node More...
 
struct  mlt_animation_s
 Property Animation class. More...
 

Typedefs

typedef struct animation_node_sanimation_node
 animation list node pointer More...
 

Enumerations

enum  ease_type { ease_in , ease_out , ease_inout }
 Easing functions. More...
 

Functions

static double back_interpolate (double y1, double y2, double t, ease_type ease)
 
static double bounce_interpolate (double y1, double y2, double t, ease_type ease)
 
static double circular_interpolate (double y1, double y2, double t, ease_type ease)
 
static mlt_time_format default_time_format ()
 
static double elastic_interpolate (double y1, double y2, double t, ease_type ease)
 
static double exponential_interpolate (double y1, double y2, double t, ease_type ease)
 
static int interpolate_item (mlt_animation_item item, mlt_animation_item p[], double fps, mlt_locale_t locale)
 
static double interpolate_value (double x0, double y0, double x1, double y1, double x2, double y2, double x3, double y3, double t, mlt_keyframe_type type)
 
static const char * keyframe_type_to_str (mlt_keyframe_type t)
 
static void mlt_animation_clear_string (mlt_animation self)
 
static double power_interpolate (double y1, double y2, double t, double order, ease_type ease)
 
static double sinusoidal_interpolate (double y1, double y2, double t, ease_type ease)
 
static mlt_keyframe_type str_to_keyframe_type (const char *s)
 

Variables

struct {
   const char *   s
 
   mlt_keyframe_type   t
 
keyframe_type_map []
 Keyframe type to string mapping. More...
 

Detailed Description

Property Animation class definition.

See also
mlt_animation_s

Copyright (C) 2004-2023 Meltytech, LLC

This library is free software; you can redistribute it and/or modify it under the terms of the GNU Lesser General Public License as published by the Free Software Foundation; either version 2.1 of the License, or (at your option) any later version.

This library is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU Lesser General Public License for more details.

You should have received a copy of the GNU Lesser General Public License along with this library; if not, write to the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA

Typedef Documentation

◆ animation_node

animation list node pointer

Enumeration Type Documentation

◆ ease_type

enum ease_type

Easing functions.

The following easing functions are based on Robert Penner's Easing Functions http://robertpenner.com/easing/

Enumerator
ease_in 
ease_out 
ease_inout 

Function Documentation

◆ back_interpolate()

static double back_interpolate ( double  y1,
double  y2,
double  t,
ease_type  ease 
)
inlinestatic

◆ bounce_interpolate()

static double bounce_interpolate ( double  y1,
double  y2,
double  t,
ease_type  ease 
)
inlinestatic

◆ circular_interpolate()

static double circular_interpolate ( double  y1,
double  y2,
double  t,
ease_type  ease 
)
inlinestatic

◆ default_time_format()

static mlt_time_format default_time_format ( )
static

◆ elastic_interpolate()

static double elastic_interpolate ( double  y1,
double  y2,
double  t,
ease_type  ease 
)
inlinestatic

◆ exponential_interpolate()

static double exponential_interpolate ( double  y1,
double  y2,
double  t,
ease_type  ease 
)
inlinestatic

◆ interpolate_item()

static int interpolate_item ( mlt_animation_item  item,
mlt_animation_item  p[],
double  fps,
mlt_locale_t  locale 
)
static

◆ interpolate_value()

static double interpolate_value ( double  x0,
double  y0,
double  x1,
double  y1,
double  x2,
double  y2,
double  x3,
double  y3,
double  t,
mlt_keyframe_type  type 
)
inlinestatic

◆ keyframe_type_to_str()

static const char* keyframe_type_to_str ( mlt_keyframe_type  t)
static

◆ mlt_animation_clear_string()

static void mlt_animation_clear_string ( mlt_animation  self)
static

◆ power_interpolate()

static double power_interpolate ( double  y1,
double  y2,
double  t,
double  order,
ease_type  ease 
)
inlinestatic

◆ sinusoidal_interpolate()

static double sinusoidal_interpolate ( double  y1,
double  y2,
double  t,
ease_type  ease 
)
inlinestatic

◆ str_to_keyframe_type()

static mlt_keyframe_type str_to_keyframe_type ( const char *  s)
static

Variable Documentation

◆ 

struct { ... } keyframe_type_map[]

Keyframe type to string mapping.

Used for serialization and deserialization of keyframe types

◆ s

const char* s

◆ t