csl Namespace Reference


Detailed Description

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

AdditiveInstrument.h -- Sum-of-sines synthesis instrument class.

See the copyright notice and acknowledgment of authors in the file COPYRIGHT

Accessors "du", set_duration_f "am", set_amplitude_f "fr", set_freq_f "po", set_position_f "aa", set_attack_f -- amplitude envelope ADSR "ad", set_decay_f "as", set_sustain_f "re", set_release_f "pt", set_partial_f "ps", set_partials_f

OSC note formats (4 or 8 arguments): dur, ampl, c_fr, pos dur, ampl, c_fr, pos, att, dec, sus, rel


Classes

class  CSLService
class  Accessor
class  AdditiveInstrument
class  VAdditiveInstrument
class  AmbisonicOrder
class  AmbisonicUnitGenerator
 Ambisonic Abstract Base Class. More...
class  AmbisonicEncoder
class  AmbisonicDecoder
class  AmbisonicPanner
class  AmbisonicMixer
class  AmbisonicRotator
class  FMInstrument
class  FancyFMInstrument
class  BinaryOp
class  AddOp
class  MulOp
class  BinauralPanner
 forward declaration More...
class  BinauralSourceCache
class  HRTF
class  HRTFDatabase
class  BlockResizer
class  AUIO
class  CAIO
class  CGestalt
class  Model
class  Observer
class  Clipper
class  CPoint
class  Buffer
class  BufferCMap
class  UnitGenerator
 forward declaration More...
class  Port
class  Controllable
class  Scalable
class  Effect
class  Phased
class  Writeable
class  Seekable
class  Cacheable
class  FanOut
class  Splitter
class  Joiner
class  Interleaver
class  IO
class  IODevice
class  exception
class  CException
class  MemoryError
class  ValueError
class  TimingError
class  RunTimeError
class  LogicError
class  DomainError
class  OutOfRangeError
class  IOError
struct  testStruct
class  CslRtpSession
class  DelayLine
class  DistanceSimulator
class  DistanceCue
class  IntensityAttenuationCue
class  AirAbsorptionCue
 Simulates the frequency dependent air absorption using a one pole/zero lowpass filter. More...
class  DLine
class  LineSegment
class  Envelope
class  ADSR
 ADSR = 4-segment attack/decay/sustain/release envelope class. More...
class  AR
 AR = 3-segment attack/release envelope class. More...
class  Triangle
class  RandEnvelope
class  Abst_FFT_W
class  FileIO
class  FrequencyAmount
class  Filter
class  Butter
class  Formant
class  Notch
 Notch Filter with poles at +-z and complex conjugate zeros at +-omega. More...
class  Allpass
class  Moog
 Moog VCF class. More...
class  FilterSpecification
 forward declaration More...
class  FIR
class  Freeverb
class  Comb
class  FAllpass
class  Stereoverb
struct  Grain
class  GrainCloud
class  GrainPlayer
 GrainPlayer -- low-level granular synthesis generator, uses a list of current grains. More...
class  InOut
class  Instrument
class  JackIO
class  JUCEIO
class  KarplusString
class  Lorenz
class  Microphone
class  CMIDIMessage
class  MIDIIO
class  MIDIIn
class  MIDIOut
class  MIDIPlayer
class  CSL_MIDIMessage
 CSL_MIDIMessage. More...
class  Mixer
class  Panner
class  NtoMPanner
class  StereoWidth
class  Noise
class  WhiteNoise
class  PinkNoise
class  NullIO
class  StdIO
class  Oscillator
class  WavetableOscillator
class  CompOrCacheOscillator
class  Sine
class  FSine
 FSine -- (uses a ringing filter for the sine calc). More...
class  Sawtooth
class  Square
class  Impulse
struct  Partial
class  SumOfSines
class  SquareBL
class  PAIO
class  RemoteIO
struct  CSL_RS_MSG
class  RemoteStream
class  RingBufferTap
class  RingBuffer
class  BufferStream
class  RtpReceiver
class  RtpSender
class  SHARCSpectrum
class  SHARCInstrument
class  SHARCLibrary
class  ShoeBox
class  SimpleSine
class  SineAsPhased
class  SineAsScaled
class  SndFileInstrument
class  SampleBankInstrument
class  Abst_SoundFile
class  SoundCue
class  CASoundFile
class  JSoundFile
class  LSoundFile
class  Spatializer
class  Auralizer
class  SpeakerLayoutExpert
 * More...
class  SpatialPanner
class  SpatialSource
 Temp Spatial Sound Source. More...
class  SpeakerLayout
class  StereoSpeakerLayout
 Standard "Stereo Speaker Layout", where two speakers are positioned 30¼ left, 30¼ right and no elevation (0¼). More...
class  Speaker
 Represents a speaker as a position relative to the center of a space. More...
class  FFT
class  IFFT
class  CThread
 The abstract CSL Thread class. More...
class  Synch
 Sync is a cross-thread synchronization object. More...
class  SynchPthread
 PThread version of Sync. More...
class  ThreadPthread
 PThread version of Thread. More...
