net.beadsproject.beads.ugens
Class RecordToFile

java.lang.Object
  extended by net.beadsproject.beads.core.Bead
      extended by net.beadsproject.beads.core.UGen
          extended by net.beadsproject.beads.ugens.RecordToFile

public class RecordToFile
extends UGen

RecordToFile records audio into a file. You must kill this object when finished to finalise the writing of the file header. IMPORTANT NOTE: At the moment only the WAVE (*.wav) type is supported.

Author:
bp

Nested Class Summary
 
Nested classes/interfaces inherited from class net.beadsproject.beads.core.UGen
UGen.OutputInitializationRegime, UGen.OutputPauseRegime
 
Field Summary
 
Fields inherited from class net.beadsproject.beads.core.UGen
bufferSize, bufIn, bufOut, context, ins, outputInitializationRegime, outputPauseRegime, outs
 
Constructor Summary
RecordToFile(AudioContext context, int numberOfChannels, java.io.File file)
          Instantiates a recorder for file recording.
RecordToFile(AudioContext context, int numberOfChannels, java.io.File file, javax.sound.sampled.AudioFileFormat.Type type)
          Instantiates a recorder for file recording.
 
Method Summary
 void calculateBuffer()
          Called by the signal chain to update this UGen's ouput data.
 void kill()
          Stops this Bead, and flags it as deleted.
 
Methods inherited from class net.beadsproject.beads.core.UGen
addDependent, addInput, addInput, clearDependents, clearInputConnections, containsInput, crossfadeInput, getConnectedInputs, getContext, getEnvelopes, getIns, getNumberOfConnectedUGens, getNumberOfDependents, getOutBuffer, getOuts, getTimeTakenLastUpdate, getValue, getValue, getValueDouble, getValueDouble, initializeOuts, isTimerMode, isUpdated, noInputs, pause, printInBuffers, printInputList, printOutBuffers, removeAllConnections, removeConnection, removeDependent, setOutsToPause, setTimerMode, setValue, update, zeroIns, zeroOuts
 
Methods inherited from class net.beadsproject.beads.core.Bead
getKillListener, getName, isDeleted, isPaused, message, messageReceived, setKillListener, setName, start, toString
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait
 

Constructor Detail

RecordToFile

public RecordToFile(AudioContext context,
                    int numberOfChannels,
                    java.io.File file,
                    javax.sound.sampled.AudioFileFormat.Type type)
             throws java.io.IOException
Instantiates a recorder for file recording.

Parameters:
context - The AudioContext
numberOfChannels - The number of channels
file - The file to output to
type - The type of the file
Throws:
java.io.IOException - if the audio format is not supported on this machine.

RecordToFile

public RecordToFile(AudioContext context,
                    int numberOfChannels,
                    java.io.File file)
             throws java.io.IOException
Instantiates a recorder for file recording. Uses the .wav format.

Parameters:
context - The AudioContext
numberOfChannels - The number of channels
file - The file to output to. Extension should be .wav.
Throws:
java.io.IOException - if the audio format is not supported on this machine.
Method Detail

calculateBuffer

public void calculateBuffer()
Description copied from class: UGen
Called by the signal chain to update this UGen's ouput data. Subclassses of UGen should implement the UGen's DSP perform routine here. In general this involves grabbing data from UGen.bufIn and putting data into UGen.bufOut in some way. UGen.bufIn and UGen.bufOut are 2D arrays of floats of the form float[numChannels][bufferSize]. The length of the buffers is given by UGen.bufferSize, and the number of channels of the input and output buffers are given by UGen.ins and UGen.outs respectively.

Specified by:
calculateBuffer in class UGen

kill

public void kill()
Description copied from class: Bead
Stops this Bead, and flags it as deleted. This means that the Bead will automatically be removed from any BeadArrays. Calling this method for the first time also causes the killListener to be notified.

Overrides:
kill in class Bead