UNPKG

genish.js

Version:
46 lines (34 loc) 992 B
'use strict' let gen = require('./gen.js') let proto = { basename:'in', gen() { const isWorklet = gen.mode === 'worklet' if( isWorklet ) { gen.inputs.add( this ) }else{ gen.parameters.add( this.name ) } gen.memo[ this.name ] = isWorklet === true ? this.name + '[i]' : this.name return gen.memo[ this.name ] } } module.exports = ( name, inputNumber=0, channelNumber=0, defaultValue=0, min=0, max=1 ) => { let input = Object.create( proto ) input.id = gen.getUID() input.name = name !== undefined ? name : `${input.basename}${input.id}` Object.assign( input, { defaultValue, min, max, inputNumber, channelNumber }) input[0] = { gen() { if( ! gen.parameters.has( input.name ) ) gen.parameters.add( input.name ) return input.name + '[0]' } } input[1] = { gen() { if( ! gen.parameters.has( input.name ) ) gen.parameters.add( input.name ) return input.name + '[1]' } } return input }