-
Start chained pulses at key marker
Hi Again!
Im trying to modify my expression to start a chained pulses in the first keymarker instead “0”. But i dont know how do this offset. Seems be simple but i don see it.
I Had done a screenshot of the desired behavior
Thanks for your time again!
/* ----------- OSCILACION ----------- *//////////// EDEN COMENTA: ///////////
/*Esta expresión crea una función de oscilacion automática en función del tiempo y los sliders *//////////// VARIABLES ///////////
frecuencia=effect("Oscilador 2D")("Frecuencia Opacidad");
opacidad_maxima=effect("Oscilador 2D")("Opacidad Maxima");
opacidad_minima=effect("Oscilador 2D")("Opacidad Minima");
invertir=effect("Oscilador 2D")("Invertir Fase Opacidad").value;
desvanecimiento=effect("Oscilador 2D")("Desvanecimiento Opacidad");
desfase=effect("Oscilador 2D")("Desfase Opacidad");
activar_opacidad=effect("Oscilador 2D")("Activar Opacidad").value;
multiplicador=effect("Oscilador 2D")("Multiplicador Opacidad");
periodo=effect("Oscilador 2D")("Periodo (seg) Opacidad");
duracion=effect("Oscilador 2D")("Duracion (seg) Opacidad");
activar_pulsos=effect("Oscilador 2D")("Pulsos Opacidad").value;
usar_easein=effect("Oscilador 2D")("Ease In").value;
duracion_easein=effect("Oscilador 2D")("Duracion Ease In");
usar_easeout=effect("Oscilador 2D")("Ease Out").value;
duracion_easeout=effect("Oscilador 2D")("Duracion Ease Out");
tiempo_pulsos=time%(periodo+duracion);
valor=(opacidad_maxima-opacidad_minima)/2;
desfase_pulsos=effect("Desfase Pulsos")("Angle");
t=time;
var sign= (invertir) ? -1 : +1;/////////// FUNCIONES ///////////
function funcion_oscilacion (t, desfase, frecuencia, desvanecimiento, invertir)
{return (((sign*Math.sin(desfase+t*(frecuencia))))/Math.exp(desvanecimiento*t));}/////////// CODIGO ///////////
oscilacion = (activar_opacidad) ? (funcion_oscilacion (time, desfase, frecuencia, desvanecimiento, invertir)) : value;oscilacion_pulsos = (funcion_oscilacion (tiempo_pulsos, desfase, frecuencia, desvanecimiento, invertir));
switch (activar_pulsos){
case 0:
oscilacion
break;
case 1:
if (tiempo_pulsos<duracion_easein){
oscilacion_pulsos_ease = usar_easein ? ease(tiempo_pulsos,0,duracion_easein,0,valor): ease(tiempo_pulsos,0,0,valor,valor);
}else{
oscilacion_pulsos_ease = usar_easeout ? ease(tiempo_pulsos,duracion-duracion_easeout,duracion,valor,0): (tiempo_pulsos < duracion ? valor: 0);
}
(multiplicador*(oscilacion_pulsos_ease * oscilacion_pulsos + oscilacion_pulsos_ease)/Math.exp(desvanecimiento*t)) + opacidad_minima
}