class  CVariable
class  StaticVariable
class  DynamicVariable
class  VBAP
 Vector Base Amplitude Panning. More...
class  StereoPanner
class  SurroundPanner
class  VBAPSourceCache
class  SpeakerSet
 Groups two or three loudspeakers, and their inverse. Used for VBAP computations. More...
class  SpeakerSetLayout
class  VSTIO
class  WaveShaper
class  WhiteNoiseInstrument
class  Window
class  RectangularWindow
 RectangularWindow:A rectangular window has all values set to the Gain value, or by default to 1. More...
class  HammingWindow
 HammingWindow: Belongs to the familly of cosine window functions. More...
class  HannWindow
 HannWindow. More...
class  BlackmanWindow
 BlackmanWindow. More...
class  BlackmanHarrisWindow
 BlackmanHarrisWindow. More...
class  WelchWindow
 WelchWindow: This is basically an equal-power curve. More...
class  Convolver
class  FDN
struct  lpc_header
struct  frame_header
class  LPCAnalyzer
class  LPCFilter
class  ThreadUtil
class  ThreadedReader
class  ThreadedWriter

Typedefs

typedef vector< Accessor * > AccessorVector
typedef vector< HRTF * > HRTFVector
typedef std::vector< Observer * > ObserverVector
 Forward declaration.
typedef float sample
 < short-hand for the base sample type
typedef float Sample
 (could be changed to int) the same, written upper-case
typedef sampleSampleBuffer
 1-channel buffer data type, vector of (sample)
typedef SampleBufferSampleBufferVector
 Multi-channel buffer data type, vector of (SampleBuffer).
typedef SampleBufferSampleBufferArray
 Multi-channel buffer data type.
typedef sample SampleComplex [2]
 array-of-2 complex # type (like FFTW)
typedef SampleComplexSampleComplexVector
 complex vector
typedef SampleComplexSampleComplexPtr
 complex pointer
typedef std::vector< CPoint * > PointVector
 Forward declaration A vector of points.
typedef void * VOIDFCNPTR (void *arg)
 the generic void fcn pointer
typedef unsigned CSL_MAP_KEY
 Forward declaration.
typedef std::map< CSL_MAP_KEY,
Port * > 
PortMap
typedef std::vector< UnitGenerator * > UGenVector
 UGenVector: unit generator pointers (used for outputs).
typedef std::map< std::string,
UnitGenerator * > 
UGenMap
 UGenMap: a named map of unit generators (used for GUIs).
typedef std::vector< IODevice * > IODeviceVector
 IOs hold onto device vectors.
typedef std::vector< Instrument * > InstrumentVector
 Players hold onto Instrument vectors/maps.
typedef std::map< int, InstrumentVectorInstrumentLibrary
typedef std::map< std::string,
Instrument * > 
InstrumentMap
typedef unsigned long Timestamp
typedef map< float, LineSegment * > Breakpoints
 a map between a time and a line segment
typedef csl::Grain Grain
typedef void *(* THREAD_START_ROUTINE )(void *)
typedef int SoundFileMode
typedef int SoundFileFormat
typedef int ButterworthType
typedef int InOutFlags
typedef csl::lpc_header CSL_LPC_HEADER
typedef csl::frame_header CSL_LPC_FRAME
typedef int LineMode
typedef int InterpolationPolicy
typedef int PartialDescriptionMode
typedef int PointMode
typedef int VOperator

Enumerations

enum  AmbisonicDecoderMethod { kPSEUDOINVERSE = 0, kPROJECTION }
 Flag for the decoding method. More...
enum  AmbisonicDecoderFlavour { kBASIC = 0, kINPHASE, kMAXRE }
 Flag for the decoder flavour. More...
enum  Axes { kTILT = 0, kTUMBLE, kROTATE }
enum  LogLevel { kLogInfo, kLogWarning, kLogError, kLogFatal }
enum  ClipperFlags { kMin, kMax, kBoth }
 Whether to clip using the minimum, maximum or both values. More...
enum  PointMode { kCartesian, kPolar }
enum  BufferContentType {
  kSamples, kSpectra, kLPCCoeff, kIRData,
  kWavelet, kGeometry, kUnknown
}
enum  BufferCopyPolicy { kCopy, kExpand, kIgnore }
enum  SeekPosition { kPositionStart, kPositionCurrent, kPositionEnd }
enum  IO_Status {
  kIONew, kIOInit, kIOOpen, kIORunning,
  kIOClosed, kIOExit
}
enum  RtpBufferState {
  kNormal = 0, kBuffering, kOverflow, kUnderrun,
  kInactive, kNumStates
}
 Enumeration to define the possible states of our internal RingBuffer. More...
enum  InterpType { kTruncate, kLinear, kAllPass }
enum  LineMode { kLine, kExpon }
enum  CSL_FFTType { CSL_FFT_REAL = 0, CSL_FFT_COMPLEX, CSL_FFT_MAGPHASE }
 real/complex flag (determines results from forward FFT) More...
enum  CSL_FFTDir { CSL_FFT_FORWARD = 0, CSL_FFT_INVERSE }
 forward/reverse flag (determines FFT direction) More...
