/**
* This sketch demonstrates how to use the getUnits method of a FloatControl object.
* A FloatControl is what is returned by the gain, volume, pan, and
* balance methods of a Controller object. The class used here is an
* AudioOutput but these control methods are also available on AudioSample, AudioSnippet, AudioInput,
* and AudioPlayer objects. The FloatControl class is defined by the JavaSound API and it
* represents a control of a DataLine. A DataLine is a low-level JavaSound class that
* is used for sending audio to, or receiving audio from, the audio system. getUnits gets the label for
* the units in which the control's values are expressed, such as "dB" or "frames per second."
*/
import ddf.minim.*;
Minim minim;
AudioOutput out;
void setup()
{
size(512, 200);
minim = new Minim(this);
out = minim.getLineOut();
textFont(createFont("Arial", 12));
}
void draw()
{
background(0);
if ( out.hasControl(Controller.GAIN) )
{
text("The gain is measured in " + out.gain().getUnits() + ".", 5, 15);
}
else
{
text("There is no gain control for this output.", 5, 15);
}
}
void stop()
{
// always close Minim audio classes when you are finished with them
out.close();
minim.stop();
super.stop();
}