csl Namespace Reference


Detailed Description

< we use the std namespace

BasicFMInstrument.h -- Simple FM example instrument class. See the copyright notice and acknowledgment of authors in the file COPYRIGHT

This instrument implements single-operator FM with ADSR envelopes for the amplitude and modulation index envelopes; it provides 13 parameter accessors for use by OSC.

Accessors "du", set_duration_f "am", set_amplitude_f "in", set_index_f "cf", set_c_freq_f "mf", set_m_freq_f "po", set_position_f "aa", set_attack_f -- amplitude envelope ADSR "ad", set_decay_f "as", set_sustain_f "ar", set_release_f "ia", set_iattack_f -- mod. index envelope ADSR "id", set_idecay_f "is", set_isustain_f "ir", set_irelease_f

OSC note formats (6 or 14 arguments): dur, ampl, c_fr, m_fr, ind, pos dur, ampl, c_fr, m_fr, ind, pos, att, dec, sus, rel, i_att, i_dec, i_sus, i_rel


Classes

class  CSLService
class  Accessor
class  BasicFMInstrument
class  Instrument
class  SndFileInstrument
class  BasicWhiteNoiseInstrument
class  AUIO
class  CAIO
class  FileIO
class  Microphone
class  CSL_MIDIMessage
 CSL_MIDIMessage. More...
class  MIDIIO
class  MIDIIn
class  MIDIOut
class  NullIO
class  PADevice
class  PAIO
class  RemoteIO
struct  CSL_RS_MSG
class  RemoteStream
class  SoundFile
class  SoundCue
class  CGestalt
class  Buffer
class  BufferCMap
class  UnitGenerator
 forward declaration More...
class  Port
class  Controllable
class  Phased
class  Scalable
class  Effect
class  Writeable
class  Seekable
class  Cacheable
class  FanOut
class  Splitter
class  Joiner
class  IO
class  exception
class  CException
class  MemoryError
class  ValueError
class  TimingError
class  RunTimeError
class  LogicError
class  DomainError
class  OutOfRangeError
class  IOError
class  Model
 Forward declaration. More...
class  Observer
class  RingBufferTap
class  RingBuffer
class  BufferStream
class  CVariable
class  StaticVariable
class  DynamicVariable
class  BinaryOp
class  AddOp
class  MulOp
class  Clipper
class  Convolver
class  DelayLine
class  FDN
class  FrequencyAmount
class  Filter
 The n-pole/m-zero filter class. More...
class  Butter
class  Formant
class  Notch
 Notch Filter with poles at +-z and complex conjugate zeros at +-omega. More...
class  Allpass
class  Moog
class  FilterSpecification
 forward declaration More...
class  FIR
class  Freeverb
 CSL port of the public domain Freeverb reverberator. More...
class  Comb
class  InOut
struct  lpc_header
struct  frame_header
class  LPCAnalyzer
class  LPCFilter
class  Mixer
class  Panner
class  CslRtpSession
class  RtpReceiver
class  RtpSender
class  GestureSensor
class  Glove
class  EBeam
class  Bird
class  Matrix
class  P5Glove
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
 Triangle envelope class -- equal attack/release times. More...
class  RandEnvelope
struct  Grain
class  Granulator
 Granulator -- top-level class for granular synthesis. More...
class  KarplusString
class  Lorenz
class  Noise
class  WhiteNoise
class  PinkNoise
class  Oscillator
class  WavetableOscillator
class  CompOrCacheOscillator
class  Sine
class  Sawtooth
class  Square
class  Impulse
struct  Partial
class  SumOfSines
class  SquareBL
class  ImpulseBL
class  TriangleBL
class  SHARC_Spectrum
class  SHARC_Instrument
class  SHARC_Library
class  SimpleSine
class  SineAsPhased
class  SineAsScaled
class  FFT
class  IFFT
class  WaveShaper
class  Window
class  RectangularWindow
class  HammingWindow
class  HannWindow
class  BlackmanWindow
class  BlackmanHarrisWindow
class  WelchWindow
class  AmbisonicOrder
class  AmbisonicUnitGenerator
 Ambisonic Abstract Base Class. More...
class  AmbisonicEncoder
class  AmbisonicDecoder
class  AmbisonicPanner
class  AmbisonicMixer
class  AmbisonicRotator
class  Glue
class  HOA_AmbisonicFramestream
class  HOA_Decoder
class  HOA_Encoder
class  HOA_Mixer
class  HOA_Rotator
struct  speaker
class  HOA_SpeakerLayout
struct  ambisonicOrder
class  BinauralPanner
class  BinauralSourceCache
 Used for caching previous state of spatial sources. More...
