Skip to content

Instantly share code, notes, and snippets.

@trentgill
trentgill / sequinsdemo.lua
Last active March 21, 2021 01:34
demonstrating usage of the forthcoming 'sequins' lua library for ordering values
--- sequins.
-- a demonstration
engine.name = 'PolyPerc'
local MusicUtil = require "musicutil"
-- TODO operate by reference so the scale can change without recreating the sequin
dim = {3,6,9,15,18,21,-6}
bass = {-6,-12,-15}
lyd = {12,14,16,18,19,9,11,24}
@trentgill
trentgill / crowy.lua
Created February 4, 2021 00:19
demonstrating crow.loadscript
--- crowy: this script runs on crow
function init()
print '~crowy~'
metro[1].event = function(v) print("tick: "..v) end
metro[1]:start()
end
@trentgill
trentgill / norns_crow_namespace.lua
Created April 29, 2021 22:47
support more native-style crow syntax on norns
--- norns library for crow namespace support
-- enables full syntax support for calling crow functions, and setting crow values
-- does *not* support directly querying values or function responses from crow
--- helper fns for quoting (aka stringifying) lua constructs
quotekey = function(ix)
-- stringify table keys with [] style
local fstr = (type(ix)=='number') and '[%g]' or '[%q]'
@trentgill
trentgill / crow3_syntax.lua
Last active June 24, 2021 14:48
crow v3 syntax
--- crow syntax reference
-- many libs have multiple access styles
-- i think we need to be more explicit about the idiomatic choices
-- all examples / bowery / tutorials should use *the* way
--- input
_ = input[n].volts --> returns current voltage
input[n].query() --> sends voltage to the stream handler
input[n].mode('mode' [, args]) -- function style
@trentgill
trentgill / flashcrash.lua
Last active June 8, 2021 01:27
flash crash quantizer script
--- flash crash
-- quantizer & w/syn output
function init()
input[1].mode('scale',{0,1,2,3,4,5,6,7,8,9,10,11})
ii.wsyn.ar_mode(1)
ii.wsyn.fm_ratio(1)
output[2].action = pulse()
end
@trentgill
trentgill / mutating.lua
Last active June 24, 2021 18:54
working through some issues in asl2's mutable / iterating type
-- feels different if you separate the ASL structure from the data
function modulator(height, risetime, falltime)
return loop{ to( height, risetime )
, to( 0, falltime)
}
end
function init()
starting_rise = 1
@trentgill
trentgill / maps_s2e1.lua
Created July 2, 2021 13:06
Maps S2E1: Found Shapes
-- found shapes
-- setup
mys = sequins{0,2,4,7,9}
myt = sequins{1,1,1,1/2,1/2}
function time_fn()
while true do
clock.sync(myt())
nn()
end
@trentgill
trentgill / bouncy.lua
Last active October 8, 2022 18:55
lil demo of ASL creating simple decaying oscillator tones
--- bouncy
-- tiny demo of ASL's dyn, generating a stream of bass notes from crow
-- little sequins of frequencies
PIT = sequins{ 110
, 110*1.5
, 110*1.25
, 110*1.666
, 110*1.333
}
--- maps: S2E3 long distance
-- using i2c to communicate to external devices
-- ???
s = sequins
ws = ii.wsyn
wd = ii.wdel
cr = clock.run
@trentgill
trentgill / maps_s2e4.lua
Last active August 18, 2021 15:17
maps s2e4 preparation
--- maps: S2E4 dynamic mutation
-- using ASL's new dyn{} variables for self-modifying signals
-- aliases
s = sequins
ws = ii.wsyn
wd = ii.wdel
cr = clock.run