LiVES 1.4.9
Data Structures | Defines | Typedefs | Enumerations | Functions | Variables

src/plugins.h File Reference

#include <gmodule.h>
#include <unistd.h>
#include <string.h>
#include <fcntl.h>
#include <stdlib.h>

Go to the source code of this file.

Data Structures

struct  _vid_playback_plugin
struct  _encoder
struct  lives_clip_data_t
struct  lives_decoder_sys_t
struct  lives_decoder_t
struct  lives_param_t
struct  lives_rfx_t
struct  lives_fx_candidate_t
struct  _vppaw

Defines

#define PLUGIN_ENCODERS   "encoders"
#define PLUGIN_DECODERS   "decoders"
#define PLUGIN_VID_PLAYBACK   "playback/video"
#define PLUGIN_AUDIO_STREAM   "playback/audiostream"
#define PLUGIN_THEMES   "themes"
 smogrify handles the directory differently for themes
#define PLUGIN_EFFECTS_WEED   "weed"
 uses WEED_PLUGIN_PATH
#define PLUGIN_WEED_FX_BUILTIN   "effects/realtime/weed"
#define VPP_CAN_RESIZE   1<<0
#define VPP_CAN_RETURN   1<<1
#define VPP_LOCAL_DISPLAY   1<<2
#define DEF_VPP_HSIZE   320.
#define DEF_VPP_VSIZE   240.
#define AUDIO_CODEC_MP3   0
#define AUDIO_CODEC_PCM   1
#define AUDIO_CODEC_MP2   2
#define AUDIO_CODEC_VORBIS   3
#define AUDIO_CODEC_AC3   4
#define AUDIO_CODEC_AAC   5
#define AUDIO_CODEC_AMR_NB   6
#define AUDIO_CODEC_RAW   7
#define AUDIO_CODEC_WMA2   8
#define AUDIO_CODEC_MAX   31
#define AUDIO_CODEC_NONE   32
#define AUDIO_CODEC_UNKNOWN   33
#define HAS_RFX   1<<0
#define CAN_ENCODE_PNG   1<<2
#define ENCODER_NON_NATIVE   1<<3
#define LIVES_SEEK_FAST   (1<<0)
 good
#define LIVES_SEEK_NEEDS_CALCULATION   (1<<1)
 not so good
#define LIVES_SEEK_QUALITY_LOSS   (1<<2)
#define PLUGIN_RENDERED_EFFECTS_BUILTIN   "effects/rendered/"
 external rendered fx plugins (RFX plugins)
#define PLUGIN_RENDERED_EFFECTS_CUSTOM   "plugins/effects/rendered/custom/"
 in the home directory
#define PLUGIN_RENDERED_EFFECTS_TEST   "plugins/effects/rendered/test/"
#define PLUGIN_RENDERED_EFFECTS_BUILTIN_SCRIPTS   "effects/RFXscripts/"
 rfx scripts for the SDK
#define PLUGIN_RENDERED_EFFECTS_CUSTOM_SCRIPTS   "plugins/effects/RFXscripts/custom/"
 in the home directory
#define PLUGIN_RENDERED_EFFECTS_TEST_SCRIPTS   "plugins/effects/RFXscripts/test/"
#define PLUGIN_RFX_SCRAP   ""
 scraps are passed between programs to generate param windows
#define MAX_PARAM_WIDGETS   5
 max number of display widgets per parameter (currently 5 for RGBA spinbuttons + colorbutton)
#define RFX_MAXSTRINGLEN   1024
 length of max string (not including terminating NULL) for LiVES-perl
#define HIDDEN_GUI   (1<<0)
#define HIDDEN_MULTI   (1<<1)
#define HIDDEN_NEEDS_REINIT   (1<<2)
#define PVAL_MULTI_NONE   0
#define PVAL_MULTI_ANY   1
#define PVAL_MULTI_PER_CHANNEL   2
#define RFX_PROPS_SLOW   0x0001
 hint to GUI
#define RFX_PROPS_MAY_RESIZE   0x0002
 is a tool
#define RFX_PROPS_BATCHG   0x0004
 is a batch generator
#define RFX_PROPS_RESERVED1   0x1000
#define RFX_PROPS_RESERVED2   0x2000
#define RFX_PROPS_RESERVED3   0x4000
#define RFX_PROPS_AUTO_BUILT   0x8000
#define FX_CANDIDATE_AUDIO_VOL   0
#define FX_CANDIDATE_RESIZER   1
#define FX_CANDIDATE_DEINTERLACE   2
#define MAX_FX_CANDIDATE_TYPES   3

Typedefs

typedef gboolean(* plugin_keyfunc )(gboolean down, guint16 unicode, guint16 keymod)
 video playback plugins

Enumerations

