LiVES 1.4.9
|
#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_plugin * | open_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_t * | get_decoder_cdata (file *, GList *disabled) |
void | close_decoder_plugin (lives_decoder_t *) |
lives_decoder_sys_t * | open_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_t * | weed_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) |
_vppaw * | on_vpp_advanced_clicked (GtkButton *, gpointer) |
void | on_decplug_advanced_clicked (GtkButton *button, gpointer user_data) |
Variables | |
const char * | anames [AUDIO_CODEC_MAX] |
#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 gboolean(* plugin_keyfunc)(gboolean down, guint16 unicode, guint16 keymod) |
video playback plugins
enum lives_param_type_t |
enum lives_rfx_source_t |
enum lives_rfx_status_t |
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 | ||
) |
const char* anames[AUDIO_CODEC_MAX] |