class  HRTF
 A record class that holds the data that corresponds to an HRTF. More...
class  HRTFDatabase
class  DistanceSimulator
class  DistanceCue
class  IntensityAttenuationCue
class  AirAbsorptionCue
 Simulates the frequency dependent air absorption using a one pole/zero lowpass filter. More...
class  GeConvVerb
struct  soundray
struct  polygon
class  Geometer
class  LateReverb
struct  SchedulerEvent
class  Scheduler
class  Spatializer
class  ShoeBox
class  Auralizer
class  SpeakerLayoutExpert
 * More...
class  SpatialPanner
class  SpatSource
 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  DLine
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  BlockResizer
class  CPoint
class  Interleaver
class  ThreadUtil
class  ThreadedReader
class  ThreadedWriter
class  Synch
 Thread function signature. More...
class  Thread
class  SynchPthread
class  ThreadPthread

Typedefs

typedef vector< Accessor * > AccessorVector
typedef vector< PADevice * > PADeviceVector
typedef void *(* THREAD_START_ROUTINE )(void *)
typedef int SoundFileMode
typedef int SoundFileFormat
typedef int LogLevel
typedef int BufferContentType
typedef int BufferCopyPolicy
typedef int SeekPosition
typedef float sample
 < All of CSL takes place in the "csl" namespace short-hand for the base sample type (could be changed to int)
typedef vector< sample * > SampleBufferVector
 Multi-channel buffer data type -- vector of (sample *) this is the central signal buffer model of CSL.
typedef vector< Point > PointVector
 Forward declaration A vector of points.
typedef void * VOIDFCNPTR (void *arg)
 the generic void fcn pointer
typedef unsigned CSL_MAP_KEY
 Forward declaration to Port class (in CSL_Core.h) the type I use for map keys (could also be a string).
typedef map< CSL_MAP_KEY,
Port * > 
PortMap
 PortMap: a map between a name/key and a port object (used for control and audio inputs).
typedef vector< UnitGenerator * > UGenVector
 UGenVector: a vector of unit generator pointers (used for outputs).
typedef map< string, UnitGenerator * > UGenMap
 UGenMap: a named map of unit generator pointers (used for GUIs).
typedef unsigned long Timestamp
typedef signed long long INT64
typedef unsigned long long UINT64
typedef int VOperator
typedef int ButterworthType
typedef int InOutFlags
typedef csl::lpc_header CSL_LPC_HEADER
typedef csl::frame_header CSL_LPC_FRAME
typedef int LineMode
typedef map< double, LineSegment * > Breakpoints
 a map between a name/key and a port object (used for control and audio inputs)
typedef int InterpolationPolicy
typedef int PartialDescriptionMode
typedef int CSLFFTType
typedef int FFTFlags
typedef int PointMode
typedef void *(* ThreadFunc )(void *)

Enumerations

enum  {
  kNumParameters = 16, kThresh = 0, kWindowSize, kNumBins,
  kOut, kNumParams
}
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  BufferContentType {
  kSamples, kSpectra, kLPCCoeff, kIRData,
  kWavelet, kGeometry, kUnknown
}
enum  BufferCopyPolicy { kCopy, kExpand, kIgnore }
enum  SeekPosition { kPositionStart, kPositionCurrent, kPositionEnd }
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  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  HOA_DecoderMethod { HOA_PSEUDOINVERSE = 0, HOA_PROJECTION }
enum  HOA_DecoderFlavour { HOA_BASIC = 0, HOA_INPHASE, HOA_MAXRE }
enum  Axes { HOA_TILT = 0, HOA_TUMBLE, HOA_ROTATE }
enum  ear_type_t { POINT_DIAPHRAGM, DUMMY_HEAD, DUMMY_HEAD_INVERTED, NUM_EAR_TYPES }
enum  {
  kMarble = 0, kConcrete, kBrick, kGlass,
  kWood
}
enum  PannerType { kAutomatic = 0, kBinaural, kVBAP, kAmbisonic }
 Panner types. More...
enum  InterpType { kTruncate, kLinear, kAllPass }
enum  VBAPMode { kAuto = 0, kPantophonic = 2, kPeriphonic = 3 }
 VBAP types. More...

Functions

void log_msg (LogLevel level, char *format,...)
void log_msg (char *format,...)
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.
float MIDINoteToFreq (unsigned midiNote)
 MIDINoteToFreq -- converts from MIDI notes ( C3, etc ) to frequency.
unsigned FreqToMIDINote (float frequency)
 FreqToMIDINote -- converts from frequency to MIDI notes ( C3, etc ).