enum  ButterworthType { BW_LOW_PASS = 0, BW_HIGH_PASS, BW_BAND_PASS, BW_BAND_STOP }
enum  GrainulatorState { kFree, kDSP, kSched }
 This flag is for the app state, so that we don't change the grain lists while calculating samples. More...
enum  InOutFlags {
  kNoProc, kLR2M, kL2M, kR2M,
  kN2M
}
enum  CMIDIMessageType {
  kNone = 0, kNoteOff = 8, kNoteOn = 9, kPolyTouch = 10,
  kControlChange = 11, kProgramChange = 12, kAftertouch = 13, kPitchWheel = 14,
  kSysEX = 15
}
 CMIDIMessageType enum of midi msg categories. More...
enum  CSL_MIDIMessageType {
  kNone = 0, kNoteOff = 8, kNoteOn = 9, kPolyTouch = 10,
  kControlChange = 11, kProgramChange = 12, kAftertouch = 13, kPitchWheel = 14,
  kSysEX = 15
}
 CSL_MIDIMessageType. More...
enum  InterpolationPolicy { kTruncate, kLinear, kCubic, kAllPass }
enum  PartialDescriptionMode { kFrequency, kFreqAmp, kFreqAmpPhase }
enum  {
  kMarble = 0, kConcrete, kBrick, kGlass,
  kWood
}
enum  SoundFileMode { kSoundFileRead, kSoundFileWrite, kSoundFileReadWrite }
 Sound file constants. More...
enum  SoundFileFormat {
  kSoundFileFormatWAV, kSoundFileFormatAIFF, kSoundFileFormatSND, kSoundFileFormatEBICSF,
  kSoundFileFormatRaw, kSoundFileFormatOther
}
enum  PannerType {
  kAutomatic = 0, kBinaural, kVBAP, kAmbisonic,
  kWFS
}
 Panner types. More...
enum  VOperator {
  kOpPlus, kOpTimes, kOpMinus, kOpDivided,
  kOpNegated
}
enum  VBAPMode { kAuto = 0, kPantophonic = 2, kPeriphonic = 3 }
 VBAP types. More...
enum  {
  kNumParameters = 16, kThresh = 0, kWindowSize, kNumBins,
  kOut, kNumParams
}
enum  {
  kNumParameters = 16, kThresh = 0, kWindowSize, kNumBins,
  kOut, kNumParams
}
enum  CMIDIMessageType {
  kNone = 0, kNoteOff = 8, kNoteOn = 9, kPolyTouch = 10,
  kControlChange = 11, kProgramChange = 12, kAftertouch = 13, kPitchWheel = 14,
  kSysEX = 15
}
 CMIDIMessageType enum of midi msg categories. More...
enum  CSL_MIDIMessageType {
  kNone = 0, kNoteOff = 8, kNoteOn = 9, kPolyTouch = 10,
  kControlChange = 11, kProgramChange = 12, kAftertouch = 13, kPitchWheel = 14,
  kSysEX = 15
}
 CSL_MIDIMessageType. More...
enum  LogLevel { kLogInfo, kLogWarning, kLogError, kLogFatal }
enum  BufferContentType {
  kSamples, kSpectra, kLPCCoeff, kIRData,
  kWavelet, kGeometry, kUnknown
}
enum  BufferCopyPolicy { kCopy, kExpand, kIgnore }
enum  SeekPosition { kPositionStart, kPositionCurrent, kPositionEnd }
enum  IO_Status {
  kIONew, kIOInit, kIOOpen, kIORunning,
  kIOClosed, kIOExit
}
enum  ClipperFlags { kMin, kMax, kBoth }
 Whether to clip using the minimum, maximum or both values. More...
enum  RtpBufferState {
  kNormal = 0, kBuffering, kOverflow, kUnderrun,
  kInactive, kNumStates
}
 Enumeration to define the possible states of our internal RingBuffer. More...
enum  GrainulatorState { kFree, kDSP, kSched }
 This flag is for the app state, so that we don't change the grain lists while calculating samples. More...
enum  AmbisonicDecoderMethod { kPSEUDOINVERSE = 0, kPROJECTION }
 Flag for the decoding method. More...
enum  AmbisonicDecoderFlavour { kBASIC = 0, kINPHASE, kMAXRE }
 Flag for the decoder flavour. More...
enum  Axes { kTILT = 0, kTUMBLE, kROTATE }
enum  {
  kMarble = 0, kConcrete, kBrick, kGlass,
  kWood
}
enum  PannerType {
  kAutomatic = 0, kBinaural, kVBAP, kAmbisonic,
  kWFS
}
 Panner types. More...
enum  InterpType { kTruncate, kLinear, kAllPass }
enum  VBAPMode { kAuto = 0, kPantophonic = 2, kPeriphonic = 3 }
 VBAP types. More...
enum  CSL_FFTType { CSL_FFT_REAL = 0, CSL_FFT_COMPLEX, CSL_FFT_MAGPHASE }
 real/complex flag (determines results from forward FFT) More...