enum  lives_param_type_t {
  LIVES_PARAM_UNKNOWN = 0, LIVES_PARAM_NUM, LIVES_PARAM_BOOL, LIVES_PARAM_COLRGB24,
  LIVES_PARAM_STRING, LIVES_PARAM_STRING_LIST, LIVES_PARAM_COLRGBA32, LIVES_PARAM_UNDISPLAYABLE = 65536
}
enum  lives_rfx_source_t { LIVES_RFX_SOURCE_RFX = 0, LIVES_RFX_SOURCE_WEED }
enum  lives_rfx_status_t {
  RFX_STATUS_BUILTIN = 0, RFX_STATUS_CUSTOM = 1, RFX_STATUS_TEST = 2, RFX_STATUS_ANY = 3,
  RFX_STATUS_WEED = 4, RFX_STATUS_SCRAP = 5, RFX_STATUS_COPY = 128, RFX_STATUS_RENAME = 129
}

Functions

GList * get_plugin_list (const gchar *plugin_type, gboolean allow_nonex, const gchar *plugdir, const gchar *filter_ext)
GList * plugin_request (const gchar *plugin_type, const gchar *plugin_name, const gchar *request)
GList * plugin_request_with_blanks (const gchar *plugin_type, const gchar *plugin_name, const gchar *request)
GList * plugin_request_by_line (const gchar *plugin_type, const gchar *plugin_name, const gchar *request)
GList * plugin_request_by_space (const gchar *plugin_type, const gchar *plugin_name, const gchar *request)
GList * plugin_request_common (const gchar *plugin_type, const gchar *plugin_name, const gchar *request, const gchar *delim, gboolean allow_blanks)
_vid_playback_pluginopen_vid_playback_plugin (const gchar *name, gboolean using)
void vid_playback_plugin_exit (void)
void close_vid_playback_plugin (_vid_playback_plugin *)
gint64 get_best_audio (_vid_playback_plugin *)
void save_vpp_defaults (_vid_playback_plugin *, gchar *file)
void load_vpp_defaults (_vid_playback_plugin *, gchar *file)
void do_plugin_encoder_error (const gchar *plugin_name_or_null)
GList * filter_encoders_by_img_ext (GList *encoders, const gchar *img_ext)
const lives_clip_data_tget_decoder_cdata (file *, GList *disabled)
void close_decoder_plugin (lives_decoder_t *)
lives_decoder_sys_topen_decoder_plugin (const gchar *plname)
void get_mime_type (gchar *text, int maxlen, const lives_clip_data_t *)
void unload_decoder_plugins (void)
LIVES_INLINE gboolean decplugin_supports_palette (const lives_decoder_t *dplug, int palette)
gboolean check_rfx_for_lives (lives_rfx_t *)
void do_rfx_cleanup (lives_rfx_t *)
void render_fx_get_params (lives_rfx_t *, const gchar *plugin_name, gshort status)
void sort_rfx_array (lives_rfx_t *in_array, gint num_elements)
gint find_rfx_plugin_by_name (const gchar *name, gshort status)
void rfx_copy (lives_rfx_t *src, lives_rfx_t *dest, gboolean full)
void rfx_free (lives_rfx_t *rfx)
void rfx_free_all (void)
void param_copy (lives_param_t *src, lives_param_t *dest, gboolean full)
gboolean get_bool_param (void *value)
gint get_int_param (void *value)
gdouble get_double_param (void *value)
void get_colRGB24_param (void *value, lives_colRGB24_t *rgb)
void get_colRGBA32_param (void *value, lives_colRGBA32_t *rgba)
void set_bool_param (void *value, gboolean)
void set_int_param (void *value, gint)
void set_double_param (void *value, gdouble)
void set_colRGB24_param (void *value, gshort red, gshort green, gshort blue)
void set_colRGBA32_param (void *value, gshort red, gshort green, gshort blue, gshort alpha)
void ** store_rfx_params (lives_rfx_t *)
 return an array of parameter values
void set_rfx_params_from_store (lives_rfx_t *rfx, void **store)
void rfx_params_store_free (lives_rfx_t *, void **store)
GList * array_to_string_list (gchar **array, gint offset, gint len)
lives_rfx_tweed_to_rfx (weed_plant_t *plant, gboolean show_reinits)
gchar * plugin_run_param_window (const gchar *get_com, GtkVBox *vbox, lives_rfx_t **ret_rfx)
_vppawon_vpp_advanced_clicked (GtkButton *, gpointer)
void on_decplug_advanced_clicked (GtkButton *button, gpointer user_data)

Variables

const char * anames [AUDIO_CODEC_MAX]

Define Documentation

