UNPKG

gibberish-dsp

Version:

Gibberish is designed to be an optimized API for audio synthesis using per-sample techniques.

36 lines (24 loc) 721 B
const g = require( 'genish.js' ) const ugen = require( '../ugen.js' )() module.exports = function( Gibberish ) { let Panner = inputProps => { const props = Object.assign( {}, Panner.defaults, inputProps ), panner = Object.create( ugen ) const isStereo = props.input.isStereo !== undefined ? props.input.isStereo : Array.isArray( props.input ) const input = g.in( 'input' ), pan = g.in( 'pan' ) let graph if( isStereo ) { graph = g.pan( input[0], input[1], pan ) }else{ graph = g.pan( input, input, pan ) } Gibberish.factory( panner, [ graph.left, graph.right], ['panner'], props ) return panner } Panner.defaults = { input:0, pan:.5 } return Panner }