enum  CSL_FFTDir { CSL_FFT_FORWARD = 0, CSL_FFT_INVERSE }
 forward/reverse flag (determines FFT direction) More...

Functions

void logMsg (LogLevel level, char *format,...)
void logMsg (char *format,...)
 default is kLogInfo severity
void singularValueDecomposition (sample **a, int m, int n, sample *w, sample **v)
 Utility function used in calculating the inverse of a matrix, used in AmbisonicDecoder for the pseudoinverse method.
void fumaEncodingWeights (SampleBuffer weights, const AmbisonicOrder &order, sample azimuth, sample elevation)
 Utility function that calculates fuma encoding weights for a given order, azimuth and elevation.
void fumaIndexedEncodingWeights (SampleBuffer weights, const AmbisonicOrder &order, sample &azimuth, sample &elevation)
 Utility function that calculates fuma encoding weights for a given order, azimuth and elevation.
void logLine ()
 Log the file & line #.
void logURL ()
 log file/line as a URL
void vlogMsg (char *format, va_list args)
void vlogMsg (LogLevel level, char *format, va_list args)
bool sleepUsec (float dur)
 sleep for dur usec, msec or sec
bool sleepMsec (float dur)
bool sleepSec (float dur)
Timestamp timeNow ()
 high-accuracy system or IO time in ticks
float fTimeNow ()
 system or IO time in seconds
float fRandZ (void)
 A variety of useful random-number functions 0 - 1 (name: zero).
float fRand1 (void)
 -1 - 1 (one)
float fRandV (float val)
 0 - v (val)
float fRandM (float minV, float maxV)
 min - max (min/max)
float fRandR (float base, float range)
 b +- (r * b) (range)
float fRandB (float base, float range)
 b +- r (base)
int iRandV (int val)
 Integer rands 0 - v (val).
int iRandM (int minV, int maxV)
 min - max (min/max)
int iRandB (int base, int range)
 b +- r (base)
bool coin ()
 Answer true or false.
bool coin (float bias)
 Answer with a bias (1 --> always true).
float keyToFreq (unsigned midiKey)
 keyToFreq -- converts from MIDI key numbers (1 - 127) to frequency in Hz.
unsigned freqToKey (float frequency)
 freqToKey -- converts from frequency in Hz to MIDI key #
void copy_CSL_MIDIMessage (CSL_MIDIMessage *source, CSL_MIDIMessage *dest)
 copy_CSL_MIDIMessage -- copies CSL_MIDIMessage
void CSL_MIDIMessageToPmEvent (CSL_MIDIMessage *cslMIDI, PmEvent *event)
 CSL_MIDIMessageToPmEvent -- converts CSL_MIDIMessage to PmEvent.
void PmEventToCSL_MIDIMessage (PmEvent *event, CSL_MIDIMessage *cslMIDI)
 PmEventToCSL_MIDIMessage -- converts PmEvent to CSL_MIDIMessage.
unsigned Message_ChannelToStatus (CSL_MIDIMessageType message, unsigned channel)
 Message_ChannelToStatus -- converts from message and channel to status byte.
void * RemoteIO_read_loop (void *inst)
void * RS_read_loop (void *inst)
int CSL_CreateThread (THREAD_START_ROUTINE pfnThreadProc, void *pvParam)
void * RTP_read_loop (void *inst)
void copy_CSL_MIDIMessage (CSL_MIDIMessage *source, CSL_MIDIMessage *dest)
 copy_CSL_MIDIMessage -- copies CSL_MIDIMessage
void CSL_MIDIMessageToPmEvent (CSL_MIDIMessage *cslMIDI, PmEvent *event)
 CSL_MIDIMessageToPmEvent -- converts CSL_MIDIMessage to PmEvent.
void PmEventToCSL_MIDIMessage (PmEvent *event, CSL_MIDIMessage *cslMIDI)
 PmEventToCSL_MIDIMessage -- converts PmEvent to CSL_MIDIMessage.
unsigned Message_ChannelToStatus (CSL_MIDIMessageType message, unsigned channel)
void vlogMsg (char *format, va_list args)
void logMsg (char *format,...)
void vlogMsg (LogLevel level, char *format, va_list args)
void logMsg (LogLevel level, char *format,...)
 Log the file & line #.
void logLine ()
 Log the file & line #.
void logURL ()
 log file/line as a URL
bool sleepUsec (float dur_in_usec)
 sleep for dur usec, msec or sec
bool sleepMsec (float dur_in_msec)
bool sleepSec (float dur_in_sec)
Timestamp timeNow ()
 high-accuracy system or IO time in ticks
float fTimeNow ()
 system or IO time in seconds
float fRandZ (void)
 A variety of useful random-number functions 0 - 1 (name: zero).
float fRand1 (void)
 -1 - 1 (one)
float fRandM (float minV, float maxV)
 min - max (min/max)
float fRandR (float base, float range)
 b +- (r * b) (range)
float fRandB (float base, float range)
 b +- r (base)
float fRandV (float val)
 0 - v (val)
