UNPKG

automation-events

Version:

A module which provides an implementation of an automation event list.

19 lines (15 loc) 548 B
import { IExponentialRampToValueAutomationEvent } from '../interfaces'; export const getExponentialRampValueAtTime = ( time: number, startTime: number, valueAtStartTime: number, { endTime, value }: IExponentialRampToValueAutomationEvent ) => { if (valueAtStartTime === value) { return value; } if ((0 < valueAtStartTime && 0 < value) || (valueAtStartTime < 0 && value < 0)) { return valueAtStartTime * (value / valueAtStartTime) ** ((time - startTime) / (endTime - startTime)); } return 0; };