Permalink
Cannot retrieve contributors at this time
Join GitHub today
GitHub is home to over 50 million developers working together to host and review code, manage projects, and build software together.
Sign up| -- This example MIDIMonster Lua script spreads one input channel onto multiple output | |
| -- channels using a polynomial function evaluated at multiple points. This effect can | |
| -- be visualized e.g. with martrix (https://github.com/cbdevnet/martrix). | |
| -- The polynomial to evaluate | |
| function polynomial(x) | |
| return math.exp(-40 * input_value("width") * (x - input_value("offset")) ^ 2) | |
| end | |
| -- Evaluate and set output channels | |
| function evaluate() | |
| for chan=0,10 do | |
| output("out" .. chan, polynomial((1 / 10) * chan)) | |
| end | |
| end | |
| -- Handler functions for the input channels | |
| function offset(value) | |
| evaluate() | |
| end | |
| function width(value) | |
| evaluate() | |
| end | |
| -- This is an example showing a simple chase running on its own without the need | |
| -- (but the possibility) for external input | |
| -- Global value for the current step | |
| current_step = 0 | |
| function step() | |
| if(current_step > 0) then | |
| output("dim", 0.0) | |
| else | |
| output("dim", 1.0) | |
| end | |
| current_step = (current_step + 1) % 2 | |
| end | |
| interval(step, 1000) |