24 return (
unsigned)length;
40 unsigned delayInSamples = (unsigned)(delayInMiliseconds *
mFrameRate / 1000);
47 return delayInMiliseconds;
53 mRingBuffer.writeBuffer(output);
54 mRingBuffer.nextBuffer(output);
void logMsg(const char *format,...)
These are the public logging messages.
AdditiveInstrument.h – Sum-of-sines synthesis instrument class.
Effect – mix-in for classes that have unit generators as inputs (like filters).
static unsigned numOutChannels()
default number of output channels
unsigned mFrameRate
trigger ignored here
unsigned mTotalDelayInSamples
static unsigned maxBufferFrames()
the max num frames that can be requested
RingBufferTap mTap
internal tap so a RingBuffer can also be a a UnitGenerator
void setSize(unsigned numChannels, unsigned numFrames)
DelayLine(unsigned maxDelayInSamples)
unsigned mMaxDelayInSamples
unsigned mCurrentFrame
where I currently am in the buffer
unsigned seekTo(int position, SeekPosition whence)
general-purpose seek on a stream
unsigned setDelayLength(unsigned delayInSamples)
Buffer – the multi-channel sample buffer class (passed around between generators and IO guys)...
void nextBuffer(Buffer &output)
get a buffer of Frames – this is the core CSL "pull" function; the given buffer can be written into...
float setDelayTime(float delayInMiliseconds)
unsigned mCurrentWriteFrame
state – users can manipulate my internal tap and buffer