Classes | |
| class | CSLService |
| class | Accessor |
| class | AdditiveInstrument |
| class | BasicFMInstrument |
| class | FancyFMInstrument |
| class | Instrument |
| class | SndFileInstrument |
| class | SampleBankInstrument |
| class | BasicWhiteNoiseInstrument |
| class | AUIO |
| class | CAIO |
| class | FileIO |
| class | JackIO |
| class | JUCEIO |
| class | Microphone |
| class | CSL_MIDIMessage |
| CSL_MIDIMessage. More... | |
| class | MIDIIO |
| class | MIDIIn |
| class | MIDIOut |
| class | NullIO |
| class | StdIO |
| class | PAIO |
| class | RemoteIO |
| struct | CSL_RS_MSG |
| class | RemoteStream |
| class | Abst_SoundFile |
| class | SoundCue |
| class | CASoundFile |
| class | JSoundFile |
| class | LSoundFile |
| class | VSTIO |
| class | CGestalt |
| class | Model |
| Forward declaration. More... | |
| class | Observer |
| 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 | RingBufferTap |
| class | RingBuffer |
| class | BufferStream |
| class | CVariable |
| class | StaticVariable |
| class | DynamicVariable |
| class | BinaryOp |
| class | AddOp |
| class | MulOp |
| class | Clipper |
| class | FrequencyAmount |
| class | Filter |
| Filter: the canonical-form 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 |
| Moog VCF class. More... | |
| class | FilterSpecification |
| forward declaration More... | |
| class | FIR |
| class | Freeverb |
| class | Comb |
| class | FAllpass |
| class | Stereoverb |
| class | InOut |
| class | Mixer |
| class | Panner |
| class | NtoMPanner |
| class | StereoWidth |
| class | Convolver |
| class | DelayLine |
| class | FDN |
| struct | lpc_header |
| struct | frame_header |
| class | LPCAnalyzer |
| class | LPCFilter |
| class | CslRtpSession |
| class | RtpReceiver |
| class | RtpSender |
| 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 |
| struct | Grain |
| class | GrainPlayer |
| class | GrainCloud |
| 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 | SHARCSpectrum |
| class | SHARCInstrument |
| class | SHARCLibrary |
| class | SimpleSine |
| class | SineAsPhased |
| class | SineAsScaled |
| class | FFT |
| class | IFFT |
| class | WaveShaper |
| 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 | AmbisonicOrder |
| class | AmbisonicUnitGenerator |
| Ambisonic Abstract Base Class. More... | |
| class | AmbisonicEncoder |
| class | AmbisonicDecoder |
| class | AmbisonicPanner |
| class | AmbisonicMixer |
| class | AmbisonicRotator |
| class | Glue |
| class | BinauralPanner |
| forward declaration More... | |
| class | BinauralSourceCache |
| class | HRTF |
| 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 | ShoeBox |
| 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 | 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 | Abst_FFT_W |
| class | ThreadUtil |
| class | ThreadedReader |
| class | ThreadedWriter |
| class | Synch |
| Thread function signature. More... | |
| class | Thread |
| class | SynchPthread |
| class | ThreadPthread |
Typedefs | |
| typedef vector< Accessor * > | AccessorVector |
| typedef void *(* | THREAD_START_ROUTINE )(void *) |
| typedef int | SoundFileMode |
| typedef int | SoundFileFormat |
| typedef float | sample |
| < All of CSL takes place in the "csl" namespace | |
| typedef float | Sample |
| (could be changed to int) | |
| typedef sample * | SampleBuffer |
| 1-channel buffer data type, vector of (sample) | |
| typedef SampleBuffer * | SampleBufferVector |
| Multi-channel buffer data type, vector of (SampleBuffer). | |
| typedef SampleBuffer * | SampleBufferArray |
| Multi-channel buffer data type. | |
| typedef sample | SampleComplex [2] |
| array-of-2 complex # type (like FFTW) | |
| typedef SampleComplex * | SampleComplexVector |
| complex vector | |
| typedef SampleComplex * | SampleComplexPtr |
| complex pointer | |
| typedef std::vector< CPoint * > | PointVector |
| Forward declaration. | |
| typedef void * | VOIDFCNPTR (void *arg) |
| the generic void fcn pointer | |
| typedef unsigned | CSL_MAP_KEY |
| Forward declaration to IO Device model. | |
| 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 unsigned long | Timestamp |
| typedef signed long long | INT64 |
| typedef unsigned long long | UINT64 |
| typedef int | ButterworthType |
| typedef int | InOutFlags |
| typedef struct csl::lpc_header | CSL_LPC_HEADER |
| typedef struct 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 struct csl::Grain | Grain |
| typedef int | InterpolationPolicy |
| typedef int | PartialDescriptionMode |
| typedef vector< HRTF * > | HRTFVector |
| 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 | 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 | VOperator { kOpPlus, kOpTimes, kOpMinus, kOpDivided, kOpNegated } |
| 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 } |
| 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 | 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 | logMsg (char *format,...) |
| default is kLogInfo severity | |
| void | logMsg (LogLevel level, char *format,...) |
| 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) |
| float | fRand (void) |
| A variety of random-number functions. | |
| float | fRand2 (void) |
| float between -1 and 1 | |
| float | fRand3 (float minV, float maxV) |
| float in range min - max | |
| float | fRand4 (float base, float range) |
| float in range base +- (range * base) | |
| float | fRand5 (float base, float range) |
| float in range base +- range | |
| float | fRand6 (float val) |
| float in range 0 +- val | |
| float | fRandZ (void) |
| 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) | |
| bool | coin () |
| Answer true or false. | |
| bool | coin (float bias) |
| Answer true or false with a bias (bias 1 --> always true). | |
| void * | RTP_read_loop (void *inst) |
| 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. | |
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
BasicFMInstrument.h -- Simple and fancy FM example instrument classes. 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
SndFileInstrument.h -- Sound file player instrument class See the copyright notice and acknowledgment of authors in the file COPYRIGHT
This instrument implements sound file playback with a basic A/R envelope and panning; it provides 4 parameter accessors for use by OSC.
Accessors "am", set_amplitude_f "ra", set_rate_f "po", set_position_f "fi", set_file_f "st", set_start_f "en", set_stop_f "at", set_attack_f "de", set_decay_f
OSC note formats (6 or 14 arguments): ampl, pos ampl, pos, rate ampl, pos, start, stop ampl, pos, rate, start, stop ampl, pos, start, stop, attack, decay ampl, pos, rate, start, stop, attack, decay
Microphone.h -- CSL class that copies the input buffer (from the sound driver) to its output See the copyright notice and acknowledgment of authors in the file COPYRIGHT
SoundFile.h -- CSL's abstract sound file class, a sample player UGen, SoundCue. The concrete subclasses represent sound file APIs, not individual formats.
The sound file player is actually a powerful sampler, supporting arbitrary transposition using wavetable interpolation or a sample rate convertor; Sound files are seekable and also writeable.
See the copyright notice and acknowledgment of authors in the file COPYRIGHT
SoundFileCA.h -- CSL's concrete sound file class for CoreAudio files Note: this is experimental and incomplete as of CSL 5.0
See the copyright notice and acknowledgment of authors in the file COPYRIGHT
SoundFileJ.h -- CSL's concrete sound file class using JUCE
See the copyright notice and acknowledgment of authors in the file COPYRIGHT
SoundFileL.h -- concrete sound file class using libsndfile
See the copyright notice and acknowledgment of authors in the file COPYRIGHT
The MP3 file playback is a mild hack; it first converts each MP3 file to a temp AIFF file and uses that for playback. There is no MP3 writing (encoding) at present.
CGestalt.h -- the CSL 5.0 CGestalt (system utility) class specification, system constants, logging, and utility methods; SAFE_MALLOC/SAFE_FREE macros The logging system has a number of print methods that use the printf var-args format and can be filtered on verbosity. There's a variety of random-number functions. The timer sleep methods are interruptable with a global flag.
The MVC Observer/Subject or dependency pattern classes are also here.
See the copyright notice and acknowledgment of authors in the file COPYRIGHT
CSL_Core.h -- the specification file for the core classes of CSL version 5
See the copyright notice and acknowledgment of authors in the file COPYRIGHT
What's here:
Core Classes Buffer -- the multi-channel sample buffer class (passed around between generators and IO guys) BufferCMap -- a sample buffer with channel map and count (used for many-channel processing) Port -- used to represent signal and control inputs and outputs in named maps; holds a UnitGenerator and its buffer UnitGenerator -- an object that can fill a buffer with samples, the central abstraction of CSL DSP
Mix-in classes (added to UnitGenerator) Controllable -- superclass of the mix-ins that add control or signal inputs (held in maps) Effect -- A (controllable) UnitGenerator subclass that process an input port (e.g., filters, panners). All effects inherit from me. Scalable -- A (controllable) mix-in that adds scale (multiplicative) and offset (additive) inputs (used by most common UGens) Phased -- a (controllable) mix-in for generators with frequency inputs and persistent phase accumulators All of these mix-in classes add macros for handling their special named control ports, as in DECLARE_PHASED_CONTROLS, LOAD_PHASED_CONTROLS, and UPDATE_PHASED_CONTROLS Writeable -- a mix-in for generators that one can write into a buffer on Seekable -- a mix-in for generators that one can position (seek) as a stream Cacheable -- a mix-in for generators that can cache their past output values (of any size)
Channel/Buffer processing FanOut -- 1-in n-out fan-out object (now built in to UnitGenerator) Splitter -- splits a stream into multiple 1-channel outputs Joiner -- joins multiple 1-channel inputs into a single stream Interleaver -- general inderleaver/de-interleaver
I/O IO -- the input/output stream/driver, its utility functions and virtual constructors IODevice -- a holder for a sound interface with name, id, # IO channels, etc.
BinaryOp.h -- The specification file for simple arithmetic operations on UnitGenerators. See the copyright notice and acknowledgment of authors in the file COPYRIGHT
What's here:
BinaryOp -- an abstract class that specific binary operators (add, mul, etc.) inherit from) AddOp -- Adds two UnitGenerators (or a UnitGenerator and a scalar) together MulOp -- Multiplies two UnitGenerators (or a UnitGenerator and a scalar) together
FIR.h -- CSL filter specification and FIR filter classes See the copyright notice and acknowledgment of authors in the file COPYRIGHT
The FilterSpecification uses the Parks-McClellan/Remez iterative algorithm The FIR implementation is based on a minimal version written for the MAT 240B course; it does not use the CSL RingBuffer helper class.
Mixer.h -- The multi-channel panner and mixer classes. See the copyright notice and acknowledgment of authors in the file COPYRIGHT
FDN.h -- CSL feedback delay network class See the copyright notice and acknowledgment of authors in the file COPYRIGHT
CslRTPSession.h -- Contains a subclass of RTPSession, which is the core of RTP What's here:
CslRtpSession: Adds functionality for handling RTP packets sent by the server.
TODO: Need to unify the client/server main programs into one, so that the user has the option of either transmitting data or listening to a port. Also need to extend functionality so that the client specifies the server to listen to, rather than the server adding clients manually. We also need to write some methods to access the ring buffer, rather than through direct access.
Envelope.h -- The basic (concrete) CSL breakpoint envelope classes. See the copyright notice and acknowledgment of authors in the file COPYRIGHT
These are UnitGenerators that represent arbitrarily long breakpoint functions and do linear interpolation between their breakpoints. There are several kinds of constructors, e.g., using breakpoint objects or x/y value pairs, and one can scale the values or times of an existing envelope.
Classes: LineSegment: A linearly interpolated segment with start and end values, and a duration (in seconds). Envelope: a collection of LineSegments; may have an input and act like an effect, or have no input and act like a control UnitGenerator Specific kinds of envelope (AR, ADSR, Triangle) and RandomEnvelope
Lorenz.h -- Header file for the Lorenz chaotic oscillator See the copyright notice and acknowledgment of authors in the file COPYRIGHT
Window.h -- specification of the various function window classes See the copyright notice and acknowledgment of authors in the file COPYRIGHT
Helper class for other classes that need a signal to be windowed. For example, to perform an FFT usually is better to apply a window function to the signal to get beter results. Usage (two ways to be used): a) Instantiate a window object (for example Window myWindow(512, 1);) and then call the window() function to get a pointer to the window buffer. or... b) call the nextBuffer on the window, so it fills a buffer with itself, wraping around if the buffer passed is larger.
The size should be specified in samples.
TODO: a) Add more window types.
BlockResizer.h -- Regularizes the amount of data called for, meaning that different parts of a graph can run at different callback block sizes. This is useful for time-frequency transformations which only work with certain fixed buffer sizes. BlockResizer works for up-block and down-block situations.
See the copyright notice and acknowledgment of authors in the file COPYRIGHT
FFT_Wrapper.h -- wrapper class for FFTs that hides implementation details This class can be used with FFTW, FFTReal, or other FFT implementations. It assumes real-values float vectors as input to the FFT, and can deliver real or complex results in several formats (complex s or mag/phase). The IFFT assumes complex input and delivers real-valued output.
The API is minimal, with a constructor method and the work-horse nextBuffer(Buffer & in, Buffer & out) method doing a single FFT or IFFT
This file includes both the abstract wrapper, and the 3 standard concrete subclasses. Compile this with one of the API flags defined in the compiler (-DUSE_FFTW), or define it below. There are 3 standard concrete subclasses: FFTW (assumes fftw3f), RealFFT (RealFFT code included in CSL), and KISS FFT, built-in FFT from Laurent de Soras (included, untested).
See the copyright notice and acknowledgment of authors in the file COPYRIGHT
ThreadedReader/ThreadedWriter -- frame streams that use separate threads See the copyright notice and acknowledgment of authors in the file COPYRIGHT
These class are simply a cacheing ugens that use a separate thread to get their input or write their output.
| typedef vector<Accessor *> csl::AccessorVector |
Typedef for AccessorVector object
| typedef void *(* csl::THREAD_START_ROUTINE)(void *) |
| typedef int csl::SoundFileMode |
| typedef int csl::SoundFileFormat |
| typedef float csl::sample |
< All of CSL takes place in the "csl" namespace
< 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[2] |
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 to IO Device model.
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 unsigned long csl::Timestamp |
| typedef signed long long csl::INT64 |
Typedefs for basic types that differ across platforms
| typedef unsigned long long csl::UINT64 |
| 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 struct csl::Grain csl::Grain |
This implementation uses a linked list data structure You might want to add a few more members to this for flexibility
| typedef int csl::InterpolationPolicy |
| typedef int csl::PartialDescriptionMode |
| typedef vector<HRTF *> csl::HRTFVector |
| typedef int csl::PointMode |
| typedef void*(* csl::ThreadFunc)(void *) |
| enum csl::LogLevel |
Sample buffer contents type (optional) One could argue that we should use subclasses for this, but they're not behaviorally different at present.
UnitGenerator buffer copy policy flags (for multi-channel expansion)
| enum csl::SeekPosition |
| enum csl::IO_Status |
| enum csl::VOperator |
| enum csl::ClipperFlags |
| enum csl::RtpBufferState |
Enumeration to define the possible states of our internal RingBuffer.
| enum csl::Axes |
| enum csl::PannerType |
| enum csl::InterpType |
| enum csl::VBAPMode |
| enum csl::CSL_FFTType |
real/complex flag (determines results from forward FFT)
| enum csl::CSL_FFTDir |
| void csl::copy_CSL_MIDIMessage | ( | CSL_MIDIMessage * | source, | |
| CSL_MIDIMessage * | dest | |||
| ) |
copy_CSL_MIDIMessage -- copies CSL_MIDIMessage
References csl::CSL_MIDIMessage::channel, csl::CSL_MIDIMessage::data1, csl::CSL_MIDIMessage::data2, csl::CSL_MIDIMessage::message, and csl::CSL_MIDIMessage::time.
Referenced by csl::MIDIOut::set_message(), and csl::MIDIOut::write().
| void csl::CSL_MIDIMessageToPmEvent | ( | CSL_MIDIMessage * | cslMIDI, | |
| PmEvent * | event | |||
| ) |
CSL_MIDIMessageToPmEvent -- converts CSL_MIDIMessage to PmEvent.
References csl::CSL_MIDIMessage::channel, csl::CSL_MIDIMessage::data1, csl::CSL_MIDIMessage::data2, csl::CSL_MIDIMessage::message, Message_ChannelToStatus(), and csl::CSL_MIDIMessage::time.
Referenced by csl::MIDIOut::write().
| void csl::PmEventToCSL_MIDIMessage | ( | PmEvent * | event, | |
| CSL_MIDIMessage * | cslMIDI | |||
| ) |
PmEventToCSL_MIDIMessage -- converts PmEvent to CSL_MIDIMessage.
References csl::CSL_MIDIMessage::channel, csl::CSL_MIDIMessage::data1, csl::CSL_MIDIMessage::data2, csl::CSL_MIDIMessage::message, and csl::CSL_MIDIMessage::time.
| unsigned csl::Message_ChannelToStatus | ( | CSL_MIDIMessageType | message, | |
| unsigned | channel | |||
| ) |
Message_ChannelToStatus -- converts from message and channel to status byte.
Referenced by CSL_MIDIMessageToPmEvent(), csl::MIDIOut::write_Aftertouch(), csl::MIDIOut::write_ControlChange(), csl::MIDIOut::write_NoteOff(), csl::MIDIOut::write_NoteOn(), csl::MIDIOut::write_PitchWheel(), csl::MIDIOut::write_PolyTouch(), and csl::MIDIOut::write_ProgramChange().
| float csl::MIDINoteToFreq | ( | unsigned | midiNote | ) |
MIDINoteToFreq -- converts from MIDI notes ( C3, etc ) to frequency.
Referenced by csl::MIDIIn::get_frequency().
| unsigned csl::FreqToMIDINote | ( | float | frequency | ) |
FreqToMIDINote -- converts from frequency to MIDI notes ( C3, etc ).
Referenced by csl::MIDIOut::write_NoteOff(), and csl::MIDIOut::write_NoteOn().
| void* csl::RemoteIO_read_loop | ( | void * | inst | ) |
References CSL_CMD_NEXT_BUFFER, CSL_CMD_SET_CLIENT, CSL_CMD_STOP, kLogError, logMsg(), THE_IO, and TRUE.
Referenced by csl::RemoteIO::start().
| void* csl::RS_read_loop | ( | void * | inst | ) |
Referenced by csl::RemoteStream::RemoteStream().
| int csl::CSL_CreateThread | ( | THREAD_START_ROUTINE | pfnThreadProc, | |
| void * | pvParam | |||
| ) |
Referenced by csl::RemoteStream::RemoteStream(), and csl::RemoteIO::start().
| void csl::logMsg | ( | char * | format, | |
| ... | ||||
| ) |
default is kLogInfo severity
These are the public logging messages
References kLogInfo.
Referenced by csl::Abst_SoundFile::Abst_SoundFile(), csl::AmbisonicMixer::addInput(), csl::Controllable::addInput(), csl::Model::attachObserver(), csl::JUCEIO::audioDeviceIOCallback(), csl::BinaryOp::BinaryOp(), csl::CAIO::CAIO(), csl::ShoeBox::calculateReflections(), csl::Model::changed(), csl::Abst_SoundFile::checkBuffer(), csl::PAIO::close(), csl::RemoteStream::connectToServer(), csl::HRTFDatabase::convertDB(), csl::Model::detachObserver(), csl::HRTFDatabase::dump(), csl::HRTF::dump(), csl::Window::dump(), csl::SineAsScaled::dump(), csl::SineAsPhased::dump(), csl::SumOfSines::dump(), csl::Oscillator::dump(), csl::Noise::dump(), csl::Lorenz::dump(), csl::KarplusString::dump(), csl::Envelope::dump(), csl::LineSegment::dump(), csl::Filter::dump(), csl::Clipper::dump(), csl::IODevice::dump(), csl::Controllable::dump(), csl::Port::dump(), csl::UnitGenerator::dump(), csl::CASoundFile::dump(), csl::SoundCue::dump(), csl::Abst_SoundFile::dump(), csl::Effect::Effect(), csl::FanOut::FanOut(), csl::MIDIIn::filter_active_sensing(), csl::MIDIIn::filter_clock_msg(), csl::MIDIIn::filter_sysex(), csl::ShoeBox::findNumReflectionsFromTime(), csl::SpeakerLayoutExpert::findPannerFromLayout(), csl::SpeakerSetLayout::findSpeakerPairs(), csl::LSoundFile::format(), csl::Buffer::freeBuffers(), csl::FrequencyAmount::FrequencyAmount(), csl::MIDIIO::handle_error(), csl::PAIO::handleError(), csl::AUIO::handleError(), csl::HRTF::HRTF(), csl::HRTFDatabase::HRTFDatabase(), csl::RemoteIO::init_io(), csl::LSoundFile::initFromSndfile(), csl::AmbisonicRotator::initialize(), csl::AmbisonicMixer::initialize(), csl::AmbisonicDecoder::initialize(), csl::Convolver::initialize(), csl::PAIO::initialize(), csl::SndFileInstrument::initialize(), csl::RemoteStream::initSockets(), csl::IO::IO(), csl::HRTFDatabase::loadFromDB(), csl::HRTFDatabase::loadFromFile(), csl::LPCFilter::LPCFilter(), csl::LSoundFile::LSoundFile(), csl::Glue::next_buffer(), csl::VBAP::nextBuffer(), csl::SpatialSource::nextBuffer(), csl::Spatializer::nextBuffer(), csl::BinauralPanner::nextBuffer(), csl::AmbisonicRotator::nextBuffer(), csl::AmbisonicMixer::nextBuffer(), csl::AmbisonicPanner::nextBuffer(), csl::AmbisonicDecoder::nextBuffer(), csl::AmbisonicEncoder::nextBuffer(), csl::Window::nextBuffer(), csl::IFFT::nextBuffer(), csl::SineAsScaled::nextBuffer(), csl::SineAsPhased::nextBuffer(), csl::SimpleSine::nextBuffer(), csl::Impulse::nextBuffer(), csl::Square::nextBuffer(), csl::Sawtooth::nextBuffer(), csl::Sine::nextBuffer(), csl::WavetableOscillator::nextBuffer(), csl::PinkNoise::nextBuffer(), csl::WhiteNoise::nextBuffer(), csl::Lorenz::nextBuffer(), csl::KarplusString::nextBuffer(), csl::Envelope::nextBuffer(), csl::Panner::nextBuffer(), csl::Mixer::nextBuffer(), csl::Freeverb::nextBuffer(), csl::FIR::nextBuffer(), csl::Moog::nextBuffer(), csl::Filter::nextBuffer(), csl::Clipper::nextBuffer(), csl::MulOp::nextBuffer(), csl::AddOp::nextBuffer(), csl::UnitGenerator::nextBuffer(), csl::LSoundFile::nextBuffer(), csl::RemoteIO::open(), csl::PAIO::open(), csl::JackIO::open(), csl::FileIO::open(), csl::CAIO::open(), csl::LSoundFile::openForRead(), csl::JSoundFile::openForRead(), csl::CASoundFile::openForRead(), csl::LSoundFile::openForWrite(), csl::JSoundFile::openForWrite(), csl::CASoundFile::openForWrite(), pa_callback(), csl::BasicFMInstrument::parseArgs(), csl::Phased::Phased(), csl::BasicWhiteNoiseInstrument::play_osc_note(), csl::SndFileInstrument::playOSC(), csl::AdditiveInstrument::playOSC(), csl::RtpSender::printError(), csl::RtpReceiver::printError(), csl::IO::printTimeStatistics(), csl::RemoteIO::process_request_packet(), csl::IO::pullInput(), csl::Effect::pullInput(), csl::Controllable::pullInput(), csl::MIDIIn::read(), csl::JSoundFile::readBufferFromFile(), csl::SpeakerLayout::readSpeakerFile(), csl::FIR::readTaps(), RemoteIO_read_loop(), csl::RemoteStream::RemoteStream(), csl::SpatialPanner::removeSource(), csl::Spatializer::removeSource(), RS_Read_Loop(), csl::RtpReceiver::RtpReceiver(), csl::RtpSender::RtpSender(), csl::Scalable::Scalable(), csl::LSoundFile::seekTo(), csl::JSoundFile::seekTo(), csl::CASoundFile::seekTo(), csl::BasicWhiteNoiseInstrument::set_parameter(), csl::FrequencyAmount::setAmount(), csl::IFFT::setBin(), csl::DelayLine::setDelayLength(), csl::DelayLine::setDelayTime(), csl::FrequencyAmount::setFrequency(), csl::AmbisonicEncoder::setInput(), csl::Effect::setInput(), csl::AmbisonicRotator::setNthInput(), csl::FilterSpecification::setNumTaps(), csl::Scalable::setOffset(), csl::Spatializer::setPanningMode(), csl::SndFileInstrument::setParameter(), csl::FancyFMInstrument::setParameter(), csl::BasicFMInstrument::setParameter(), csl::AdditiveInstrument::setParameter(), csl::Abst_SoundFile::setRate(), csl::Scalable::setScale(), csl::ShoeBox::setSourceLocation(), csl::AmbisonicRotator::setTilt(), csl::AmbisonicRotator::setTumble(), csl::SpatialSource::SpatialSource(), csl::RemoteIO::start(), csl::PAIO::start(), csl::FileIO::start(), csl::PAIO::stop(), csl::PAIO::test(), csl::FileIO::threadFunction(), csl::BufferStream::writeBuffer(), csl::JSoundFile::writeBuffer(), csl::CASoundFile::writeBuffer(), and csl::PAIO::~PAIO().
| void csl::logMsg | ( | LogLevel | level, | |
| char * | format, | |||
| ... | ||||
| ) |
References kLogError, kLogFatal, kLogInfo, and kLogWarning.
Referenced by dumpAMFMSin(), ambiOSC::encoderOSC(), event_handler(), float_set_density(), floatParamSetter(), generic_handler(), initial_test(), initUdp(), input_read_interpret_test(), intParamSetter(), jack_shutdown(), load_Ulysses_sounds(), main(), Spectrogram::normalize(), osc_error(), play_note(), playNote(), playWithArgs(), quitCSL(), remote_mixer(), remote_player(), ambiOSC::rotatorOSC(), run_tests(), setupOSCInstrLibrary(), Spectrogram::Spectrogram(), stringParamSetter(), test50RandFreqEnv(), test_allpass(), test_am_sin(), test_basic_fm_instrument(), test_Binaural_horiz(), test_Binaural_vertAxial(), test_Binaural_vertMedian(), test_bw_bandpass(), test_env_fm_sin(), test_env_fm_sin2(), test_envelope(), test_envelopes(), test_filter_sweep(), test_FIR(), test_FIR2(), test_fm_sin(), test_fm_sin2(), test_formant(), test_frequency_envelope(), test_gliss_sin(), test_ifft(), test_InOut(), test_logging(), test_long_ifft(), test_mixer_with_sines(), test_moog(), test_notch(), test_panning_sin(), test_panning_sine_mix(), test_pink_noise(), test_saw(), test_scaled_sin(), test_SHARC(), test_SHARC2(), test_sin(), test_sound_file_player(), test_square(), test_squareBL(), test_vector_ifft(), test_wavetable(), test_white_noise(), testADSR2(), testADSR_FM(), testAMFMEnvs(), testAMFMSin(), testARSin(), testARSin2(), testBasicWaves(), testBigPanMix(), testBlockResizer(), testBlockResizer2(), testClipper(), testCMapIO(), testDynamicFilters(), testEnvScale(), testFancy_FM(), testFancyFMInstrument(), testFilters(), testFIR(), testFMInstrument(), testFrequencyEnv(), testGliss(), testManyDynamicFilters(), testMonoSoundFilePlayer(), testMultiTap(), testN2MPan(), testNoises(), testOscBank(), testPan(), testPanMix(), testRandFreqEnv(), testReverb(), testScaledSin(), testSimpleSines(), testSineMixer(), testSndFileInstrument(), testSoundFileTranspose(), testStereoSoundFilePlayer(), testStereoverb(), testString(), testSumOfSinesCached(), testSumOfSinesNonCached(), testSweep(), testSwell(), testWaveTableFromFile(), and testWavetableInterpolation().
| void csl::vlogMsg | ( | char * | format, | |
| va_list | args | |||
| ) |
References kLogInfo.
| void csl::vlogMsg | ( | LogLevel | level, | |
| char * | format, | |||
| va_list | args | |||
| ) |
References CSL_LOG_PREFIX, kLogError, kLogFatal, kLogInfo, kLogWarning, mVerbosity, and SWALLOW_CR.
| bool csl::sleepUsec | ( | float | dur | ) |
sleep for dur usec, msec or sec
Misc. global functions in the csl namespace Sleep for micro-seconds, milli-seconds or seconds These are interruptable and return true if interrupted; false for normal termination
References csl::CGestalt::stopNow(), and TIMER_INTERVAL.
Referenced by granuloop(), main(), PME::manage_sources(), csl::GrainPlayer::nextBuffer(), sleepMsec(), sleepSec(), csl::FileIO::stop(), and csl::FileIO::threadFunction().
| bool csl::sleepMsec | ( | float | dur | ) |
References sleepUsec().
Referenced by main(), testBasicWaves(), testScaledSin(), testSumOfSinesCached(), and testWavetableInterpolation().
| bool csl::sleepSec | ( | float | dur | ) |
References sleepUsec().
Referenced by main(), mainOSCLoop(), OSC_loop(), runTest(), testMultiTap(), testReverb(), and testStereoverb().
| float csl::fRand | ( | void | ) |
A variety of random-number functions.
float between 0 and 1
Referenced by coin(), fRand2(), fRand3(), fRand4(), fRand6(), fRandZ(), granuloop(), and csl::FancyFMInstrument::playOSC().
| float csl::fRand2 | ( | void | ) |
float between -1 and 1
References fRand().
Referenced by fRand1(), fRand5(), granuloop(), and testStereoverb().
| float csl::fRand3 | ( | float | minV, | |
| float | maxV | |||
| ) |
float in range min - max
References fRand().
Referenced by createRandFreqEnvPatch(), fRandM(), testBigPanMix(), and testManyDynamicFilters().
| float csl::fRand4 | ( | float | base, | |
| float | range | |||
| ) |
| float csl::fRand5 | ( | float | base, | |
| float | range | |||
| ) |
| float csl::fRandZ | ( | void | ) |
0 - 1 (name: zero)
References fRand().
Referenced by csl::RandEnvelope::initSegment(), and csl::RandEnvelope::nextSegment().
| float csl::fRand1 | ( | void | ) |
| float csl::fRandM | ( | float | minV, | |
| float | maxV | |||
| ) |
| float csl::fRandR | ( | float | base, | |
| float | range | |||
| ) |
| float csl::fRandB | ( | float | base, | |
| float | range | |||
| ) |
| float csl::fRandV | ( | float | val | ) |
| bool csl::coin | ( | ) |
| bool csl::coin | ( | float | bias | ) |
| void* csl::RTP_read_loop | ( | void * | inst | ) |
| 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.
Referenced by csl::AmbisonicEncoder::nextBuffer().
| 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.
1.5.8