gibberish-dsp
Version:
Gibberish is designed to be an optimized API for audio synthesis using per-sample techniques.
36 lines (24 loc) • 721 B
JavaScript
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
}