UNPKG

genish.js

Version:
35 lines (26 loc) 1.01 kB
'use strict' let gen = require( './gen' ), windows = require( './windows' ), data = require( './data' ), peek = require( './peek' ), phasor = require( './phasor' ), defaults = { type:'triangular', length:1024, alpha:.15, shift:0, reverse:false } module.exports = props => { let properties = Object.assign( {}, defaults, props ) let buffer = new Float32Array( properties.length ) let name = properties.type + '_' + properties.length + '_' + properties.shift + '_' + properties.reverse + '_' + properties.alpha if( typeof gen.globals.windows[ name ] === 'undefined' ) { for( let i = 0; i < properties.length; i++ ) { buffer[ i ] = windows[ properties.type ]( properties.length, i, properties.alpha, properties.shift ) } if( properties.reverse === true ) { buffer.reverse() } gen.globals.windows[ name ] = data( buffer ) } let ugen = gen.globals.windows[ name ] ugen.name = 'env' + gen.getUID() return ugen }