CSL  5.2
Class Hierarchy
This inheritance list is sorted roughly, but not completely, alphabetically:
[detail level 12345678]
oC_lo_address
oC_lo_blob
oC_lo_bundle
oC_lo_message
oC_lo_method
oC_lo_server
oC_lo_server_thread
oC_lo_strlist
oCcsl::Abst_FFT_WAbstract FFT class can do forward/reverse real/complex I/O FFTs
oCcsl::AccessorHas public data members
oCcsl::AmbisonicOrderAmbisonic order structure (separate definition for horizontal and vertical order):
oCmath::matrix::base_mat
oCcsl::BinauralSourceCacheBinauralSourceCache: used for caching previous state of spatial sources. This has the history of input FFTs and the last output sample block for OLA
oCFFTReal::BitReversedLUT
oCcsl::BufferBuffer – the multi-channel sample buffer class (passed around between generators and IO guys)
oCcsl::CacheableCacheable – a mix-in for caching streams
oCcsl::CExceptionBase class of CSL exceptions (written upper-case). Has a string message
oCcsl::CGestaltThe CSL system defaults class
oCcsl::CMIDIMessageCMIDIMessage class (mapped to juce::MidiMessage)
oCcsl::CombComb filter class
oCConnection
oCcsl::ControllableControllable – superclass of the mix-ins that add control or signal inputs. This holds onto a map of port objects that represent the inputs, and manages the naming and processing flow for dynamic inputs
oCController
oCcontroller_str
oCcsl::CPoint
oCcsl::CSL_MIDIMessageCSL_MIDIMessage
oCcsl::CSL_RS_MSG
oCcsl::CslRtpSession
oCcsl::CSLService
oCcsl::CThreadThe abstract CSL Thread class
oCcsl::CVariableCVariable is the the abstract external variable (plug or port) class. This is the abstract class for static and dynamic variables; it's a sample stream. Clients of Variable (oscillators, dsp units, etc) first ask whether its values are fixed over the length of the buffer or not. If the value is fixed, the client calls next_sample() to get the next sample and use it the DSP loop. If the value is not fixed, the client calls next_buffer() to get the next buffer of values
oCcsl::DistanceCuePure Abstract Base Class for all distance cues. A DistanceCue subclass is just an algorithm that modifies a signal based on the distance from the listener. Distance Cues should hold their state, so when "process" is called they can modify the signal buffer given. When "compute" is called is usually due to a change in distance, so if anything has to be re-calculated, it's done
oCcsl::DLine
oCend_test32
oCend_test64
oCcsl::FAllpassAll-pass filter class
oCFFTReal
oCcsl::FilterSpecificationForward declaration
oCcsl::GrainGrain data structure This implementation uses a linked list data structure. You might want to add a few more members to this for flexibility
oCcsl::GrainCloudGrainCloud – routine for playing clouds under GUI control. This could be called a cloud or a stream. You could also add a few more variables to make more flexible clouds
oCcsl::HRTFHRTF: holds the data that corresponds to an HRTF for a single position. It has a list of complex buffers for the FFTs of the HRIR, typically 16 blocks of 512 each for an 8k HRTF. This version knows how to parse the IRCAM hrtfs sets Subclasses could load different HRTF sets (e.g., CIPIC)
oCcsl::HRTFDatabaseHRTFDatabase: has a vector of HRTFs and can access them by position – hrtfAt(CPoint) – or by index – hrtfAt(unsigned). Implemented as a Singleton because it's large (typ 188 HRTFs, 25 MB). Create it with a folder/resource name, it reads "files.txt" for a list of HRIR files to load. This has a number of file/folder/DB IO methods for load/store of bulk HRTF data sets in IRCAM format and CSL's pre-processed HRTF.dat files
oCInst_Context
oCcsl::InterleaverInterleaver handles copying interleaved sample buffers (like sound files and inter-process sockets) to/from non-interleaved CSL-style Buffer objects
oCcsl::IODeviceIO Device class – a holder for a sound interface with name, id, # IO channels, etc
oClo_argUnion used to read values from incoming messages
oClo_cs
oClo_pcast32
oClo_pcast64
oClo_split64
oClo_timetagA structure to store OSC TimeTag values
oCmath::matrix
oCmath::matrix_error
oCcsl::ModelThe Model/Observable/Subject class; instances of its subclasses should send themselves, this->changed(some_data); on "relevant" state changes; the code they inherit (from Model) manages updating the list of observer/dependent objects in that they each receive update(some_data); and can access the model-passed data (the model might pass "this")
oCcsl::ObserverCSL Observer/Dependent/Monitor class – instances receive update() messages from "models" and handle some argument, which may be the model's "this" pointer, or any other data
oCOrbit
oCcsl::PartialStruct for partial overtones
oCPME
oCPMESource
oCcsl::PortPort – used to represent constant, control-rate or signal inputs and outputs in named maps; holds a UnitGenerator and its buffer, OR a single floating-point value (in which case the UGen pointer is set to NULL and mPtrIncrement = 0). The nextValue() message is used to get the dynamic or static value
oCqueued_msg_list
oCcsl::SeekableSeekable – a mix-in for positionable streams
oCcsl::SHARCInstrumentSHARC instrument class
oCcsl::SHARCLibrarySHARC library class
oCcsl::SHARCSpectrumSHARC spectrum class
oCcsl::ShoeBox
oCSocket
oCSocketException
oCcsl::SoundFileMetadataClass SndFileMetadata holds the ID3 tags of a sound file
oCcsl::SpeakerRepresents a speaker as a position relative to the center of a space
oCcsl::SpeakerLayoutExpert
oCcsl::SpeakerSetGroups two or three loudspeakers, and their inverse. Used for VBAP computations
oCcsl::SpeakerSetLayout
oCcsl::SynchSync is a cross-thread synchronization object
oCcsl::testStruct
oCFFTReal::TrigoLUT
oCcsl::VBAPSourceCache
oCvbuffer
\Ccsl::WriteableWriteable – a mix-in for buffers and streams that one can write to