FJMovieEditor Pré-Alpha
A GTK video editor for GNOME. Designed for Artists to do, special effects, compositing and animation.

trunk/libfjme/keyframe.c File Reference

#include <glib.h>
#include "basic.h"
#include "keyframe.h"
#include "window.h"
#include "SharedDataSystem.h"
#include "Utils.h"
Include dependency graph for keyframe.c:

Functions

gint FrameComp (gconstpointer a, gconstpointer b)
 This function compares the number of frame, of two key frames.
gint FrameFind (gconstpointer a, gconstpointer b)
 Checks if two keyframe structures are to the same frame.
gint ValueFind (gconstpointer a, gconstpointer b)
 Checks if a pointer to gdouble (argument b) is contained in the structure mvalue (argument a)
mvalueFindAnmFromD (const gdouble *d)
 Get the structure mvalue from mvalue::v.
gdouble * AddAnimatedValue ()
 Returns a pointer, which is updated every frame, and support, insertion and deletion of key frames.
void AddFrameValue (mvalue *value, guint32 frame, gdouble v)
 Adds a key frame containing a given value (floating point).
void AddFrameData (mvalue *value, guint32 frame, gpointer data, guint32 len)
 Adds a key frame, containing some custom data.
void DelFrameValue (mvalue *value, guint32 frame)
 Deletes a key frame (keyframe), of structure mvalue.
void InsertFrame (gdouble *d)
 Inserts the current value of the variable in a key frame, generated from the current frame.
void InsertPluginFrame (iPlugin *p, gdouble *d)
 Insert a key frame, in the frame number of the layer (Layer::frame). Using the pointer to this layer (iPlugin::layer). The value to be inserted in, key frame, is "gdouble* d".
void DelFramel (gdouble *d)
 Deletes the current frame (keyframe), of this, animated variable (if any).
void DelPluginFrame (iPlugin *p, gdouble *d)
 Delete the current key frame , from a, animated variable.
void AnimateValues (guint32 frame1)
 Sets the value of all animated variables for a given frame.
void PluginFrame ()
 Calls the function IPlugin::Frame, for all plugins. But also makes the necessary adjustments.
void RenderFrame ()
 Merge the layers, considering its rotation, scaling and opacity.
void Frame ()
 This function must be called every time you need to process a frame.

Function Documentation

gdouble* AddAnimatedValue ( )

Returns a pointer, which is updated every frame, and support, insertion and deletion of key frames.

Author:
Fabio J. Gonzalez

Here is the caller graph for this function:

void AddFrameData ( mvalue value,
guint32  frame,
gpointer  data,
guint32  len 
)

Adds a key frame, containing some custom data.

Author:
Fabio J. Gonzalez

Here is the call graph for this function:

Here is the caller graph for this function:

void AddFrameValue ( mvalue value,
guint32  frame,
gdouble  v 
)

Adds a key frame containing a given value (floating point).

Author:
Fabio J. Gonzalez

Here is the call graph for this function:

Here is the caller graph for this function:

void AnimateValues ( guint32  frame)

Sets the value of all animated variables for a given frame.

This function is entered from the key frames, leaves all, animated variables, with the appropriate value for this frame (the value of key frames, or some intermediate point between them).

Author:
Fabio J. Gonzalez

Here is the caller graph for this function:

void DelFramel ( gdouble *  d)

Deletes the current frame (keyframe), of this, animated variable (if any).

Author:
Fabio J. Gonzalez

Here is the call graph for this function:

void DelFrameValue ( mvalue value,
guint32  frame 
)

Deletes a key frame (keyframe), of structure mvalue.

Author:
Fabio J. Gonzalez

Here is the call graph for this function:

Here is the caller graph for this function:

void DelPluginFrame ( iPlugin p,
gdouble *  d 
)

Delete the current key frame , from a, animated variable.

Author:
Fabio J. Gonzalez

Here is the call graph for this function:

Here is the caller graph for this function:

mvalue* FindAnmFromD ( const gdouble *  d)

Get the structure mvalue from mvalue::v.

Author:
Fabio J. Gonzalez

Here is the call graph for this function:

Here is the caller graph for this function:

void Frame ( )

This function must be called every time you need to process a frame.

In other words, this function is called every time you need to show a frame of the composition to User. As well, every frame that you need to write in a video file. Used only internally, the function Frame (IPlugin::Frame) of a plugin can not call. If the function of a Frame plugin (IPlugin::Frame) call, you can get in the loop without end.

Author:
Fabio J. Gonzalez

Here is the call graph for this function:

Here is the caller graph for this function:

gint FrameComp ( gconstpointer  a,
gconstpointer  b 
)

This function compares the number of frame, of two key frames.

Both arguments of this function must be pointers to key frames (keyframe structure). If the number of frame (keyframe::frame), the first keyframe, is less than the second, returns -1. If the number of the second frame is greater than the first, returns 1. If both are equal, it returns 0.

Author:
Fabio J. Gonzalez

Here is the caller graph for this function:

gint FrameFind ( gconstpointer  a,
gconstpointer  b 
)

Checks if two keyframe structures are to the same frame.

The advantage of using this structure is that we can find a key frame, and only frame number of it (aided by function, customized search, of glib). If the frames of the two key frames, are equal, it returns 0.

Author:
Fabio J. Gonzalez

Here is the caller graph for this function:

void InsertFrame ( gdouble *  d)

Inserts the current value of the variable in a key frame, generated from the current frame.

Author:
Fabio J. Gonzalez

Here is the call graph for this function:

void InsertPluginFrame ( iPlugin p,
gdouble *  d 
)

Insert a key frame, in the frame number of the layer (Layer::frame). Using the pointer to this layer (iPlugin::layer). The value to be inserted in, key frame, is "gdouble* d".

Author:
Fabio J. Gonzalez

Here is the call graph for this function:

Here is the caller graph for this function:

void PluginFrame ( )

Calls the function IPlugin::Frame, for all plugins. But also makes the necessary adjustments.

Author:
Fabio J. Gonzalez

Here is the call graph for this function:

Here is the caller graph for this function:

void RenderFrame ( )

Merge the layers, considering its rotation, scaling and opacity.

Author:
Fabio J. Gonzalez

Here is the call graph for this function:

Here is the caller graph for this function:

gint ValueFind ( gconstpointer  a,
gconstpointer  b 
)

Checks if a pointer to gdouble (argument b) is contained in the structure mvalue (argument a)

Author:
Fabio J. Gonzalez

Here is the caller graph for this function:

All Data Structures Files Functions Variables Typedefs Defines