Minim
core | ugens | analysis
 

Noise.Tint

An enumeration used to specify the tint of a Noise UGen.

Constructors


    	
    	

Related

Noise

Example

/* noiseTintExample<br/>
   is a example of how to set and get the Tint of a Noise UGen
   after constructing it.
   <p>
   For more information about Minim and additional features, 
   visit http://code.compartmental.net/minim/
   <p>
   author:Damien Di Fede<br/>
*/

// import everything necessary to make sound.
import ddf.minim.*;
import ddf.minim.ugens.*;

Minim       minim;
AudioOutput out;
Noise       theNoise;

// used for the drawing
color noiseColor;

// setup is run once at the beginning
void setup()
{
  size( 400, 200 );
  
  // initialize the minim and out objects
  minim = new Minim(this);
  // the small buffer size of 512 is chosen to minimize delay between the visual and audio
  // this may cause problems with buffer underruns on slower systems
  out = minim.getLineOut(Minim.MONO, 512);
 
  // make a new Noise UGen with an amplitude of 0.5
  theNoise = new Noise( 0.5f );
  theNoise.patch( out );
}

// draw is run many times
void draw()
{
  // erase the window to black
  background(0);
  
  // because we are switching on a value that is a Noise.Tint, 
  // we can't qualify the names in the case labels 
  // with Noise.Tint as you might expect.
  switch( theNoise.getTint() )
  {
    case WHITE: noiseColor = color( 255, 255, 255 ); break;
    case PINK:  noiseColor = color( 255, 128, 128 ); break;
    case BROWN:
    case RED:   noiseColor = color( 255, 0,   0   ); break;
    
    default: break;
  }
  
  // color the drawing the same as the noise tint
  stroke( noiseColor );
  for(int i = 0; i < out.bufferSize() - 1; i++)
  {
    float x1 = map(i, 0, out.bufferSize(), 0, width);
    float x2 = map(i+1, 0, out.bufferSize(), 0, width);
    line(x1, 50 + out.left.get(i)*50, x2, 50 + out.left.get(i+1)*50);
    line(x1, 150 + out.right.get(i)*50, x2, 150 + out.right.get(i+1)*50);
  }
  
  text( "1: White, 2: Pink, 3: Red/Brown", 5, 15 );
}

void keyPressed()
{
  if ( key == '1' )
  {
    theNoise.setTint( Noise.Tint.WHITE );
  }
  
  if ( key == '2' )
  {
    theNoise.setTint( Noise.Tint.PINK );
  }
  
  if ( key == '3' )
  {
    theNoise.setTint( Noise.Tint.RED );
  }
}

Usage

Web & Application