Forum Replies Created

Viewing 1 - 3 of 3 posts
  • Ivan Matic

    July 21, 2021 at 2:33 pm

    I found solution that work for me, here is expression:

    threshold = 85.0;

    audioLev = thisComp.layer("Audio Amplitude").effect("Both Channels")("Slider");

    above = false;

    frame = Math.round(time / thisComp.frameDuration);

    while (true){

    t = frame * thisComp.frameDuration;

    if (above){

    if (audioLev.valueAtTime(t) < threshold){

    frame++;

    break;

    }

    }else if (audioLev.valueAtTime(t) >= threshold){

    above = true;

    }

    if (frame == 0){

    break;

    }

    frame--

    }

    if (! above){

    t = 0;

    }else{

    t = time - frame * thisComp.frameDuration;

    }

    [easeOut(t,0,1/2.5,0,1920),value[1]]

  • Ivan Matic

    July 20, 2021 at 2:46 pm

    Also if i writte expresion just with if and linear, it while now execute, beacuse next frame value is less then 85, and it back [0,0]

  • Ivan Matic

    July 19, 2021 at 8:18 pm

    Thanks for the answer, but what would happen if animation need to start again before previous one isnt finished.

    Animation need to follow bass on music, so i may happen there are overlapping

Viewing 1 - 3 of 3 posts

We use anonymous cookies to give you the best experience we can.
Our Privacy policy | GDPR Policy