Hola.
Muchísimas gracias a todos por responder!!! Les cuento mi caso con más detalle.
Trabajo con After Effects, creando efectos y diseños animados desde hace muchos años. La cuestión es que el programa tiene ya instalados varios efectos "plugins" como corrección de brillo, aumento de color azul, etc... Utilizo una combinación de estos efectos para lograr un resultado concreto y quisiera tener este resultado con un único efecto ya que creo que sería muy util.
No sé de programación, me he descargado el SDK de After Effects donde vienen incluidas las heads necesarias para incluir en el código, pero la verdad es que empezar de cero me parece algo imposible. Por ello quería acceder al código de esos efectos y coger trozos para montar mi propio efecto. Los efectos de after effects están creados de forma modular y la interfaz (sliders) tambien.
Ejemplo de Interfaz:
static PF_Err ParamsSetup ( PF_InData *in_data, PF_OutData *out_data, PF_ParamDef *params[], PF_LayerDef *output) { PF_Err err = PF_Err_NONE; PF_ParamDef def;
// Always clear out the PF_ParamDef // before adding your parameters. AEFX_CLR_STRUCT(def);
// Create the LAYER parameter... def.param_type = PF_Param_LAYER; PF_STRCPY(def.name, "Displacement Layer:"); def.u.ld.dephault = PF_LayerDefault_NONE; if (err = PF_ADD_PARAM(in_data, -1, &def)) return err; // Create the ANGLE parameter... def.param_type = PF_Param_ANGLE; PF_STRCPY(def.name, "Angle of Displacement"); def.flags = 0; def.u.fd.value_str[0] = def.u.fd.value_desc[0] = '\0'; def.u.fd.value = def.u.fd.dephault = 0; def.u.fd.valid_min = def.u.fd.slider_min = ANGLE_MIN; def.u.fd.valid_max = def.u.fd.slider_max = ANGLE_MAX; def.u.fd.precision = 0; def.u.fd.display_flags = 0; if (err = PF_ADD_PARAM(in_data, -1, &def)) return err; // Create the DISPLACEMENT SLIDER... def.param_type = PF_Param_FIX_SLIDER; PF_STRCPY(def.name, "Amount of Displacement"); def.flags = 0; def.u.fd.value_str[0] = def.u.fd.value_desc[0] = '\0'; def.u.fd.value = def.u.fd.dephault = SHIFT_BLEND_DFLT; def.u.fd.valid_min = def.u.fd.slider_min = SHIFT_BLEND_MIN; def.u.fd.valid_max = def.u.fd.slider_max = SHIFT_BLEND_MAX; def.u.fd.precision = 1; def.u.fd.display_flags = 1; // display as percent if (err = PF_ADD_PARAM(in_data, -1, &def)) return err;
// GAMMA slider... AEFX_CLR_STRUCT(def); def.param_type = PF_Param_FIX_SLIDER; PF_STRCPY(def.name, "Source Gamma"); def.u.fd.value_str[0] = def.u.fd.value_desc[0] = '\0'; def.u.fd.value = def.u.fd.dephault = BIAS_DFLT; def.u.fd.valid_min = def.u.fd.slider_min = BIAS_MIN; def.u.fd.slider_max = BIAS_MAX; def.u.fd.valid_max = BIAS_BIG_MAX; def.u.fd.precision = 1; def.u.fd.display_flags = 0; if (err = PF_ADD_PARAM(in_data, -1, &def)) return err;
// Create the FIXED SLIDER parameter... def.param_type = PF_Param_FIX_SLIDER; PF_STRCPY(def.name, "Blend With Original"); def.flags = 0; def.u.fd.value_str[0] = def.u.fd.value_desc[0] = '\0'; def.u.fd.value = def.u.fd.dephault = SHIFT_BLEND_DFLT; def.u.fd.valid_min = def.u.fd.slider_min = SHIFT_BLEND_MIN; def.u.fd.valid_max = def.u.fd.slider_max = SHIFT_BLEND_MAX; def.u.fd.precision = 1; def.u.fd.display_flags = 1; // display as percent if (err = PF_ADD_PARAM(in_data, -1, &def)) return err;
// Set number of parameters... out_data->num_params = SHIFT_NUM_PARAMS;
return err; }
Agradecería que me pudieseis explicar como acceder al codigo de los plugins. Un saludo y muchas gracias!!!
|