| Minim | |
| patch | DescriptionSend the output of this UGen to another UGen, UGenInput, or AudioOutput. For instance, if an Oscil is patched to an AudioOutput, you will hear the sound it generates. If a FilePlayer is patched to a Delay, then the delay effect will be applied to the sound generated by the FilePlayer. Signature UGen patch(UGen connectToUGen) UGen patch(UGen.UGenInput connectToInput) void patch(AudioOutput audioOutput) ParametersconnectToUGen — The UGen to patch to. connectToInput — The UGenInput to patch to. audioOutput — The AudioOutput you want to connect this UGen to. Returns When patching to a UGen or UGenInput, the UGen being patched to is returned so that you can chain patch calls. For example: sine.patch( gain ).patch( out ); Related Example /**
  * This sketch demonstrates how to create a simple synthesis chain that 
  * involves controlling the value of a UGenInput with the output of 
  * a UGen. In this case, we patch an Oscil generating a sine wave into 
  * the amplitude input of an Oscil generating a square wave. The result 
  * is known as amplitude modulation.
  * <p>
  * For more information about Minim and additional features, 
  * visit http://code.compartmental.net/minim/
  */
import ddf.minim.*;
import ddf.minim.ugens.*;
Minim minim;
AudioOutput out;
Oscil       wave;
Oscil       mod;
void setup()
{
  size(512, 200, P3D);
  
  minim = new Minim(this);
  
  // use the getLineOut method of the Minim object to get an AudioOutput object
  out = minim.getLineOut();
  
  // create a triangle wave Oscil, set to 440 Hz, at 1.0 amplitude
  // in this case, the amplitude we construct the Oscil with 
  // doesn't matter because we will be patching something to
  // its amplitude input.
  wave = new Oscil( 440, 1.0f, Waves.TRIANGLE );
 
  // create a sine wave Oscil for modulating the amplitude of wave
  mod  = new Oscil( 2, 0.4f, Waves.SINE );
 
  // connect up the modulator
  mod.patch( wave.amplitude );
  
  // patch wave to the output
  wave.patch( out );
}
void draw()
{
  background(0);
  stroke(255);
  
  // draw the waveforms
  for(int i = 0; i < out.bufferSize() - 1; i++)
  {
    line( i, 50 + out.left.get(i)*50, i+1, 50 + out.left.get(i+1)*50 );
    line( i, 150 + out.right.get(i)*50, i+1, 150 + out.right.get(i+1)*50 );
  }
}
UsageWeb & Application |