com.jsyn.ports
Class UnitDataQueuePort

java.lang.Object
  extended by com.jsyn.ports.UnitPort
      extended by com.jsyn.ports.UnitDataQueuePort

public class UnitDataQueuePort
extends UnitPort

Queue for SequentialData, samples or envelopes


Field Summary
static int LOOP_IF_LAST
           
 
Constructor Summary
UnitDataQueuePort(java.lang.String name)
           
 
Method Summary
 void beginFrame(double synthesisPeriod)
           
 void clear()
           
 void clear(TimeStamp timeStamp)
           
 QueueDataCommand createQueueDataCommand(SequentialData queueableData, int startFrame, int numFrames)
           
 void endFrame()
           
 void firePendingCallbacks()
           
 long getFrameCount()
           
 double getNormalizedRate()
           
 int getNumChannels()
           
 boolean hasMore()
           
 boolean isTargetValid()
           
 void queue(SequentialData queueableData)
          Queue entire amount of data with no options.
 void queue(SequentialData queueableData, int startFrame, int numFrames)
          Queue the data to the port through the command queue ASAP.
 void queue(SequentialData queueableData, int startFrame, int numFrames, TimeStamp timeStamp)
          Queue the data to the port at a future time.
 void queueLoop(SequentialData queueableData, int startFrame, int numFrames)
          Queue the data to the port for immediate use.
 void queueLoop(SequentialData queueableData, int startFrame, int numFrames, int numLoops)
          Queue the data to the port for immediate use with a specified number of loops.
 void queueLoop(SequentialData queueableData, int startFrame, int numFrames, int numLoops, TimeStamp timeStamp)
          Queue the data to the port at a future time with a specified number of loops.
 void queueLoop(SequentialData queueableData, int startFrame, int numFrames, TimeStamp timeStamp)
          Queue the data to the port at a future time.
 void queueOff(SequentialData queueableData, boolean ifStop)
          Schedule queueOff now!
 void queueOff(SequentialData queueableData, boolean ifStop, TimeStamp timeStamp)
          Convenience method that will queue the decay portion of a SequentialData object, or the gap and release loop portions if they exist.
 void queueOn(SequentialData queueableData)
          Schedule queueOn now!
 void queueOn(SequentialData queueableData, TimeStamp timeStamp)
          Convenience method that will queue the attack portion of a channelData and the sustain loop if it exists.
 void queueStop(SequentialData queueableData, int startFrame, int numFrames, TimeStamp timeStamp)
          Queue the data to the port at a future time.
 double readCurrentChannelDouble(int channelIndex)
           
 double readNextMonoDouble(double synthesisPeriod)
           
 void setCurrentBlock(QueueDataCommand currentBlock)
           
 void setNumChannels(int numChannels)
           
 boolean testAndClearAutoStop()
           
 void writeCurrentChannelDouble(int channelIndex, double value)
           
 void writeNextDouble(double value)
           
 
Methods inherited from class com.jsyn.ports.UnitPort
getName, getNumParts, getUnit, setUnitGenerator
 
Methods inherited from class java.lang.Object
equals, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Field Detail

LOOP_IF_LAST

public static final int LOOP_IF_LAST
See Also:
Constant Field Values
Constructor Detail

UnitDataQueuePort

public UnitDataQueuePort(java.lang.String name)
Method Detail

createQueueDataCommand

public QueueDataCommand createQueueDataCommand(SequentialData queueableData,
                                               int startFrame,
                                               int numFrames)

setCurrentBlock

public void setCurrentBlock(QueueDataCommand currentBlock)

firePendingCallbacks

public void firePendingCallbacks()

hasMore

public boolean hasMore()

getNormalizedRate

public double getNormalizedRate()

readCurrentChannelDouble

public double readCurrentChannelDouble(int channelIndex)

writeCurrentChannelDouble

public void writeCurrentChannelDouble(int channelIndex,
                                      double value)

beginFrame

public void beginFrame(double synthesisPeriod)

endFrame

public void endFrame()

readNextMonoDouble

public double readNextMonoDouble(double synthesisPeriod)

queue

public void queue(SequentialData queueableData,
                  int startFrame,
                  int numFrames,
                  TimeStamp timeStamp)
Queue the data to the port at a future time.


queueLoop

public void queueLoop(SequentialData queueableData,
                      int startFrame,
                      int numFrames,
                      TimeStamp timeStamp)
Queue the data to the port at a future time.


queueLoop

public void queueLoop(SequentialData queueableData,
                      int startFrame,
                      int numFrames,
                      int numLoops,
                      TimeStamp timeStamp)
Queue the data to the port at a future time with a specified number of loops.


queueLoop

public void queueLoop(SequentialData queueableData,
                      int startFrame,
                      int numFrames)
Queue the data to the port for immediate use.


queueLoop

public void queueLoop(SequentialData queueableData,
                      int startFrame,
                      int numFrames,
                      int numLoops)
Queue the data to the port for immediate use with a specified number of loops.


queueStop

public void queueStop(SequentialData queueableData,
                      int startFrame,
                      int numFrames,
                      TimeStamp timeStamp)
Queue the data to the port at a future time. Request that the unit stop when this block is finished.


queue

public void queue(SequentialData queueableData,
                  int startFrame,
                  int numFrames)
Queue the data to the port through the command queue ASAP.


queue

public void queue(SequentialData queueableData)
Queue entire amount of data with no options.

Parameters:
queueableData -

queueOn

public void queueOn(SequentialData queueableData)
Schedule queueOn now!


queueOff

public void queueOff(SequentialData queueableData,
                     boolean ifStop)
Schedule queueOff now!


queueOn

public void queueOn(SequentialData queueableData,
                    TimeStamp timeStamp)
Convenience method that will queue the attack portion of a channelData and the sustain loop if it exists. This could be used to implement a NoteOn method.


queueOff

public void queueOff(SequentialData queueableData,
                     boolean ifStop,
                     TimeStamp timeStamp)
Convenience method that will queue the decay portion of a SequentialData object, or the gap and release loop portions if they exist. This could be used to implement a NoteOff method.


clear

public void clear(TimeStamp timeStamp)

clear

public void clear()

writeNextDouble

public void writeNextDouble(double value)

getFrameCount

public long getFrameCount()

testAndClearAutoStop

public boolean testAndClearAutoStop()

isTargetValid

public boolean isTargetValid()

setNumChannels

public void setNumChannels(int numChannels)

getNumChannels

public int getNumChannels()