#define AUDIO_CODEC_AAC   5
#define AUDIO_CODEC_AC3   4
#define AUDIO_CODEC_AMR_NB   6
#define AUDIO_CODEC_MAX   31
#define AUDIO_CODEC_MP2   2
#define AUDIO_CODEC_MP3   0
#define AUDIO_CODEC_NONE   32
#define AUDIO_CODEC_PCM   1
#define AUDIO_CODEC_RAW   7
#define AUDIO_CODEC_UNKNOWN   33
#define AUDIO_CODEC_VORBIS   3
#define AUDIO_CODEC_WMA2   8
#define CAN_ENCODE_PNG   1<<2
#define DEF_VPP_HSIZE   320.
#define DEF_VPP_VSIZE   240.
#define ENCODER_NON_NATIVE   1<<3
#define FX_CANDIDATE_AUDIO_VOL   0
#define FX_CANDIDATE_DEINTERLACE   2
#define FX_CANDIDATE_RESIZER   1
#define HAS_RFX   1<<0
#define HIDDEN_GUI   (1<<0)
#define HIDDEN_MULTI   (1<<1)
#define HIDDEN_NEEDS_REINIT   (1<<2)
#define LIVES_SEEK_FAST   (1<<0)

good

#define LIVES_SEEK_NEEDS_CALCULATION   (1<<1)

not so good

#define LIVES_SEEK_QUALITY_LOSS   (1<<2)
#define MAX_FX_CANDIDATE_TYPES   3
#define MAX_PARAM_WIDGETS   5

max number of display widgets per parameter (currently 5 for RGBA spinbuttons + colorbutton)

#define PLUGIN_AUDIO_STREAM   "playback/audiostream"
#define PLUGIN_DECODERS   "decoders"
#define PLUGIN_EFFECTS_WEED   "weed"

uses WEED_PLUGIN_PATH

#define PLUGIN_ENCODERS   "encoders"
#define PLUGIN_RENDERED_EFFECTS_BUILTIN   "effects/rendered/"

external rendered fx plugins (RFX plugins)

#define PLUGIN_RENDERED_EFFECTS_BUILTIN_SCRIPTS   "effects/RFXscripts/"

rfx scripts for the SDK

#define PLUGIN_RENDERED_EFFECTS_CUSTOM   "plugins/effects/rendered/custom/"

in the home directory

#define PLUGIN_RENDERED_EFFECTS_CUSTOM_SCRIPTS   "plugins/effects/RFXscripts/custom/"

in the home directory

#define PLUGIN_RENDERED_EFFECTS_TEST   "plugins/effects/rendered/test/"
#define PLUGIN_RENDERED_EFFECTS_TEST_SCRIPTS   "plugins/effects/RFXscripts/test/"
#define PLUGIN_RFX_SCRAP   ""

scraps are passed between programs to generate param windows

#define PLUGIN_THEMES   "themes"

smogrify handles the directory differently for themes

#define PLUGIN_VID_PLAYBACK   "playback/video"
#define PLUGIN_WEED_FX_BUILTIN   "effects/realtime/weed"
#define PVAL_MULTI_ANY   1
#define PVAL_MULTI_NONE   0
#define PVAL_MULTI_PER_CHANNEL   2
#define RFX_MAXSTRINGLEN   1024

length of max string (not including terminating NULL) for LiVES-perl

#define RFX_PROPS_AUTO_BUILT   0x8000
#define RFX_PROPS_BATCHG   0x0004

is a batch generator

#define RFX_PROPS_MAY_RESIZE   0x0002

is a tool

#define RFX_PROPS_RESERVED1   0x1000
#define RFX_PROPS_RESERVED2   0x2000
#define RFX_PROPS_RESERVED3   0x4000
#define RFX_PROPS_SLOW   0x0001

hint to GUI

#define VPP_CAN_RESIZE   1<<0
#define VPP_CAN_RETURN   1<<1
#define VPP_LOCAL_DISPLAY   1<<2

Typedef Documentation

typedef gboolean(* plugin_keyfunc)(gboolean down, guint16 unicode, guint16 keymod)

video playback plugins


Enumeration Type Documentation

Enumerator:
LIVES_PARAM_UNKNOWN 
LIVES_PARAM_NUM 
LIVES_PARAM_BOOL 
LIVES_PARAM_COLRGB24 
LIVES_PARAM_STRING 
LIVES_PARAM_STRING_LIST 
LIVES_PARAM_COLRGBA32 
LIVES_PARAM_UNDISPLAYABLE 
Enumerator:
LIVES_RFX_SOURCE_RFX 
LIVES_RFX_SOURCE_WEED 
Enumerator:
RFX_STATUS_BUILTIN 

factory presets

RFX_STATUS_CUSTOM 

custom effects in the custom menu

RFX_STATUS_TEST 

