Class interp
Interpolation.
local minterp = require 'melisma.interp' local mevent = require 'melisma.event' local mgain = require 'melisma.gain' local interp = minterp.init(0) interp:linear(1,1) mevent.schedule(0.5, function() print('current value:', interp:sample()) end) local sig = ... local gain = mgain.linear(sig,interp)
Functions
| interp.init(x0) | Initialize an interpolation unit. |
Methods
| interp:ease_in(v, t) | Interpolate using ease-in interpolation. |
| interp:ease_out(v, t) | Interpolate using ease-out interpolation. |
| interp:linear(v, t) | Interpolate using linear interpolation. |
| interp:sample() | Get the current value. |
| interp:set(x) | Set value directly. |
| interp:smoothstep(v, t) | Interpolate using smoothstep interpolation. |
Functions
Methods- interp.init(x0)
-
Initialize an interpolation unit.
Parameters:
- x0 number Initial value.
Returns:
-
interp
The newly created interpolation unit.
Methods
- interp:ease_in(v, t)
-
Interpolate using ease-in interpolation.
Parameters:
- v number Target value.
- t number Interpolation time.
- interp:ease_out(v, t)
-
Interpolate using ease-out interpolation.
Parameters:
- v number Target value.
- t number Interpolation time.
- interp:linear(v, t)
-
Interpolate using linear interpolation.
Parameters:
- v number Target value.
- t number Interpolation time.
- interp:sample()
-
Get the current value.
Returns:
-
number
The current value.
- interp:set(x)
-
Set value directly.
Parameters:
- x number New value.
- interp:smoothstep(v, t)
-
Interpolate using smoothstep interpolation.
Parameters:
- v number Target value.
- t number Interpolation time.