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.
generated by LDoc 1.5.0 Last updated 1980-01-01 00:00:00