test effects in the advanced menu

RFX_STATUS_ANY 

indicates free choice of statuses

RFX_STATUS_WEED 

indicates an internal RFX, created from a weed instance

RFX_STATUS_SCRAP 

used for parsing RFX scraps from external apps

RFX_STATUS_COPY 

indicates a copy operation to test

RFX_STATUS_RENAME 

indicates a copy operation to test


Function Documentation

GList* array_to_string_list ( gchar **  array,
gint  offset,
gint  len 
)
gboolean check_rfx_for_lives ( lives_rfx_t )
void close_decoder_plugin ( lives_decoder_t )
void close_vid_playback_plugin ( _vid_playback_plugin )
LIVES_INLINE gboolean decplugin_supports_palette ( const lives_decoder_t dplug,
int  palette 
)
void do_plugin_encoder_error ( const gchar *  plugin_name_or_null)
void do_rfx_cleanup ( lives_rfx_t )
GList* filter_encoders_by_img_ext ( GList *  encoders,
const gchar *  img_ext 
)
gint find_rfx_plugin_by_name ( const gchar *  name,
gshort  status 
)
gint64 get_best_audio ( _vid_playback_plugin )
gboolean get_bool_param ( void *  value)
void get_colRGB24_param ( void *  value,
lives_colRGB24_t rgb 
)
void get_colRGBA32_param ( void *  value,
lives_colRGBA32_t rgba 
)
const lives_clip_data_t* get_decoder_cdata ( file ,
GList *  disabled 
)
gdouble get_double_param ( void *  value)
gint get_int_param ( void *  value)
void get_mime_type ( gchar *  text,
int  maxlen,
const lives_clip_data_t  
)
GList* get_plugin_list ( const gchar *  plugin_type,
gboolean  allow_nonex,
const gchar *  plugdir,
const gchar *  filter_ext 
)
void load_vpp_defaults ( _vid_playback_plugin ,
gchar *  file 
)
void on_decplug_advanced_clicked ( GtkButton *  button,
gpointer  user_data 
)
_vppaw* on_vpp_advanced_clicked ( GtkButton *  ,
gpointer   
)
lives_decoder_sys_t* open_decoder_plugin ( const gchar *  plname)
_vid_playback_plugin* open_vid_playback_plugin ( const gchar *  name,
gboolean  using 
)
void param_copy ( lives_param_t src,
lives_param_t dest,
gboolean  full 
)
GList* plugin_request ( const gchar *  plugin_type,
const gchar *  plugin_name,
const gchar *  request 
)
GList* plugin_request_by_line ( const gchar *  plugin_type,
const gchar *  plugin_name,
const gchar *  request 
)
GList* plugin_request_by_space ( const gchar *  plugin_type,
const gchar *  plugin_name,
const gchar *  request 
)
GList* plugin_request_common ( const gchar *  plugin_type,
const gchar *  plugin_name,
const gchar *  request,
const gchar *  delim,
gboolean  allow_blanks 
)
GList* plugin_request_with_blanks ( const gchar *  plugin_type,
const gchar *  plugin_name,
const gchar *  request 
)
gchar* plugin_run_param_window ( const gchar *  get_com,
GtkVBox *  vbox,
lives_rfx_t **  ret_rfx 
)
void render_fx_get_params ( lives_rfx_t ,
const gchar *  plugin_name,
gshort  status 
)
void rfx_copy ( lives_rfx_t src,
lives_rfx_t dest,
gboolean  full 
)
void rfx_free ( lives_rfx_t rfx)
void rfx_free_all ( void  )
void rfx_params_store_free ( lives_rfx_t ,
void **  store 
)
void save_vpp_defaults ( _vid_playback_plugin ,
gchar *  file 
)
void set_bool_param ( void *  value,
gboolean   
)
void set_colRGB24_param ( void *  value,
gshort  red,
gshort  green,
gshort  blue 
)
void set_colRGBA32_param ( void *  value,
gshort  red,
gshort  green,
gshort  blue,
gshort  alpha 
)
void set_double_param ( void *  value,
gdouble   
)
void set_int_param ( void *  value,
gint   
)
void set_rfx_params_from_store ( lives_rfx_t rfx,
void **  store 
)
void sort_rfx_array ( lives_rfx_t in_array,
gint  num_elements 
)
void** store_rfx_params ( lives_rfx_t )

return an array of parameter values

void unload_decoder_plugins ( void  )
void vid_playback_plugin_exit ( void  )
lives_rfx_t* weed_to_rfx ( weed_plant_t *  plant,
gboolean  show_reinits 
)

Variable Documentation

const char* anames[AUDIO_CODEC_MAX]
 All Data Structures Files Functions Variables Typedefs Enumerations Enumerator Defines