Autor
|
Tema: Ayuda con codigo (Leído 6,296 veces)
|
mc_deimon
Desconectado
Mensajes: 8
|
Hola a todos. Soy un completo novato en todo esto pero quiero crear una aplicación y me han surgido varias dudas.
La cuestión es que quiero crear un plugin para After Effects que en realidad es la suma de varias partes de otros plugins. Quieros coger 5 trocitos de 4 plugins y hacer un único plugin. Para ello he pensado en la posibilidad de acceder al código de esos 4 plugins y seleccionar las partes necesarias.
¿Es posible realizar esto? Agradecería cualquier sugerencia o modo de empezar. Los plugins estan escritos en C++
Muchas gracias!!!
|
|
|
En línea
|
|
|
|
x64core
Desconectado
Mensajes: 1.908
|
Si se puede, pero porque no programar tu propio plugin por ti mismo y todo incluido? bueno de todos modos, la idea seria localizar el area de codigo que necesites obtener el offset a este, luego obtener la direccion base del plugin y sumarle ese offset luego solamente llamar a esa area de codigo, asegurarte que ese codigo tiene retorno, bueno de todos modos se puede hacer de cualquier manera no hay un impossible en nada sobre este asunto pero dependiendo de la situación esto podria llegar a ser tan rustico.
|
|
|
En línea
|
|
|
|
alister
Desconectado
Mensajes: 513
|
Hola a todos. Soy un completo novato en todo esto pero quiero crear una aplicación y me han surgido varias dudas.
La cuestión es que quiero crear un plugin para After Effects que en realidad es la suma de varias partes de otros plugins. Quieros coger 5 trocitos de 4 plugins y hacer un único plugin. Para ello he pensado en la posibilidad de acceder al código de esos 4 plugins y seleccionar las partes necesarias.
¿Es posible realizar esto? Agradecería cualquier sugerencia o modo de empezar. Los plugins estan escritos en C++
Muchas gracias!!!
mi duda es: puede un novato desarrollar un plugin de after effects? así, directamente? pasando a lo especifico y avanzado sin haber pasado antes por lo basico y general? y dado que no conocemos la api de plugins de after effects? como puede x64_core hablar con tanta seguridad? y si hay tres rutinas main, una por cada plugin? concatenas el codigo y ya esta? y que hay con las direcciones de memoria del espacio de plugins? no habra que reorgnizarlo todo? y que hay de las interfaces, cuadros de dialogo, opciones, etc? acaso es viable agarrar tres programas y juntarlos sin mas esperando que salga uno solo 100% funcional? y en resumen... no estais alucinando un poco?
|
|
|
En línea
|
Back 2 business!
|
|
|
x64core
Desconectado
Mensajes: 1.908
|
mi duda es:
puede un novato desarrollar un plugin de after effects? así, directamente? pasando a lo especifico y avanzado sin haber pasado antes por lo basico y general?
y dado que no conocemos la api de plugins de after effects? como puede x64_core hablar con tanta seguridad? y si hay tres rutinas main, una por cada plugin? concatenas el codigo y ya esta? y que hay con las direcciones de memoria del espacio de plugins? no habra que reorgnizarlo todo? y que hay de las interfaces, cuadros de dialogo, opciones, etc? acaso es viable agarrar tres programas y juntarlos sin mas esperando que salga uno solo 100% funcional?
y en resumen...
no estais alucinando un poco?
Luce como que nunca has hecho algo similar.
|
|
|
En línea
|
|
|
|
MCKSys Argentina
|
Coincido con alist3r: Teniendo en cuenta la infinidad de cosas que pueden hacerse en un plugin, es medio ilógico tratar de hacer algo así. No digo que no se pueda sacar un poco de código de una DLL, pero hay que tener MUY en cuenta todo el funcionamiento: Lo que se inicializa al momento de cargar la DLL, lo que se inicializa al momento de cargar el plugin, la interface y las funciones usadas/exportadas. La verdad, no he hecho un plugin para After Effects, pero calculo que es similiar a uno para, por ej.: Olly (quizás un poco más complejo ) Luce como que nunca has hecho algo similar.
Y tu si? Saludos!
|
|
|
En línea
|
MCKSys Argentina "Si piensas que algo está bien sólo porque todo el mundo lo cree, no estás pensando."
|
|
|
x64core
Desconectado
Mensajes: 1.908
|
Coincido con alist3r: Teniendo en cuenta la infinidad de cosas que pueden hacerse en un plugin, es medio ilógico tratar de hacer algo así. No digo que no se pueda sacar un poco de código de una DLL, pero hay que tener MUY en cuenta todo el funcionamiento: Lo que se inicializa al momento de cargar la DLL, lo que se inicializa al momento de cargar el plugin, la interface y las funciones usadas/exportadas. La verdad, no he hecho un plugin para After Effects, pero calculo que es similiar a uno para, por ej.: Olly (quizás un poco más complejo ) Y tu si? Saludos! Crees que diria algo solo por espamear un hilo? Hay que distinguir dos cosas: Dificil != Imposible Cambiar el comportamiento de un programa ya compilado no es dificil como la gente piensa, tener un conocimiento bastante amplio de las funciones del SO, manejar bastante las herramientas a usar, más la experiencia. Basandose en que el programa fue hecho por profesionales entonces debe ser de tipo modular y no sera tan dificil identificar que funcion(s) es la responsable de tales acciones.
|
|
« Última modificación: 13 Febrero 2013, 08:23 am por x64Core »
|
En línea
|
|
|
|
mc_deimon
Desconectado
Mensajes: 8
|
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!!!
|
|
|
En línea
|
|
|
|
alister
Desconectado
Mensajes: 513
|
x64Core:
todo tuyo! ilústranos!
yo mantengo mi postura junto a MCKSys
|
|
|
En línea
|
Back 2 business!
|
|
|
x64core
Desconectado
Mensajes: 1.908
|
No sé de programación Sí, y como se espera que podas lograrlo? Codigo Fuente? Esto es ingeniería inversa no?
|
|
|
En línea
|
|
|
|
mc_deimon
Desconectado
Mensajes: 8
|
Hola.
Solo quiero cual es el método a seguir para acceder al código de los efectos. ¿Se usa algun programa específico?
Un saludo y muchas gracias.
|
|
|
En línea
|
|
|
|
|
Mensajes similares |
|
Asunto |
Iniciado por |
Respuestas |
Vistas |
Último mensaje |
|
|
Ayuda con Codigo
Programación Visual Basic
|
Mitsu_POWA
|
1
|
1,992
|
26 Julio 2005, 00:25 am
por byebye
|
|
|
Ayuda con codigo en C (no me ejecuta un for y necesito ayuda)
« 1 2 3 »
Programación C/C++
|
Søra
|
22
|
11,555
|
22 Mayo 2010, 00:22 am
por Littlehorse
|
|
|
¿Cuál es la diferencia entre código objeto, código máquina y código binario?
Programación General
|
Aikanáro Anário
|
9
|
28,973
|
23 Diciembre 2010, 15:19 pm
por pucheto
|
|
|
Ayuda codigo
Programación C/C++
|
dario01dr
|
5
|
3,359
|
21 Diciembre 2021, 03:30 am
por dario01dr
|
|
|
AYUDA CON UN CODIGO
Programación C/C++
|
cimli1996
|
2
|
2,045
|
28 Febrero 2023, 18:12 pm
por Serapis
|
|