ArrayBuffer

superclass: BufferProxy

Passes an array into a Patch for use in UGens which need an array supplied as a buffer index.

If saved as a compile string to disk, saves the array with it.

ArrayBuffer.new( array )

(

// modal space - jmc

// mouse x controls discrete pitch in dorian mode

Patch({ arg scale;

var mix;

mix =

// lead tone

SinOsc.ar(

(

DegreeToKey.kr(

scale.bufnumIr,

MouseX.kr(0,15), // mouse indexes into scale

12, // 12 notes per octave

1, // mul = 1

72 // offset by 72 notes

)

+ LFNoise1.kr([3,3], 0.04) // add some low freq stereo detuning

).midicps, // convert midi notes to hertz

0,

0.1)

// drone 5ths

+ RLPF.ar(LFPulse.ar([48,55].midicps, 0.15),

SinOsc.kr(0.1, 0, 10, 72).midicps, 0.1, 0.1);

// add some 70's euro-space-rock echo

CombN.ar(mix, 0.31, 0.31, 2, 1, mix)

},[

ArrayBuffer(FloatArray[0, 2, 3, 5, 7, 9, 10])

]).gui

)