void * RemoteIO_read_loop (void *inst)
void * RS_read_loop (void *inst)
int CSL_CreateThread (THREAD_START_ROUTINE pfnThreadProc, void *pvParam)
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,...)
void sleepUsec (float dur_in_usec)
void sleepMsec (float dur_in_msec)
void sleepSec (float dur_in_sec)
float fRand (void)
void * RTP_read_loop (void *inst)
void glove_input (void *inst, int arglen, const void *args, OSCTimeTag when, NetworkReturnAddressPtr ra)
void ebeam_input (void *inst, int arglen, const void *args, OSCTimeTag when, NetworkReturnAddressPtr ra)
void bird_input (void *inst, int arglen, const void *args, OSCTimeTag when, NetworkReturnAddressPtr ra)
void matrix_input (void *inst, int arglen, const void *args, OSCTimeTag when, NetworkReturnAddressPtr ra)
void p5_input (void *inst, int arglen, const void *args, OSCTimeTag when, NetworkReturnAddressPtr ra)
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 (sample *weights, const AmbisonicOrder &order, sample azimuth, sample elevation)
 Utility function that calculates fuma encoding weights for a given order, azimuth and elevation.
void fumaIndexedEncodingWeights (sample *weights, const AmbisonicOrder &order, sample &azimuth, sample &elevation)
 Utility function that calculates fuma encoding weights for a given order, azimuth and elevation.
unsigned int channelsToUniformOrder (const unsigned int channels)
unsigned int getGreaterOrder (const ambisonicOrder order)
unsigned int orderToChannels (const ambisonicOrder order)
unsigned int orderToChannels (unsigned int order)
unsigned int orderToHorizontalChannels (const ambisonicOrder order)
unsigned int orderToVerticalChannels (const ambisonicOrder order)
unsigned int * channelIndexer (const ambisonicOrder order)
unsigned int * invChannelIndexer (const ambisonicOrder order)
void SingularValueDecomposition (sample **a, int m, int n, sample *w, sample **v)
void fumaEncodingWeights (sample *weights, const ambisonicOrder &order, sample &azimuth, sample &elevation)
void fumaIndexedEncodingWeights (sample *weights, const ambisonicOrder &order, sample &azimuth, sample &elevation)


Typedef Documentation

typedef vector<Accessor *> csl::AccessorVector
 

Typedef for AccessorVector object

typedef vector<PADevice *> csl::PADeviceVector
 

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

typedef int csl::SoundFileMode
 

typedef int csl::SoundFileFormat
 

typedef int csl::LogLevel
 

typedef int csl::BufferContentType
 

typedef int csl::BufferCopyPolicy
 

typedef int csl::SeekPosition
 

typedef float csl::sample
 

< All of CSL takes place in the "csl" namespace short-hand for the base sample type (could be changed to int)

CSL base audio and geometrical data type declarations

typedef vector<sample *> csl::SampleBufferVector
 

Multi-channel buffer data type -- vector of (sample *) this is the central signal buffer model of CSL.

typedef vector<Point> 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 to Port class (in CSL_Core.h) the type I use for map keys (could also be a string).

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

PortMap: a map between a name/key and a port object (used for control and audio inputs).

typedef vector<UnitGenerator *> csl::UGenVector
 

UGenVector: a vector of unit generator pointers (used for outputs).

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

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

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). This will be platform- and API-specific, and will differ between hosts.

typedef signed long long csl::INT64
 

Typedefs for basic types that differ across platforms

typedef unsigned long long csl::UINT64
 

typedef int csl::VOperator
 

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 map<double, LineSegment *> csl::Breakpoints
 

a map between a name/key and a port object (used for control and audio inputs)

typedef int csl::InterpolationPolicy
 

typedef int csl::PartialDescriptionMode
 

typedef int csl::CSLFFTType
 

typedef int csl::FFTFlags
 

typedef int csl::PointMode
 

typedef void*(* csl::ThreadFunc)(void *)
 


Enumeration Type Documentation

anonymous enum
 

Enumerator:
kNumParameters 
kThresh 
kWindowSize 
kNumBins 
kOut 
kNumParams 

enum csl::CSL_MIDIMessageType
 

CSL_MIDIMessageType.

Enumerator:
kNone 
kNoteOff 
kNoteOn 
kPolyTouch 
kControlChange 
kProgramChange 
kAftertouch 
kPitchWheel 
kSysEX 

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 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::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::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::HOA_DecoderMethod
 

Enumerator:
HOA_PSEUDOINVERSE 
HOA_PROJECTION 

enum csl::HOA_DecoderFlavour