int iRandV (int val)
 Integer rands 0 - v (val).
int iRandM (int minV, int maxV)
 min - max (min/max)
int iRandB (int base, int range)
 b +- r (base)
bool coin ()
 Answer true or false.
bool coin (float bias)
 Answer with a bias (1 --> always true).
float keyToFreq (unsigned midiKey)
 keyToFreq -- converts from MIDI key numbers (1 - 127) to frequency in Hz.
unsigned freqToKey (float frequency)
 freqToKey -- converts from frequency in Hz to MIDI key #


Typedef Documentation

typedef vector< Accessor * > csl::AccessorVector
 

Typedef for AccessorVector object

typedef vector< HRTF * > csl::HRTFVector
 

typedef std::vector< Observer * > csl::ObserverVector
 

Forward declaration.

typedef float csl::sample
 

< short-hand for the base sample type

typedef float csl::Sample
 

(could be changed to int) the same, written upper-case

typedef sample * csl::SampleBuffer
 

1-channel buffer data type, vector of (sample)

typedef SampleBuffer * csl::SampleBufferVector
 

Multi-channel buffer data type, vector of (SampleBuffer).

typedef SampleBuffer * csl::SampleBufferArray
 

Multi-channel buffer data type.

typedef sample csl::SampleComplex
 

array-of-2 complex # type (like FFTW)

typedef SampleComplex * csl::SampleComplexVector
 

complex vector

typedef SampleComplex * csl::SampleComplexPtr
 

complex pointer

typedef std::vector< CPoint * > csl::PointVector
 

Forward declaration A vector of points.

typedef void * csl::VOIDFCNPTR(void *arg)
 

the generic void fcn pointer

typedef unsigned csl::CSL_MAP_KEY
 

Forward declaration.

the type I use for map keys (could also be a string) PortMap: a map between a name/key and a port object (used for control and audio inputs)

typedef std::map< CSL_MAP_KEY, Port * > csl::PortMap
 

typedef std::vector< UnitGenerator * > csl::UGenVector
 

UGenVector: unit generator pointers (used for outputs).

typedef std::map< std::string, UnitGenerator * > csl::UGenMap
 

UGenMap: a named map of unit generators (used for GUIs).

typedef std::vector< IODevice * > csl::IODeviceVector
 

IOs hold onto device vectors.

typedef std::vector< Instrument * > csl::InstrumentVector
 

Players hold onto Instrument vectors/maps.

typedef std::map< int, InstrumentVector > csl::InstrumentLibrary
 

typedef std::map< std::string, Instrument * > csl::InstrumentMap
 

typedef unsigned long csl::Timestamp
 

Timestamp type: we assume that we can get the host's best guess at the IO word clock (normally passed into the audio IO callback function). call timeNow() to get the time We also support float-time in fTimeNow()

typedef map< float, LineSegment * > csl::Breakpoints
 

a map between a time and a line segment

typedef struct csl::Grain csl::Grain
 

Grain data structure This implementation uses a linked list data structure. You might want to add a few more members to this for flexibility.

typedef void *(* csl::THREAD_START_ROUTINE)(void *)
 

typedef int csl::SoundFileMode
 

typedef int csl::SoundFileFormat
 

typedef int csl::ButterworthType
 

typedef int csl::InOutFlags
 

typedef struct csl::lpc_header csl::CSL_LPC_HEADER
 

typedef struct csl::frame_header csl::CSL_LPC_FRAME
 

typedef int csl::LineMode
 

typedef int csl::InterpolationPolicy
 

typedef int csl::PartialDescriptionMode
 

typedef int csl::PointMode
 

typedef int csl::VOperator
 


Enumeration Type Documentation

enum csl::AmbisonicDecoderMethod
 

Flag for the decoding method.

Enumerator:
kPSEUDOINVERSE 
kPROJECTION 

enum csl::AmbisonicDecoderFlavour
 

Flag for the decoder flavour.

Enumerator:
kBASIC 
kINPHASE 
kMAXRE 

enum csl::Axes
 

Enumerator:
kTILT 
kTUMBLE 
kROTATE 

enum csl::LogLevel
 

Logging functions are standard C functions

Enumerator:
kLogInfo  Enumeration for log message severity level you can filter on this.
kLogWarning 
kLogError 
kLogFatal 

enum csl::ClipperFlags
 

Whether to clip using the minimum, maximum or both values.

Enumerator:
kMin 
kMax 
kBoth 

enum csl::PointMode
 

Enumerator:
kCartesian 
kPolar 

enum csl::BufferContentType
 

Sample buffer contents type (optional) One could argue that we should use subclasses for this, but they're not behaviorally different at present.

Enumerator:
kSamples  Regular audio samples.
kSpectra  FFT complex spectral frames.
kLPCCoeff  LPC reflection coefficients.
kIRData  FIR Impulse Response frames.
kWavelet  Wavelet coefficients.
kGeometry  Spatial geometry buffers.
kUnknown  Unknown or other data type.

enum csl::BufferCopyPolicy
 

UnitGenerator buffer copy policy flags (for multi-channel expansion)

