UNPKG

jmod

Version:

audio / dsp enveloping with some added features

50 lines (37 loc) 1.3 kB
var offset = require('set-it-off') var h1 = document.createElement('h1'); h1.textContent = "WHERE AM I?"; //document.body.appendChild(h1); var canvas = document.createElement('canvas') canvas.width = window.innerWidth canvas.height = window.innerHeight document.body.appendChild(canvas); draw = canvas.getContext('2d') offset.setParent(null, [-(window.innerWidth / 2), -(window.innerHeight/2)]) h1.style.position = 'absolute'; h1.style.left = offset.offset([0,0])[0] + 'px'; h1.style.top = offset.offset([0,0])[1] + 'px'; //h1.moveTo(0,0) console.log(offset.offset([0,0])) c = require('./') var attack = [[0,0], [0,1], [1,1]] var release = [[0,1], [.5,1], [1, .5]] var sustain = [[0, .5], [0, 0], [.5, 1], [1, .5]] //sustain = [[0, 0.5], [.5, .5], [1, .5]] var decay = [[0,.5], [.5, .25], [1,0]] var durations = [.25, .25, .4, .1] var amod = {} amod.curves = [attack, release, sustain, decay]//, release, sustain, decay]; amod.durations = durations var x = c(amod) console.log(x.envelope) draw.lineWidth = 3 draw.beginPath() draw.moveTo(offset.offset(0,0)); draw.strokeStyle = "black"; for(var i = 0; i < 1; i+=.001){ // console.log(x.envelope(i)) var off = offset.offset([0 + (window.innerWidth * i), window.innerHeight * x.envelope(i)]) draw.lineTo(off[0], off[1]) draw.stroke() }