UNPKG

genish.js

Version:
34 lines (24 loc) 821 B
'use strict' let gen = require( './gen.js' ), accum= require( './phasor.js' ), data = require( './data.js' ), peek = require( './peek.js' ), mul = require( './mul.js' ), phasor=require( './phasor.js') let proto = { basename:'cycle', initTable() { let buffer = new Float32Array( 1024 ) for( let i = 0, l = buffer.length; i < l; i++ ) { buffer[ i ] = Math.sin( ( i / l ) * ( Math.PI * 2 ) ) } gen.globals.cycle = data( buffer, 1, { immutable:true } ) } } module.exports = ( frequency=1, reset=0, _props ) => { if( typeof gen.globals.cycle === 'undefined' ) proto.initTable() const props = Object.assign({}, { min:0 }, _props ) const ugen = peek( gen.globals.cycle, phasor( frequency, reset, props )) ugen.name = 'cycle' + gen.getUID() return ugen }