CSL_Core.h File Reference

#include "CSL_Types.h"
#include "CSL_Exceptions.h"
#include "CGestalt.h"
#include <sys/time.h>

Go to the source code of this file.


Classes

class  csl::Buffer
class  csl::BufferCMap
class  csl::UnitGenerator
 forward declaration More...
class  csl::Port
class  csl::Controllable
class  csl::Scalable
class  csl::Effect
class  csl::Phased
class  csl::Writeable
class  csl::Seekable
class  csl::Cacheable
class  csl::FanOut
class  csl::Splitter
class  csl::Joiner
class  csl::Interleaver
class  csl::IO
class  csl::IODevice

Namespaces

namespace  csl
 < we use the STL vector, map, and string classes

Defines

#define DECLARE_SCALABLE_CONTROLS
 Declare the pointer to scale/offset buffers (if used) and current scale/offset values.
#define LOAD_SCALABLE_CONTROLS
 Load the scale/offset-related values at the start.
#define UPDATE_SCALABLE_CONTROLS
#define CHECK_UPDATE_SCALABLE_CONTROLS
#define DECLARE_PHASED_CONTROLS
 Declare the frequency port (accessing the mInputs map) and current value.
#define LOAD_PHASED_CONTROLS
#define UPDATE_PHASED_CONTROLS   freqValue = freqPort->nextValue()
 Update the freq-related value in the loop.
#define CHECK_UPDATE_PHASED_CONTROLS
#define GET_TIME(val)   if (gettimeofday(val, 0) != 0) logMsg(kLogError, "Output: Error reading current time");
#define SUB_TIMES(t1, t2)   (((t1->tv_sec - t2->tv_sec) * 1000000) + (t1->tv_usec - t2->tv_usec))

Enumerations

enum  csl::BufferContentType {
  csl::kSamples, csl::kSpectra, csl::kLPCCoeff, csl::kIRData,
  csl::kWavelet, csl::kGeometry, csl::kUnknown
}
enum  csl::BufferCopyPolicy { csl::kCopy, csl::kExpand, csl::kIgnore }
enum  csl::SeekPosition { csl::kPositionStart, csl::kPositionCurrent, csl::kPositionEnd }
enum  csl::IO_Status {
  csl::kIONew, csl::kIOInit, csl::kIOOpen, csl::kIORunning,
  csl::kIOClosed, csl::kIOExit
}


Define Documentation

#define DECLARE_SCALABLE_CONTROLS

Value:

Port * scalePort = mInputs[CSL_SCALE];                  \
    Port * offsetPort = mInputs[CSL_OFFSET];                \
    float scaleValue, offsetValue
Declare the pointer to scale/offset buffers (if used) and current scale/offset values.

Macros for all the Scalable UnitGenerators (note that these don't end with ";") Note that these make some assumptions about variable names declared in the method;

Referenced by csl::SineAsScaled::nextBuffer(), csl::Impulse::nextBuffer(), csl::Square::nextBuffer(), csl::Sawtooth::nextBuffer(), csl::Sine::nextBuffer(), csl::WavetableOscillator::nextBuffer(), csl::PinkNoise::nextBuffer(), csl::WhiteNoise::nextBuffer(), csl::KarplusString::nextBuffer(), csl::RandEnvelope::nextBuffer(), csl::Envelope::nextBuffer(), csl::NtoMPanner::nextBuffer(), csl::Panner::nextBuffer(), csl::Mixer::nextBuffer(), csl::Moog::nextBuffer(), csl::Filter::nextBuffer(), csl::LSoundFile::nextBuffer(), csl::Abst_SoundFile::nextBuffer(), and csl::SumOfSines::nextWaveInto().

#define LOAD_SCALABLE_CONTROLS

#define UPDATE_SCALABLE_CONTROLS

#define CHECK_UPDATE_SCALABLE_CONTROLS

Value:

if (scalePort)                                          \
        scaleValue = scalePort->nextValue();                \
    if (offsetPort)                                         \
        offsetValue = offsetPort->nextValue()

Referenced by csl::LineSegment::nextBuffer().

#define DECLARE_PHASED_CONTROLS

Value:

Port * freqPort = mInputs[CSL_FREQUENCY];               \
    float freqValue
Declare the frequency port (accessing the mInputs map) and current value.

Macros for all the Phased UnitGenerators (note that these don't end with ";") These make some assumptions about variable names declared in the method; i.e., the number of frames to compute must be named "numFrames." Use this: unsigned numFrames = outputBuffer.mNumFrames;

Referenced by csl::SineAsScaled::nextBuffer(), csl::SineAsPhased::nextBuffer(), csl::Impulse::nextBuffer(), csl::Square::nextBuffer(), csl::Sawtooth::nextBuffer(), csl::Sine::nextBuffer(), csl::WavetableOscillator::nextBuffer(), and csl::SumOfSines::nextWaveInto().

#define LOAD_PHASED_CONTROLS

Value:

Controllable::pullInput(freqPort, numFrames);           \
    freqValue = freqPort->nextValue()
Load the freq-related values at the start of the callback; if the frequency is a dynamic UGen input, then pull its value, get the pointer to its buffer, and set the first value, otherwise store the constant value

Referenced by csl::SineAsScaled::nextBuffer(), csl::SineAsPhased::nextBuffer(), csl::Impulse::nextBuffer(), csl::Square::nextBuffer(), csl::Sawtooth::nextBuffer(), csl::Sine::nextBuffer(), csl::WavetableOscillator::nextBuffer(), and csl::SumOfSines::nextWaveInto().

#define UPDATE_PHASED_CONTROLS   freqValue = freqPort->nextValue()

#define CHECK_UPDATE_PHASED_CONTROLS

Value:

if (freqPort)                                           \
        freqValue = freqPort->nextValue()

#define GET_TIME ( val   )     if (gettimeofday(val, 0) != 0) logMsg(kLogError, "Output: Error reading current time");

#define SUB_TIMES ( t1,
t2   )     (((t1->tv_sec - t2->tv_sec) * 1000000) + (t1->tv_usec - t2->tv_usec))


Generated on Thu Sep 17 23:14:16 2009 for CSL by  doxygen 1.5.8