Enumerator:
kCopy  compute 1 channel and copy
kExpand  call monoNextBuffer multiple times
kIgnore  ignore extra buffer channels

enum csl::SeekPosition
 

Enumeration for seek flags

Enumerator:
kPositionStart 
kPositionCurrent 
kPositionEnd 

enum csl::IO_Status
 

Enumerator:
kIONew 
kIOInit 
kIOOpen 
kIORunning 
kIOClosed 
kIOExit 

enum csl::RtpBufferState
 

Enumeration to define the possible states of our internal RingBuffer.

Enumerator:
kNormal 
kBuffering 
kOverflow 
kUnderrun 
kInactive 
kNumStates 

enum csl::InterpType
 

Enumerator:
kTruncate 
kLinear 
kAllPass 

enum csl::LineMode
 

LineSegment flags for line interpolation.

Enumerator:
kLine  linear interpolation between start and end values.
kExpon  linear interpolation between start and end values.

enum csl::CSL_FFTType
 

real/complex flag (determines results from forward FFT)

Enumerator:
CSL_FFT_REAL 
CSL_FFT_COMPLEX 
CSL_FFT_MAGPHASE 

enum csl::CSL_FFTDir
 

forward/reverse flag (determines FFT direction)

Enumerator:
CSL_FFT_FORWARD 
CSL_FFT_INVERSE 

enum csl::ButterworthType
 

Enumerator:
BW_LOW_PASS 
BW_HIGH_PASS 
BW_BAND_PASS 
BW_BAND_STOP 

enum csl::GrainulatorState
 

This flag is for the app state, so that we don't change the grain lists while calculating samples.

Enumerator:
kFree  free state
kDSP  calculating audio samples
kSched  scheduling grains

enum csl::InOutFlags
 

Enumerator:
kNoProc 
kLR2M 
kL2M 
kR2M 
kN2M 

enum csl::CMIDIMessageType
 

CMIDIMessageType enum of midi msg categories.

Enumerator:
kNone 
kNoteOff 
kNoteOn 
kPolyTouch 
kControlChange 
kProgramChange 
kAftertouch 
kPitchWheel 
kSysEX 

enum csl::CSL_MIDIMessageType
 

CSL_MIDIMessageType.

Enumerator:
kNone 
kNoteOff 
kNoteOn 
kPolyTouch 
kControlChange 
kProgramChange 
kAftertouch 
kPitchWheel 
kSysEX 

enum csl::InterpolationPolicy
 

Enumeration for interpolation policies

Enumerator:
kTruncate 
kLinear 
kCubic 
kAllPass 

enum csl::PartialDescriptionMode
 

Enum for SumOfSines description formats

Enumerator:
kFrequency 
kFreqAmp 
kFreqAmpPhase 

anonymous enum
 

Enumerator:
kMarble 
kConcrete 
kBrick 
kGlass 
kWood 

enum csl::SoundFileMode
 

Sound file constants.

Enumerator:
kSoundFileRead  File I/O r/w mode.
kSoundFileWrite 
kSoundFileReadWrite 

enum csl::SoundFileFormat
 

Enumerator:
kSoundFileFormatWAV  File format WAV.
kSoundFileFormatAIFF  AIFF.
kSoundFileFormatSND  Sun/NeXT SND/AU.
kSoundFileFormatEBICSF  Extended BIC (Berkeley/IRCAM/CARL) data.
kSoundFileFormatRaw  Raw data.
kSoundFileFormatOther  Other formats.

enum csl::PannerType
 

Panner types.

Enumerator:
kAutomatic 
kBinaural  HRTF 2-channel panning.
kVBAP  Vector Base Amplitude Panning.
kAmbisonic  Full 3D Ambisonics.
kWFS  Wave Field Synthesis.

enum csl::VOperator
 

Enumerator:
kOpPlus 
kOpTimes 
kOpMinus 
kOpDivided 
kOpNegated 

enum csl::VBAPMode
 

VBAP types.

Enumerator:
kAuto 
kPantophonic  Only uses the horizontally placed speakers (zero elevation).
kPeriphonic  Full 3D VBAP.

anonymous enum
 

Enumerator:
kNumParameters 
kThresh 
kWindowSize 
kNumBins 
kOut 
kNumParams 

anonymous enum
 

Enumerator:
kNumParameters 
kThresh 
kWindowSize 
kNumBins 
kOut 
kNumParams 

enum csl::CMIDIMessageType
 

CMIDIMessageType enum of midi msg categories.

Enumerator:
kNone 
kNoteOff 
kNoteOn 
kPolyTouch 
kControlChange 
kProgramChange 
kAftertouch 
kPitchWheel 
kSysEX 

enum csl::CSL_MIDIMessageType
 

CSL_MIDIMessageType.

Enumerator:
kNone 
kNoteOff 
kNoteOn 
kPolyTouch 
kControlChange 
kProgramChange 
kAftertouch 
kPitchWheel 
kSysEX 

enum csl::LogLevel
 

Logging functions are standard C functions

Enumerator:
kLogInfo  Enumeration for log message severity level you can filter on this.
kLogWarning 
kLogError 
kLogFatal 

