This reference reflects the current runtime Lua bindings. Mutating commands return true on success, or nil, err on failure.
Functions are listed first. Any opts/props object keys are defined in the props tables directly below.
| Function | Parameters | Returns | Notes |
o.create(opts) | opts table (optional) | loop_id | nil, err | opts keys come from Loop Props. |
o.set(loop_id, props) | loop_id integer, props table | true | nil, err | props keys come from Loop Props. |
o.set(props) | props table | true | nil, err | props keys come from Engine Props. |
o.record(loop_id, on) | loop_id integer, on boolean | true | nil, err | Starts/stops recording on one loop. |
o.play(loop_id, on) | loop_id integer, on boolean | true | nil, err | Starts/stops playback on one loop. |
o.jump(loop_id, seconds) | loop_id integer, seconds number | true | nil, err | Seeks to timeline seconds. |
o.jumpn(loop_id, normalized) | loop_id integer, normalized number | true | nil, err | normalized must be in [0, 1]. |
o.bpm(value) | value number | bpm | nil, err | value must be > 0. |
o.clear(loop_id) | loop_id integer | true | nil, err | Clears loop audio/buffer content. |
o.delete(loop_id) | loop_id integer | true | nil, err | Deletes a loop. |
For o.create(opts), length resolution order is: beats (if > 0), then seconds (if > 0), else defaults to 10.0 seconds.
o.get
Form: o.get(loop_id) returns loop_state or nil, err.
| Field | Meaning | Range / Type |
| loop_id | Loop identifier. | Integer. |
| playing | Current playback state. | Boolean. |
| recording | Current recording state. | Boolean. |
| pos | Current position (seconds). | Number. |
| pos_norm | Current normalized position. | Number in [0, 1]. |
| seconds | Current loop length. | Number, expected > 0. |
| alloc_seconds | Allocated loop buffer length. | Number, expected > 0. |
| fade | Post-roll / fade time. | Number in [0, 20]. |
| pre | Buffer keep amount. | Number in [0, 1]. |
| pre_slew | Slew time for pre. | Number, >= 0. |
| rec | Input write gain. | Number in [0, 1]. |
| rec_slew | Slew time for rec. | Number, >= 0. |
| db | Loop output dB target. | Number, upper-clamped by engine. |
| db_slew | Slew time for db. | Number, >= 0. |
| pan | Stereo pan target. | Number in [-1, 1]. |
| pan_slew | Slew time for pan. | Number, >= 0. |
o.get
Form: o.get() returns engine_state or nil, err.
| Engine Field | Meaning | Range / Type |
| in_db / dry_db / wet_db | Global mix dB values. | Number, upper-clamped to +24 dB. |
| in_db_slew / dry_db_slew / wet_db_slew | Lag time for global dB values. | Number, >= 0. |
| rv_predelay | Reverb predelay. | Number in [0, 300] ms. |
| rv_predelay_slew | Predelay lag time. | Number, >= 0. |
| rv_in | Reverb input amount. | Number in [0, 100] %. |
| rv_in_slew | Reverb input amount lag. | Number, >= 0. |
| rv_lpf / rv_hpf / rv_damp | Reverb filter/damping frequencies. | rv_lpf: [1, 20000] Hz, rv_hpf: [1, 1000] Hz, rv_damp: [10, 20000] Hz. |
| rv_lpf_slew / rv_hpf_slew / rv_damp_slew | Lag time for reverb filter/damping params. | Number, >= 0. |
| rv_mod_freq / rv_mod_depth | Reverb modulation params. | rv_mod_freq: [0.01, 4.0] Hz, rv_mod_depth: [0, 10] ms. |
| rv_mod_freq_slew / rv_mod_depth_slew | Lag time for reverb modulation params. | Number, >= 0. |
| bpm | Current BPM. | Number, > 0. |