Falcon scripts are written in Lua 5.1. To create a new event processor, drag a 'Script Processor' into an EVent slot. Create a `.lua` file in a text editor. Then click on the folder to load the script. ![]{centre}(2023-10-01_13-08-09.png) For example: ```lua -- play quavers with all held keys isEventPlaying = {} function tableLength(T) local count = 0 for _ in pairs(T) do count = count + 1 end return count end local seqLaunched = false local timeVal = 1.0 local duration = 0.5 function seq() local dur = duration * getBeatDuration() while true do len = tableLength(isEventPlaying) if( len == 0 ) then break end for k, e in pairs(isEventPlaying) do playNote(e.note, e.velocity, dur, e.layer, e.channel, e.input, e.vol, e.pan, e.tune, e.slice) end waitBeat(timeVal) end seqLaunched = false end function onNote(e) isEventPlaying[e.id] = e if not seqLaunched then seqLaunched = true run(seq,e) -- run(func,params) => execute func in parallel end end function onRelease(e) isEventPlaying[e.id] = nil end ``` Event notes `e.note` are integers corresponding to midi pitches. We can do ```lua function seq() local dur = duration * getBeatDuration() local count local note while true do len = tableLength(isEventPlaying) if( len == 0 ) then break end count = 0 for k, e in pairs(isEventPlaying) do note = e.note - 24 + 12 * count playNote(note, e.velocity, dur, e.layer, count % 4, e.input, e.vol, e.pan, e.tune, e.slice) count = count + 1 end waitBeat(timeVal) end seqLaunched = false end ```