enum csl::BufferContentType
 

Sample buffer contents type (optional) One could argue that we should use subclasses for this, but they're not behaviorally different at present.

Enumerator:
kSamples  Regular audio samples.
kSpectra  FFT complex spectral frames.
kLPCCoeff  LPC reflection coefficients.
kIRData  FIR Impulse Response frames.
kWavelet  Wavelet coefficients.
kGeometry  Spatial geometry buffers.
kUnknown  Unknown or other data type.

enum csl::BufferCopyPolicy
 

UnitGenerator buffer copy policy flags (for multi-channel expansion)

Enumerator:
kCopy  compute 1 channel and copy
kExpand  call monoNextBuffer multiple times
kIgnore  ignore extra buffer channels

enum csl::SeekPosition
 

Enumeration for seek flags

Enumerator:
kPositionStart 
kPositionCurrent 
kPositionEnd 

enum csl::IO_Status
 

Enumerator:
kIONew 
kIOInit 
kIOOpen 
kIORunning 
kIOClosed 
kIOExit 

enum csl::ClipperFlags
 

Whether to clip using the minimum, maximum or both values.

Enumerator:
kMin 
kMax 
kBoth 

enum csl::RtpBufferState
 

Enumeration to define the possible states of our internal RingBuffer.

Enumerator:
kNormal 
kBuffering 
kOverflow 
kUnderrun 
kInactive 
kNumStates 

enum csl::GrainulatorState
 

This flag is for the app state, so that we don't change the grain lists while calculating samples.

Enumerator:
kFree  free state
kDSP  calculating audio samples
kSched  scheduling grains

enum csl::AmbisonicDecoderMethod
 

Flag for the decoding method.

Enumerator:
kPSEUDOINVERSE 
kPROJECTION 

enum csl::AmbisonicDecoderFlavour
 

Flag for the decoder flavour.

Enumerator:
kBASIC 
kINPHASE 
kMAXRE 

enum csl::Axes
 

Enumerator:
kTILT 
kTUMBLE 
kROTATE 

anonymous enum
 

Enumerator:
kMarble 
kConcrete 
kBrick 
kGlass 
kWood 

enum csl::PannerType
 

Panner types.

Enumerator:
kAutomatic 
kBinaural  HRTF 2-channel panning.
kVBAP  Vector Base Amplitude Panning.
kAmbisonic  Full 3D Ambisonics.
kWFS  Wave Field Synthesis.

enum csl::InterpType
 

Enumerator:
kTruncate 
kLinear 
kAllPass 

enum csl::VBAPMode
 

VBAP types.

Enumerator:
kAuto 
kPantophonic  Only uses the horizontally placed speakers (zero elevation).
kPeriphonic  Full 3D VBAP.

enum csl::CSL_FFTType
 

real/complex flag (determines results from forward FFT)

Enumerator:
CSL_FFT_REAL 
CSL_FFT_COMPLEX 
CSL_FFT_MAGPHASE 

enum csl::CSL_FFTDir
 

forward/reverse flag (determines FFT direction)

Enumerator:
CSL_FFT_FORWARD 
CSL_FFT_INVERSE 


Function Documentation

void csl::logMsg LogLevel  level,
char *  format,
  ...
 

void csl::logMsg char *  format,
  ...
 

default is kLogInfo severity

These are the public logging messages

void csl::singularValueDecomposition sample **  a,
int  m,
int  n,
sample w,
sample **  v
[related]
 

Utility function used in calculating the inverse of a matrix, used in AmbisonicDecoder for the pseudoinverse method.

void csl::fumaEncodingWeights SampleBuffer  weights,
const AmbisonicOrder &  order,
sample  azimuth,
sample  elevation
[related]
 

Utility function that calculates fuma encoding weights for a given order, azimuth and elevation.

void csl::fumaIndexedEncodingWeights SampleBuffer  weights,
const AmbisonicOrder &  order,
sample azimuth,
sample elevation
[related]
 

Utility function that calculates fuma encoding weights for a given order, azimuth and elevation.

void csl::logLine  ) 
 

Log the file & line #.

void csl::logURL  ) 
 

log file/line as a URL

void csl::vlogMsg char *  format,
va_list  args
 

void csl::vlogMsg LogLevel  level,
char *  format,
va_list  args
 

bool csl::sleepUsec float  dur  ) 
 

sleep for dur usec, msec or sec

Sleep for micro-seconds, milli-seconds or seconds These are interruptable and return true if interrupted; false for normal termination

bool csl::sleepMsec float  dur  ) 
 

bool csl::sleepSec float  dur  ) 
 

Timestamp csl::timeNow  ) 
 

high-accuracy system or IO time in ticks

float csl::fTimeNow  ) 
 

system or IO time in seconds

float csl::fRandZ void   ) 
 

A variety of useful random-number functions 0 - 1 (name: zero).

float csl::fRand1 void   ) 
 

-1 - 1 (one)

float csl::fRandV float  val  ) 
 

0 - v (val)

float csl::fRandM float  minV,
float  maxV
 

min - max (min/max)

float csl::fRandR float  base,
float  range
 

b +- (r * b) (range)

float csl::fRandB float  base,
float  range
 

b +- r (base)

int csl::iRandV int  val  ) 
 

Integer rands 0 - v (val).

int csl::iRandM int  minV,
int  maxV
 

min - max (min/max)

int csl::iRandB int  base,
int  range
 

b +- r (base)

bool csl::coin  ) 
 

Answer true or false.

bool csl::coin float  bias  ) 
 

Answer with a bias (1 --> always true).

float csl::keyToFreq unsigned  midiKey  ) 
 

keyToFreq -- converts from MIDI key numbers (1 - 127) to frequency in Hz.

unsigned csl::freqToKey float  frequency  ) 
 

freqToKey -- converts from frequency in Hz to MIDI key #

freqToKey -- converts from frequency in Hz to MIDI key # 8.17579891564371 Hz is MIDI key 0

void csl::copy_CSL_MIDIMessage CSL_MIDIMessage source,
CSL_MIDIMessage dest
 

copy_CSL_MIDIMessage -- copies CSL_MIDIMessage

void csl::CSL_MIDIMessageToPmEvent CSL_MIDIMessage cslMIDI,
PmEvent *  event
 

CSL_MIDIMessageToPmEvent -- converts CSL_MIDIMessage to PmEvent.

void csl::PmEventToCSL_MIDIMessage PmEvent *  event,
CSL_MIDIMessage cslMIDI
 

PmEventToCSL_MIDIMessage -- converts PmEvent to CSL_MIDIMessage.

unsigned csl::Message_ChannelToStatus CSL_MIDIMessageType  message,
unsigned  channel
 

Message_ChannelToStatus -- converts from message and channel to status byte.

void * csl::RemoteIO_read_loop void *  inst  ) 
 

void * csl::RS_read_loop void *  inst  ) 
 

int csl::CSL_CreateThread THREAD_START_ROUTINE  pfnThreadProc,
void *  pvParam
 

void * csl::RTP_read_loop void *  inst  ) 
 

void csl::copy_CSL_MIDIMessage CSL_MIDIMessage source,
CSL_MIDIMessage dest
 

copy_CSL_MIDIMessage -- copies CSL_MIDIMessage

void csl::CSL_MIDIMessageToPmEvent CSL_MIDIMessage cslMIDI,
PmEvent *  event
 

CSL_MIDIMessageToPmEvent -- converts CSL_MIDIMessage to PmEvent.

void csl::PmEventToCSL_MIDIMessage PmEvent *  event,
CSL_MIDIMessage cslMIDI
 

PmEventToCSL_MIDIMessage -- converts PmEvent to CSL_MIDIMessage.

unsigned csl::Message_ChannelToStatus CSL_MIDIMessageType  message,
unsigned  channel
 

void csl::vlogMsg char *  format,
va_list  args
 

void csl::logMsg char *  format,
  ...
 

void csl::vlogMsg LogLevel  level,
char *  format,
va_list  args
 

void csl::logMsg LogLevel  level,
char *  format,
  ...
 

Log the file & line #.

void csl::logLine  ) 
 

Log the file & line #.

void csl::logURL  ) 
 

log file/line as a URL

bool csl::sleepUsec float  dur  ) 
 

sleep for dur usec, msec or sec

Sleep for micro-seconds, milli-seconds or seconds These are interruptable and return true if interrupted; false for normal termination

bool csl::sleepMsec float  dur_in_msec  ) 
 

bool csl::sleepSec float  dur_in_sec  ) 
 

Timestamp csl::timeNow  ) 
 

high-accuracy system or IO time in ticks

float csl::fTimeNow  ) 
 

system or IO time in seconds

float csl::fRandZ void   ) 
 

A variety of useful random-number functions 0 - 1 (name: zero).

float csl::fRand1 void   ) 
 

-1 - 1 (one)

float csl::fRandM float  minV,
float  maxV
 

min - max (min/max)

float csl::fRandR float  base,
float  range
 

b +- (r * b) (range)

float csl::fRandB float  base,
float  range
 

b +- r (base)

float csl::fRandV float  val  ) 
 

0 - v (val)

int csl::iRandV int  val  ) 
 

Integer rands 0 - v (val).

int csl::iRandM int  minV,
int  maxV
 

min - max (min/max)

int csl::iRandB int  base,
int  range
 

b +- r (base)

bool csl::coin  ) 
 

Answer true or false.

bool csl::coin float  bias  ) 
 

Answer with a bias (1 --> always true).

float csl::keyToFreq unsigned  midiKey  ) 
 

keyToFreq -- converts from MIDI key numbers (1 - 127) to frequency in Hz.

unsigned csl::freqToKey float  frequency  ) 
 

freqToKey -- converts from frequency in Hz to MIDI key #

freqToKey -- converts from frequency in Hz to MIDI key # 8.17579891564371 Hz is MIDI key 0


Generated on Sat Oct 17 14:12:35 2009 for CSL by  doxygen 1.4.5-20051010