CSL
6.0
|
AdditiveInstrument.h – Sum-of-sines synthesis instrument class. More...
Classes | |
class | Abst_FFT_W |
Abstract FFT class can do forward/reverse real/complex I/O FFTs. More... | |
class | Abst_SoundFile |
Here's the abstract sound file reader/writer class, a sample player UGen. The concrete subclasses represent sound file APIs, not individual formats. More... | |
class | Accessor |
The Accessor class has public data members. More... | |
class | AdditiveInstrument |
AdditiveInstrument. More... | |
class | AddOp |
AddOp – A BinaryOp that adds two UnitGenerators or fixed constants together. More... | |
class | ADSR |
ADSR = 4-segment attack/decay/sustain/release envelope class. More... | |
class | AirAbsorptionCue |
Simulates the frequency dependent air absorption using a one pole/zero lowpass filter. More... | |
class | Allpass |
Allpass Filter with a pole and a zero at equal frequency and straddling the unit circle. Allows all freqs to pass through but messes with phases. More... | |
class | AmbisonicDecoder |
class | AmbisonicEncoder |
class | AmbisonicMixer |
class | AmbisonicOrder |
Ambisonic order structure (separate definition for horizontal and vertical order): More... | |
class | AmbisonicPanner |
Ambisonic Panner Wraps around the different ambisonic classes, providing a single interface for encoding, manipulating and decoding (i.e. panning) multiple UnitGenerators. More... | |
class | AmbisonicRotator |
class | AmbisonicUnitGenerator |
Ambisonic Abstract Base Class. More... | |
class | AR |
AR = 3-segment attack/release envelope class. More... | |
class | AUIO |
General-purpose AudioUnit IO class. More... | |
class | Auralizer |
class | BinaryOp |
BinaryOp – An Effect that takes two input sources (UnitGenerators or scalars) and gives a single UnitGenerator as its output. BinaryOp is an abstract class who's nextBuffer method is to be implemented by subclasses. More... | |
class | BinauralPanner |
forward declaration More... | |
class | BinauralSourceCache |
BinauralSourceCache: used for caching previous state of spatial sources. This has the history of input FFTs and the last output sample block for OLA. More... | |
class | Biquad |
General-purpose Biquad IIR (2nd order recursive) filter. This is simplified and optimized, but doesn't support dynamic or scalable controls. It uses inst vars rather than arrays for the coefficients. NB: peak gain (dB) is used only for the peak and shelf types) More... | |
class | BlackmanHarrisWindow |
BlackmanHarrisWindow. More... | |
class | BlackmanWindow |
BlackmanWindow. More... | |
class | BlockResizer |
Regularizes the amount of data called for. This is useful for time-frequency transformations that only work with certain buffer sizes. More... | |
class | Buffer |
Buffer – the multi-channel sample buffer class (passed around between generators and IO guys). More... | |
class | BufferCMap |
BufferCMap is a Sample buffer with channel map and count. More... | |
class | BufferStream |
Class to simplify writing into and playing back buffers. Think of this as a simple buffer that has a seek, read and write calls built-in. More... | |
class | Butter |
Butterworth IIR (2nd order recursive) filter. More... | |
class | Cacheable |
Cacheable – a mix-in for caching streams. More... | |
class | CAIO |
CoreAudio IO class. More... | |
class | CASoundFile |
CoreAudio sound file. More... | |
class | CException |
Base class of CSL exceptions (written upper-case). Has a string message. More... | |
class | CGestalt |
The CSL system defaults class. More... | |
class | Clipper |
Clipper class. More... | |
class | CMIDIMessage |
CMIDIMessage class (mapped to juce::MidiMessage) More... | |
class | Comb |
Comb filter class. More... | |
class | CompOrCacheOscillator |
CompOrCacheOscillator – Abstract oscillator class for those who can compute of cache their wavetables. More... | |
class | Controllable |
Controllable – 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. More... | |
class | Convolver |
The Convolver is a CSL Effect. More... | |
class | Convolver2 |
The Convolver2 is a CSL Effect. More... | |
class | CPoint |
class | CSL_MIDIMessage |
CSL_MIDIMessage. More... | |
struct | CSL_RS_MSG |
class | CThread |
The PThreads CSL Thread class. More... | |
class | CVariable |
CVariable 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. More... | |
class | DBError |
DB Error. More... | |
class | DelayLine |
class | DistanceCue |
Pure 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. More... | |
class | DistanceSimulator |
Only handles single sound sources because objects have different positions. Two objects can't ocuppy the same position, and usually distance cues go before the panning, so handling multiple sources by one Distance simulator, would producde a multi-channel object, where the positions aren't dynamic anymore. More... | |
class | DLine |
class | DomainError |
Numerical data of wrong type. More... | |
class | DynamicVariable |
The DynamicVariable class is a changing variable that can perform an operation (e.g., scaling) on another unit generator. More... | |
class | Effect |
Effect – mix-in for classes that have unit generators as inputs (like filters). More... | |
class | Envelope |
Envelope: a collection of LineSegments; may have an input (scale) and act like a processor, or have no input and act like a control UGen. I inherit Scalable setScale, setOffset for inputs. More... | |
class | FAllpass |
All-pass filter class. More... | |
class | FancyFMInstrument |
FancyFMInstrument - FM with vibrato (with AR-envelope), attack chiff (filtered noise with AR-envelope), and random freq. drift and ampl. swell envelopes. More... | |
class | FanOut |
A fan-out generator for DSP graphs with loops. More... | |
class | FFT |
Forward FFT unit generator is an Effect because it handles an input It puts spectral frames in the output buffer and then broadcasts a change message, so clients are expected to observe it. More... | |
class | FileIO |
FileIO.h – IO using a sound file for storing output sample data. More... | |
class | Filter |
Filter: the canonical-form n-pole/m-zero filter class. More... | |
class | FilterSpecification |
forward declaration More... | |
class | FIR |
Examples. More... | |
class | FMInstrument |
FMInstrument. More... | |
class | Formant |
Formant Filter with zeros at +-z and complex conjugate poles at +-omega. setupCoeffs() looks at the member var called normalize; if normalize is true, the filter zeros are placed at z = 1, z = -1, and the coefficients are then normalized to produce a constant unity peak gain. The resulting filter frequency response has a resonance at the given frequency. The closer the poles are to the unit-circle (radius close to one), the narrower the resulting resonance width. More... | |
class | Freeverb |
CSL port of the public domain Freeverb reverberator. More... | |
class | FrequencyAmount |
FrequencyAmount – mix-in class with frequency and amount (BW) control inputs (may be constants or generators). amount (probably 0..1) is a generalised placeholder for bandwidth, resonance or radius, according to filter type or could equally be used as a kind of x,y location in the frequency domain. More... | |
class | FSine |
FSine – (uses a ringing filter for the sine calc) More... | |
struct | 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. More... | |
class | GrainCloud |
GrainCloud – 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. More... | |
class | GrainPlayer |
GrainPlayer – low-level granular synthesis generator, uses a list of current grains. More... | |
class | HammingWindow |
HammingWindow: Belongs to the familly of cosine window functions. More... | |
class | HannWindow |
HannWindow. More... | |
class | HeadphoneSpeakerLayout |
"Headphone Layout", where two phones are positioned 90¼ left, 90¼ right and no elevation (0¼). More... | |
class | HRTF |
HRTF: 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). More... | |
class | HRTFDatabase |
HRTFDatabase: 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. More... | |
class | IFFT |
Inverse FFT. More... | |
class | Impulse |
Impulse – oscillator class (this create a single impulse delayed by 'delay' samples) More... | |
class | InOut |
InOut class copies the IO port's input buffer to the output buffer, possibly with channel remap and scaling. More... | |
class | Instrument |
Instrument class (abstract) More... | |
class | IntensityAttenuationCue |
Sound attenuation due to increasing distance. This "Base" Class uses the inverse square law. Subclass for other methods. More... | |
class | Interleaver |
Interleaver handles copying interleaved sample buffers (like sound files and inter-process sockets) to/from non-interleaved CSL-style Buffer objects. More... | |
class | IO |
IO – the abstract I/O scheduling class; subclasses interface to specific I/O APIs. More... | |
class | IODevice |
IO Device class – a holder for a sound interface with name, id, # IO channels, etc. More... | |
class | IOError |
IO Error. More... | |
class | iPhoneIO |
CoreAudio IO class for the iPhone. More... | |
class | JackIO |
JackIO is an IO that uses a thread and a timer to call its graph's nextBuffer(); it doesn't do anything with the resulting buffer, but assumes that other objects (observers of the graph) will handle some actual IO. More... | |
class | Joiner |
Joiner class – a multiplexer for multi-channel signals. More... | |
class | JSoundFile |
JUCE sound file. More... | |
class | JUCEIO |
JUCEIO is an IO that runs as a JUCE. More... | |
class | KarplusString |
KarplusString – string model class. More... | |
class | LineSegment |
A linearly interpolated segment – this has start and end values, and a duration (in seconds). More... | |
class | LogicError |
Impossible operation. More... | |
class | Lorenz |
Lorenz chaotic oscillator = this plays one variable of the Lorenz Strange Attractor between +1 and -1. More... | |
class | LSoundFile |
Here's the sound file reader/writer class; it assumes libSndFile and interleaved sample buffers. More... | |
class | MemoryError |
Malloc failure subclass. More... | |
class | Microphone |
Microphone – copies the input buffer (from the sound driver) to its output. More... | |
class | MIDIIn |
MIDIIn class is-a MidiInputCallback too, and an "input-ready" flag. More... | |
class | MIDIIO |
MIDIIO class: superclass of in and out; has a message buffer and current messages It's a model so you can observe it. Uses mMsg.CMIDIMessageType as a status flag. More... | |
class | MIDIOut |
MIDIOut class write msgs out to a device (or file) More... | |
class | MIDIPlayer |
MIDI stream/file player. More... | |
class | Mixer |
Mixer – The n-input m-channel mixer class. More... | |
class | Model |
The 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"). More... | |
class | Moog |
Moog-style resonant VCF class. More... | |
class | MulOp |
MulOp – A BinaryOp that multiplies two UnitGenerators or fixed constants together, sample-by-sample. More... | |
class | Noise |
Abstract Noise class - inherits from UnitGenerator & Scalable, and provides constructors and basic pseudo-raondom methods. More... | |
class | Notch |
Notch Filter with poles at +-z and complex conjugate zeros at +-omega. More... | |
class | NtoMPanner |
class | NullIO |
NullIO is an IO that uses a thread and a timer to call its graph's nextBuffer(); it doesn't do anything with the resulting buffer, but assumes that other objects (observers of the graph) will handle some actual IO. More... | |
class | Observer |
CSL 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. More... | |
class | Oscillator |
Oscillator – Abstract oscillator class; inherits from UnitGenerator, Phased, and Scalable and provides convenience constructors (freq, ampl, offset, phase) More... | |
class | OutOfRangeError |
Data out of range. More... | |
class | PAIO |
The PortAudio IO class. More... | |
class | Panner |
The CSL mono-to-stereo L/R panner class. More... | |
struct | Partial |
Struct for partial overtones. More... | |
class | Phased |
Phased – a mix-in for objects with phase accumulators (local float) and frequency controls (an input port). More... | |
class | PinkNoise |
Pink noise – equal power per octave. More... | |
class | Port |
Port – 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). More... | |
class | ProcessingError |
Processing Error. More... | |
class | RandEnvelope |
RandEnvelope envelope class – makes random control signals using a single line segment. More... | |
class | RectangularWindow |
RectangularWindow:A rectangular window has all values set to the Gain value, or by default to 1. More... | |
class | RemoteIO |
the RemoteIO class More... | |
class | RemoteStream |
RemoteStream class. More... | |
class | RingBuffer |
RingBuffer is the storage + a default reader. More... | |
class | RingBufferTap |
RingBufferTap is a reader that loops over a buffer. More... | |
class | RunTimeError |
Illegal operation at run time. More... | |
class | SampleBankInstrument |
Sample bank player instrument. More... | |
class | Sawtooth |
Sawtooth oscillator class (non-band-limited) More... | |
class | Scalable |
Scalable – mix-in class with scale and offset control inputs (may be constants or generators). More... | |
class | Seekable |
Seekable – a mix-in for positionable streams. More... | |
class | SHARCInstrument |
SHARC instrument class. More... | |
class | SHARCLibrary |
SHARC library class. More... | |
class | SHARCSpectrum |
SHARC spectrum class. More... | |
class | ShoeBox |
class | SimplePanner |
Simple Panner. More... | |
class | SimpleSine |
SimpleSine – The simplest CSL sine oscillator class. More... | |
class | Sine |
Sine – oscillator class (this computes the sine fcn on the fly) More... | |
class | SineAsPhased |
SineAsPhased – A sine oscillator that uses the Phased mix-in class, meaning that we inherit mFrequency and mPhase and macros for dynamic control. More... | |
class | SineAsScaled |
SineAsScaled – A sine oscillator that also has scale and offset as dynamic controls (from Scalable) (Note the tripple inheritance) More... | |
class | SndFileInstrument |
Sound file player instrument. More... | |
class | SoundCue |
SoundCue – a pointer to a segment of a sound file. More... | |
class | SoundFileMetadata |
Class SndFileMetadata holds the ID3 tags of a sound file. More... | |
class | Spatializer |
Container class that simplifies the spatial audio interface. This layer hides most of the inner-working of audio spatialization, providing a simple interface for sound placement in a space. More... | |
class | SpatialPanner |
Base class for all panners. Handles source management and holds a speaker layout. More... | |
class | SpatialSource |
Temp Spatial Sound Source. More... | |
class | Speaker |
Represents a speaker as a position relative to the center of a space. More... | |
class | SpeakerLayout |
class | SpeakerLayoutExpert |
class | SpeakerSet |
Groups two or three loudspeakers, and their inverse. Used for VBAP computations. More... | |
class | SpeakerSetLayout |
class | Splitter |
Splitter class – a de-multiplexer for multi-channel signals. More... | |
class | Square |
Square oscillator class (non-band-limited) More... | |
class | SquareBL |
Band-limited square, impulse, and triangle waveform oscillators. More... | |
class | StaticVariable |
StaticVariable – he static external variable (plug) class. This is a kind of variable that holds onto floating-point value that is fixed each control rate period (e.g., changes at most once per control rate). More... | |
class | StdIO |
StdIO reads/write the UNIX Standard IO pipes. More... | |
class | StereoPanner |
Simple Stereo Panner. More... | |
class | StereoSpeakerLayout |
Standard "Stereo Speaker Layout", where two speakers are positioned 30¼ left, 30¼ right and no elevation (0¼). More... | |
class | Stereoverb |
class | StereoWidth |
Stereo width processor – can mix stereo channels or subtract the sum from each to widen. More... | |
class | SumOfSines |
class | SurroundPanner |
Generic Panner for most surround formats. It accepts any number of speakers around the horizontal plane, and a subwoofer (.1 or not) More... | |
class | Synch |
Sync is a cross-thread synchronization object. More... | |
class | SynchPthread |
PThread version of Sync. More... | |
struct | testStruct |
struct used for the JUCE pop-up menu of tests (see the test files) More... | |
class | ThreadPthread |
PThread version of Thread. More... | |
class | TimingError |
Time-out. More... | |
class | Triangle |
Triangle envelope class – equal attack/release times. More... | |
class | TriangularWindow |
TriangularWindow:A triangularWindow window. More... | |
class | UnitGenerator |
forward declaration More... | |
class | VAdditiveInstrument |
VAdditiveInstrument = vector-additive - cross-fade between 2 SOS spectra Envelope mXEnv(dur, pause, xfade, 0.0f) float paus = fRandV(0.5) * dur; float fade = fRandV(dur - paus); AR(float t, float i, float a, float r);. More... | |
class | ValueError |
Wrong kind of operand error. More... | |
class | VBAP |
Vector Base Amplitude Panning. More... | |
class | VBAPSourceCache |
class | VSTIO |
VSTIO is an IO that answers the VST processReplacing() call by calling its CSL graph. More... | |
class | WaveShaper |
WaveShaper – Wave-shaping oscillator class. More... | |
class | WavetableOscillator |
WavetableOscillator – Oscillator with a stored wave table that does table look-up. The default wave table is an 8192-sample sine. (perhaps accept a vector of freqs and a multichannel buffer?) More... | |
class | WelchWindow |
WelchWindow: This is basically an equal-power curve. More... | |
class | WhiteNoise |
White noise – equal power per frequency. More... | |
class | Window |
Window; The superclass of all other window function classes in CSL. Subclasses need only to implement the fillWindow(); and the Constructors. More... | |
class | Writeable |
Writeable – a mix-in for buffers and streams that one can write to. More... | |
Typedefs | |
typedef vector< Accessor * > | AccessorVector |
Typedef for AccessorVector object. More... | |
typedef void *(* | THREAD_START_ROUTINE )(void *) |
typedef int | SoundFileMode |
typedef int | SoundFileFormat |
typedef std::vector< Observer * > | ObserverVector |
Forward declaration. More... | |
typedef float * | FloatArray |
< All of CSL takes place within the "csl" namespace More... | |
typedef FloatArray * | FloatArrayPtr |
float pointer pointer type More... | |
typedef float | sample |
(could be changed to int, or double) More... | |
typedef float | Sample |
the same, written upper-case More... | |
typedef sample * | SampleBuffer |
1-channel buffer data type, vector of (sample) More... | |
typedef SampleBuffer * | SampleBufferVector |
Multi-channel buffer data type, vector of (SampleBuffer) More... | |
typedef SampleBuffer * | SampleBufferArray |
Multi-channel buffer data type. More... | |
typedef sample | SampleComplex [2] |
array-of-2 complex # type (like FFTW) More... | |
typedef SampleComplex * | SampleComplexVector |
complex vector More... | |
typedef SampleComplex * | SampleComplexPtr |
complex pointer More... | |
typedef SampleComplexPtr * | SampleComplexMatrix |
complex 2D matrix More... | |
typedef std::vector< CPoint * > | PointVector |
Forward declaration. More... | |
typedef std::vector< unsigned > | UnsignedVector |
A vector of unsigneds. More... | |
typedef std::vector< float > | FloatVector |
A vector of floats. More... | |
typedef void * | VoidFcnPtr (void *arg) |
the generic void fcn pointer More... | |
typedef void | VoidFcnPtrN (void) |
the truly void fcn pointer More... | |
typedef unsigned | uint |
typedef unsigned | CSL_MAP_KEY |
Forward declaration. More... | |
typedef std::map< CSL_MAP_KEY, Port * > | PortMap |
typedef std::vector< Buffer * > | BufferVector |
Buffer/UGenVector: unit generator pointers (used for outputs) More... | |
typedef std::vector < UnitGenerator * > | UGenVector |
typedef std::map< std::string, UnitGenerator * > | UGenMap |
UGenMap: a named map of unit generators (used for GUIs) More... | |
typedef std::map< unsigned, UnitGenerator * > | UGenIMap |
typedef std::map< unsigned, float > | FloatMap |
typedef std::vector< IODevice * > | IODeviceVector |
IOs hold onto device vectors. More... | |
typedef std::vector< Instrument * > | InstrumentVector |
Players hold onto Instrument vectors/maps. More... | |
typedef std::map< int, InstrumentVector > | InstrumentLibrary |
typedef std::map< std::string, Instrument * > | InstrumentMap |
typedef std::map< std::string, std::string > | StringMap |
typedef unsigned long | 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() More... | |
typedef int | FilterType |
typedef int | InOutFlags |
typedef int | LineMode |
typedef map< float, LineSegment * > | Breakpoints |
a map between a time and a line segment More... | |
typedef struct csl::Grain | 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. More... | |
typedef int | InterpolationPolicy |
typedef int | PartialDescriptionMode |
typedef vector< HRTF * > | HRTFVector |
typedef int | PointMode |
typedef int | VOperator |
Enumerations | |
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 } |
Logging functions are standard C functions. More... | |
enum | BufferContentType { kSamples, kSpectra, kLPCCoeff, kIRData, kWavelet, kGeometry, kUnknown } |
Sample buffer contents type (optional) One could argue that we should use subclasses for this, but they're not behaviorally different at present. More... | |
enum | BufferCopyPolicy { kCopy, kExpand, kIgnore } |
UnitGenerator buffer copy policy flags (for multi-channel expansion) More... | |
enum | SeekPosition { kPositionStart, kPositionCurrent, kPositionEnd } |
Enumeration for seek flags. More... | |
enum | IO_Status { kIONew, kIOInit, kIOOpen, kIORunning, kIOClosed, kIOExit } |
IO Status flag. More... | |
enum | Status { kOk, kFound, kNotFound, kEmpty, kErr } |
CSL status flags (for return values) More... | |
enum | ClipperFlags { kMin, kMax, kBoth } |
Whether to clip using the minimum, maximum or both values. 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, kSimple, 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 More... | |
void | CSL_MIDIMessageToPmEvent (CSL_MIDIMessage *cslMIDI, PmEvent *event) |
CSL_MIDIMessageToPmEvent – converts CSL_MIDIMessage to PmEvent. More... | |
void | PmEventToCSL_MIDIMessage (PmEvent *event, CSL_MIDIMessage *cslMIDI) |
PmEventToCSL_MIDIMessage – converts PmEvent to CSL_MIDIMessage. More... | |
unsigned | Message_ChannelToStatus (CSL_MIDIMessageType message, unsigned channel) |
Message_ChannelToStatus – converts from message and channel to status byte. More... | |
void * | RemoteIO_read_loop (void *inst) |
void * | RS_read_loop (void *inst) |
int | CSL_CreateThread (THREAD_START_ROUTINE pfnThreadProc, void *pvParam) |
void | logMsg (const char *format,...) |
These are the public logging messages. More... | |
void | logMsg (LogLevel level, const char *format,...) |
void | logMsgNN (const char *format,...) |
no-newline versions More... | |
void | logMsgNN (LogLevel level, const char *format,...) |
Log the file & line #. More... | |
void | logLine () |
Log the file & line #. More... | |
void | logURL () |
log file/line as a URL More... | |
void | vlogMsg (bool cz, LogLevel level, const char *format, va_list args) |
bool | sleepUsec (float dur) |
Misc. global functions in the csl namespace. More... | |
bool | sleepMsec (float dur) |
bool | sleepSec (float dur) |
Timestamp | timeNow () |
high-accuracy system or IO time in ticks More... | |
float | fTimeNow () |
system or IO time in seconds More... | |
float | fRandZ (void) |
A variety of useful random-number functions. More... | |
float | fRand1 (void) |
-1 - 1 (one) More... | |
float | fRandV (float val) |
0 - v (val) More... | |
float | fRandM (float minV, float maxV) |
min - max (min/max) More... | |
float | fRandR (float base, float range) |
b +- (r * b) (range) More... | |
float | fRandB (float base, float range) |
b +- r (base) More... | |
int | iRandV (int val) |
Integer rands. More... | |
int | iRandM (int minV, int maxV) |
min - max (min/max) More... | |
int | iRandB (int base, int range) |
b +- r (base) More... | |
bool | coin () |
Answer true or false. More... | |
bool | coin (float bias) |
Answer with a bias (1 –> always true) More... | |
float | keyToFreq (unsigned midiKey) |
MIDI Conversions. More... | |
unsigned | freqToKey (float frequency) |
freqToKey – converts from frequency in Hz to MIDI key # More... | |
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. More... | |
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. More... | |
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. More... | |
AdditiveInstrument.h – Sum-of-sines synthesis instrument class.
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.
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 that only work with fixed buffer sizes. A BlockResizer either caches large blocks between multiple smaller callbacks, or it calls a smaller-block-size graph several times per larger-sized downstream callbacks. BlockResizer works for up-block and down-block situations. This version also handles multi-channel mapping, so you can use a mono input and ask it for multi-channel output; it will copy.
Window.h – specification of the various function window classes See the copyright notice and acknowledgment of authors in the file COPYRIGHT.
Lorenz.h – Header file for the Lorenz chaotic oscillator See the copyright notice and acknowledgment of authors in the file COPYRIGHT.
Granulator.h – CSL class for doing granular synthesis.
Envelope.h – The basic (concrete) CSL breakpoint envelope classes. See the copyright notice and acknowledgment of authors in the file COPYRIGHT.
Mixer.h – The multi-channel panner and mixer classes. See the copyright notice and acknowledgment of authors in the file COPYRIGHT.
FIR.h – CSL filter specification and FIR filter classes See the copyright notice and acknowledgment of authors in the file COPYRIGHT.
Convolver.h – The way-simplified convolution class. This is an FFT-based convolver that uses the Nayuki FFT directly (no wrapper). It also stores the FFT data in non-interleaved vectors (e.g., mFilterFFTRe & mFilterFFTIm) steph - 1905. en@h eaven ever ywher e.co m
BinaryOp.h – The specification file for simple arithmetic operations on UnitGenerators. See the copyright notice and acknowledgment of authors in the file COPYRIGHT.
< we use the STL vector, map, and string classes
CSL_Exceptions.h – the CSL Exception classes (specifications + implementations)
CSL_Core.h – the specification file for the core classes of CSL version 6.
CGestalt.h – the CSL 6.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.
SoundFileL.h – concrete sound file class using libsndfile.
SoundFileJ.h – CSL's concrete sound file class using JUCE.
SoundFileCA.h – CSL's concrete sound file class for CoreAudio files Note: this is experimental and incomplete as of CSL 5.0.
SoundFile.h – CSL's abstract sound file class, a sample player UGen, SoundCue & SoundFileBuffer. The concrete subclasses represent sound file APIs, not individual formats.
MIDIIOJ.h – MIDI IO using JUCE.
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.
SndFileInstrument.h – Sound file player instrument class See the copyright notice and acknowledgment of authors in the file COPYRIGHT.
BasicFMInstrument.h – Simple and fancy FM example instrument classes. See the copyright notice and acknowledgment of authors in the file COPYRIGHT.
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
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
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
See the copyright notice and acknowledgment of authors in the file COPYRIGHT
Classes: SoundFileMetadata, Abst_SoundFile, SoundCue, SoundFileBuffer (unfinished) We read ID3-style tags from MP4/3, AAC, FLAC, etc. files using TagLib, http://developer.kde.org/~wheeler/taglib.html
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
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.
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
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.
Exception classes
Status - enumerated return flag type CException - Base class of CSL exceptions (written upper-case). MemoryError - Malloc failure subclass Wrong kind of operand error TimingError - Time-out RunTimeError - Illegal operation at run time LogicError - Impossible operation DomainError - Numerical data of wrong type OutOfRangeError - Data out of range IOError - IO Error
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
The FilterSpecification uses the Parks-McClellan/Remez iterative algorithm It is provided under GPL by Jake Janovetz (janov) etz@ uiuc. edu
The FIR implementation is based on a minimal version written for the MAT 240B course; it does not use the CSL RingBuffer helper class.
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
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.
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: RealFFT (RealFFT code included in CSL), and FFTW (assumes fftw3f is installed), KISS FFT, built-in FFT from Laurent de Soras (included, untested).
See the copyright notice and acknowledgment of authors in the file COPYRIGHT
typedef vector<Accessor *> csl::AccessorVector |
Typedef for AccessorVector object.
Definition at line 39 of file Accessor.h.
typedef void*(* csl::THREAD_START_ROUTINE)(void *) |
Definition at line 93 of file RemoteStream.h.
typedef int csl::SoundFileMode |
Definition at line 57 of file SoundFile.h.
typedef int csl::SoundFileFormat |
Definition at line 65 of file SoundFile.h.
typedef std::vector<Observer *> csl::ObserverVector |
Forward declaration.
Definition at line 245 of file CGestalt.h.
typedef float* csl::FloatArray |
< All of CSL takes place within the "csl" namespace
float pointer type
Definition at line 187 of file CSL_Types.h.
typedef FloatArray* csl::FloatArrayPtr |
float pointer pointer type
Definition at line 188 of file CSL_Types.h.
typedef float csl::sample |
(could be changed to int, or double)
Definition at line 191 of file CSL_Types.h.
typedef float csl::Sample |
the same, written upper-case
Definition at line 192 of file CSL_Types.h.
typedef sample* csl::SampleBuffer |
1-channel buffer data type, vector of (sample)
Definition at line 194 of file CSL_Types.h.
typedef SampleBuffer* csl::SampleBufferVector |
Multi-channel buffer data type, vector of (SampleBuffer)
Definition at line 195 of file CSL_Types.h.
typedef SampleBuffer* csl::SampleBufferArray |
Multi-channel buffer data type.
Definition at line 196 of file CSL_Types.h.
typedef sample csl::SampleComplex[2] |
array-of-2 complex # type (like FFTW)
Definition at line 198 of file CSL_Types.h.
typedef SampleComplex * csl::SampleComplexVector |
complex vector
Definition at line 202 of file CSL_Types.h.
typedef SampleComplex * csl::SampleComplexPtr |
complex pointer
Definition at line 203 of file CSL_Types.h.
typedef SampleComplexPtr * csl::SampleComplexMatrix |
complex 2D matrix
Definition at line 204 of file CSL_Types.h.
typedef std::vector<CPoint *> csl::PointVector |
typedef std::vector<unsigned> csl::UnsignedVector |
A vector of unsigneds.
Definition at line 218 of file CSL_Types.h.
typedef std::vector< float > csl::FloatVector |
A vector of floats.
Definition at line 219 of file CSL_Types.h.
typedef void* csl::VoidFcnPtr(void *arg) |
the generic void fcn pointer
Definition at line 221 of file CSL_Types.h.
typedef void csl::VoidFcnPtrN(void) |
the truly void fcn pointer
Definition at line 222 of file CSL_Types.h.
typedef unsigned csl::uint |
Definition at line 224 of file CSL_Types.h.
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)
Definition at line 233 of file CSL_Types.h.
typedef std::map<CSL_MAP_KEY, Port *> csl::PortMap |
Definition at line 238 of file CSL_Types.h.
typedef std::vector<Buffer *> csl::BufferVector |
Buffer/UGenVector: unit generator pointers (used for outputs)
Definition at line 240 of file CSL_Types.h.
typedef std::vector<UnitGenerator *> csl::UGenVector |
Definition at line 241 of file CSL_Types.h.
typedef std::map<std::string, UnitGenerator *> csl::UGenMap |
UGenMap: a named map of unit generators (used for GUIs)
Definition at line 243 of file CSL_Types.h.
typedef std::map<unsigned, UnitGenerator *> csl::UGenIMap |
Definition at line 245 of file CSL_Types.h.
typedef std::map<unsigned, float> csl::FloatMap |
Definition at line 246 of file CSL_Types.h.
typedef std::vector<IODevice *> csl::IODeviceVector |
IOs hold onto device vectors.
Definition at line 249 of file CSL_Types.h.
typedef std::vector<Instrument *> csl::InstrumentVector |
Players hold onto Instrument vectors/maps.
Definition at line 251 of file CSL_Types.h.
typedef std::map<int, InstrumentVector> csl::InstrumentLibrary |
Definition at line 252 of file CSL_Types.h.
typedef std::map<std::string, Instrument *> csl::InstrumentMap |
Definition at line 253 of file CSL_Types.h.
typedef std::map<std::string, std::string> csl::StringMap |
Definition at line 255 of file CSL_Types.h.
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()
Definition at line 261 of file CSL_Types.h.
typedef int csl::FilterType |
typedef int csl::InOutFlags |
typedef int csl::LineMode |
Definition at line 38 of file Envelope.h.
typedef map<float, LineSegment *> csl::Breakpoints |
a map between a time and a line segment
Definition at line 82 of file Envelope.h.
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 int csl::InterpolationPolicy |
Definition at line 57 of file Oscillator.h.
typedef int csl::PartialDescriptionMode |
Definition at line 184 of file Oscillator.h.
typedef vector<HRTF *> csl::HRTFVector |
Definition at line 117 of file BinauralDB.h.
typedef int csl::PointMode |
typedef int csl::VOperator |
Definition at line 84 of file Variable.h.
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 |
Definition at line 154 of file CGestalt.h.
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 | |
kWavelet |
Wavelet coefficients. |
kGeometry |
Spatial geometry buffers. |
kUnknown |
Unknown or other data type. |
Definition at line 71 of file CSL_Core.h.
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 |
Definition at line 210 of file CSL_Core.h.
enum csl::SeekPosition |
Enumeration for seek flags.
Enumerator | |
---|---|
kPositionStart | |
kPositionCurrent | |
kPositionEnd |
Definition at line 560 of file CSL_Core.h.
enum csl::IO_Status |
IO Status flag.
Enumerator | |
---|---|
kIONew | |
kIOInit | |
kIOOpen | |
kIORunning | |
kIOClosed | |
kIOExit |
Definition at line 720 of file CSL_Core.h.
enum csl::Status |
CSL status flags (for return values)
Enumerator | |
---|---|
kOk |
"OK" return status |
kFound |
"found" return status |
kNotFound |
"not found" return status |
kEmpty |
"empty" return status |
kErr |
"error" return status |
Definition at line 34 of file CSL_Exceptions.h.
enum csl::ClipperFlags |
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 |
Definition at line 37 of file Granulator.h.
Flag for the decoding method.
Enumerator | |
---|---|
kPSEUDOINVERSE | |
kPROJECTION |
Definition at line 146 of file Ambisonic.h.
Flag for the decoder flavour.
Enumerator | |
---|---|
kBASIC | |
kINPHASE | |
kMAXRE |
Definition at line 153 of file Ambisonic.h.
enum csl::Axes |
Enumerator | |
---|---|
kTILT | |
kTUMBLE | |
kROTATE |
Definition at line 67 of file AmbisonicUtilities.h.
anonymous enum |
enum csl::PannerType |
Panner types.
Enumerator | |
---|---|
kAutomatic | |
kBinaural |
HRTF 2-channel panning. |
kVBAP |
Vector Base Amplitude Panning. |
kAmbisonic |
Full 3D Ambisonics. |
kSimple |
Simple panning/filtering spatializer. |
kWFS |
Wave Field Synthesis. |
Definition at line 18 of file SpatialAudio.h.
enum csl::InterpType |
enum csl::VBAPMode |
enum csl::CSL_FFTType |
real/complex flag (determines results from forward FFT)
Enumerator | |
---|---|
CSL_FFT_REAL | |
CSL_FFT_COMPLEX | |
CSL_FFT_MAGPHASE |
Definition at line 55 of file FFT_Wrapper.h.
enum csl::CSL_FFTDir |
forward/reverse flag (determines FFT direction)
Enumerator | |
---|---|
CSL_FFT_FORWARD | |
CSL_FFT_INVERSE |
Definition at line 63 of file FFT_Wrapper.h.
void csl::copy_CSL_MIDIMessage | ( | CSL_MIDIMessage * | source, |
CSL_MIDIMessage * | dest | ||
) |
copy_CSL_MIDIMessage – copies CSL_MIDIMessage
Definition at line 25 of file MIDIIOP.cpp.
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.
Definition at line 37 of file MIDIIOP.cpp.
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.
Definition at line 49 of file MIDIIOP.cpp.
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.
Definition at line 64 of file MIDIIOP.cpp.
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().
void* csl::RemoteIO_read_loop | ( | void * | inst | ) |
Definition at line 126 of file RemoteIO.cpp.
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 | ( | const char * | format, |
... | |||
) |
These are the public logging messages.
default is kLogInfo severity
Definition at line 292 of file CGestalt.cpp.
References kLogInfo, and vlogMsg().
Referenced by csl::Abst_SoundFile::Abst_SoundFile(), csl::AmbisonicMixer::addInput(), csl::Controllable::addInput(), csl::Buffer::allocateBuffers(), csl::Model::attachObserver(), audio_dump(), csl::JUCEIO::audioDeviceIOCallback(), CSLServerComponent::audioDeviceIOCallback(), CSLMIDIComponent::audioDeviceIOCallback(), CSLAbstComponent::audioDeviceIOCallback(), CSLComponent::audioDeviceIOCallback(), csl::BinaryOp::BinaryOp(), csl::CAIO::CAIO(), csl::ShoeBox::calculateReflections(), csl::Model::changed(), csl::Abst_SoundFile::checkBuffer(), csl::Convolver::checkBuffers(), csl::PAIO::close(), csl::RemoteStream::connectToServer(), csl::HRTFDatabase::convertDB(), csl::Buffer::copyHeaderFrom(), csl::MIDIIO::copyMessage(), csl::Buffer::copyOnlySamplesFrom(), csl::Buffer::copySamplesFrom(), csl::Buffer::copySamplesFromTo(), createGrains(), CSLMIDIComponent::CSLMIDIComponent(), csl::Model::detachObserver(), csl::CASoundFile::dump(), csl::Noise::dump(), csl::Clipper::dump(), csl::Lorenz::dump(), csl::KarplusString::dump(), csl::Oscillator::dump(), csl::Window::dump(), csl::SineAsPhased::dump(), csl::LineSegment::dump(), csl::SineAsScaled::dump(), csl::SoundFileMetadata::dump(), csl::HRTF::dump(), csl::Envelope::dump(), csl::Filter::dump(), csl::HRTFDatabase::dump(), csl::Abst_SoundFile::dump(), csl::SoundCue::dump(), csl::SumOfSines::dump(), csl::UnitGenerator::dump(), csl::Port::dump(), csl::Controllable::dump(), csl::IODevice::dump(), csl::SHARCLibrary::dump_stats(), dumpAMFMSin(), csl::MIDIIO::dumpDevices(), echo_test(), csl::Effect::Effect(), csl::FanOut::FanOut(), filt_test(), csl::MIDIIn::filter_active_sensing(), csl::MIDIIn::filter_clock_msg(), csl::MIDIIn::filter_sysex(), csl::ShoeBox::findNumReflectionsFromTime(), csl::SpeakerLayoutExpert::findPannerFromLayout(), csl::SpeakerSetLayout::findSpeakerPairs(), floatParamSetter(), csl::LSoundFile::format(), csl::Buffer::freeBuffers(), csl::FrequencyAmount::FrequencyAmount(), csl::GrainCloud::GrainCloud(), csl::MIDIIO::handle_error(), csl::AUIO::handleError(), csl::PAIO::handleError(), csl::MIDIIO::handleError(), csl::HRTF::HRTF(), csl::HRTFDatabase::hrtfAt(), csl::HRTFDatabase::HRTFDatabase(), csl::MIDIPlayer::init(), csl::RemoteIO::init_io(), csl::LSoundFile::initFromSndfile(), csl::PAIO::initialize(), csl::AmbisonicMixer::initialize(), csl::SndFileInstrument::initialize(), csl::AmbisonicRotator::initialize(), csl::AmbisonicDecoder::initialize(), csl::RemoteStream::initSockets(), intParamSetter(), csl::IO::IO(), jack_shutdown(), csl::JSoundFile::JSoundFile(), load_filter_data(), csl::HRTFDatabase::loadFromDB(), csl::HRTFDatabase::loadFromFile(), csl::LSoundFile::LSoundFile(), main(), csl::Abst_SoundFile::mergeToMono(), mic_test(), csl::SimpleSine::nextBuffer(), csl::Convolver2::nextBuffer(), csl::Convolver::nextBuffer(), csl::Lorenz::nextBuffer(), csl::AmbisonicPanner::nextBuffer(), csl::Clipper::nextBuffer(), csl::Freeverb::nextBuffer(), csl::KarplusString::nextBuffer(), csl::Window::nextBuffer(), csl::Mixer::nextBuffer(), csl::Spatializer::nextBuffer(), csl::SineAsPhased::nextBuffer(), csl::WhiteNoise::nextBuffer(), csl::BinauralPanner::nextBuffer(), csl::AmbisonicMixer::nextBuffer(), csl::SpatialSource::nextBuffer(), csl::IFFT::nextBuffer(), csl::SineAsScaled::nextBuffer(), csl::VBAP::nextBuffer(), csl::PinkNoise::nextBuffer(), csl::WavetableOscillator::nextBuffer(), csl::Panner::nextBuffer(), csl::FIR::nextBuffer(), csl::LSoundFile::nextBuffer(), csl::AddOp::nextBuffer(), csl::AmbisonicRotator::nextBuffer(), csl::Sine::nextBuffer(), csl::Filter::nextBuffer(), csl::Envelope::nextBuffer(), csl::MulOp::nextBuffer(), csl::FSine::nextBuffer(), csl::Sawtooth::nextBuffer(), csl::AmbisonicEncoder::nextBuffer(), csl::Square::nextBuffer(), csl::Impulse::nextBuffer(), csl::AmbisonicDecoder::nextBuffer(), csl::Moog::nextBuffer(), csl::UnitGenerator::nextBuffer(), noteLoop(), csl::FileIO::open(), csl::PAIO::open(), csl::JackIO::open(), csl::CAIO::open(), csl::RemoteIO::open(), csl::iPhoneIO::open(), csl::MIDIIn::open(), csl::CASoundFile::openForRead(), csl::JSoundFile::openForRead(), csl::CASoundFile::openForWrite(), csl::JSoundFile::openForWrite(), csl::LSoundFile::openForWrite(), oscServer(), pa_callback(), panner_test(), csl::FMInstrument::parseArgs(), csl::Phased::Phased(), playNote(), csl::AdditiveInstrument::playOSC(), csl::SndFileInstrument::playOSC(), playSineMixer(), playWithArgs(), csl::FIR::print_taps(), csl::IO::printTimeStatistics(), csl::RemoteIO::process_request_packet(), csl::VSTIO::processReplacing(), csl::Controllable::pullInput(), csl::Effect::pullInput(), csl::IO::pullInput(), quit_handler(), csl::MIDIIn::read(), csl::LSoundFile::readBufferFromFile(), csl::Buffer::readFromFile(), csl::SpeakerLayout::readSpeakerFile(), csl::FIR::readTaps(), reapGrains(), CSLServerComponent::recordOnOff(), CSLAbstComponent::recordOnOff(), CSLComponent::recordOnOff(), RemoteIO_read_loop(), csl::RemoteStream::RemoteStream(), csl::Spatializer::removeSource(), csl::SpatialPanner::removeSource(), RS_Read_Loop(), csl::Scalable::Scalable(), csl::Mixer::scaleInput(), csl::CASoundFile::seekTo(), csl::JSoundFile::seekTo(), csl::LSoundFile::seekTo(), csl::FrequencyAmount::setAmount(), csl::IFFT::setBin(), csl::DelayLine::setDelayLength(), csl::DelayLine::setDelayTime(), csl::Envelope::setDuration(), csl::FrequencyAmount::setFrequency(), csl::AmbisonicEncoder::setInput(), csl::Effect::setInput(), csl::Convolver2::setIRFile(), csl::Convolver::setIRFile(), csl::AmbisonicRotator::setNthInput(), csl::FilterSpecification::setNumTaps(), csl::Scalable::setOffset(), csl::Spatializer::setPanningMode(), csl::AdditiveInstrument::setParameter(), csl::FMInstrument::setParameter(), csl::SndFileInstrument::setParameter(), csl::FancyFMInstrument::setParameter(), csl::Abst_SoundFile::setRate(), csl::Scalable::setScale(), csl::ShoeBox::setSourceLocation(), csl::AmbisonicRotator::setTilt(), csl::AmbisonicRotator::setTumble(), setupOSCInstrLibrary(), csl::CGestalt::sndFileName(), csl::SpatialSource::SpatialSource(), csl::PAIO::start(), csl::FileIO::start(), csl::RemoteIO::start(), csl::iPhoneIO::start(), csl::MIDIPlayer::start(), csl::GrainCloud::startThreads(), csl::PAIO::stop(), csl::iPhoneIO::stop(), stringParamSetter(), csl::PAIO::test(), test50RandFreqEnv(), test_Ambi_horiz(), test_Binaural_horiz(), test_Binaural_vertAxial(), test_Binaural_vertMedian(), test_convolution(), test_convolution_file(), test_ifft(), test_SHARC(), test_SHARC2(), test_SimpleP(), test_VBAP_horiz(), test_vector_ifft(), testADSR2(), testADSR_FM(), testAMFMEnvs(), testAMFMSin(), testARSin(), testARSin2(), testBasicWaves(), testBigPanMix(), testBiquads(), testBlockDownsizer(), testBlockUpsizer(), testClipper(), testCMapIO(), testComplexEnvelope(), testDynamicFilters(), testDynamicMixer(), testDynamicVoice(), testEnvScale(), testFancy_FM(), testFancyFMInstrument(), testFanMix1(), testFanMix2(), testFilters(), testFIR(), testFMInstrument(), testFrequencyEnv(), testGliss(), testGrainCloud(), testManyRandSOS(), testMonoFilePlayer(), testMultiTap(), testN2MPan(), testNDynamicFilters(), testNoises(), testOscBank(), testPan(), testPanMix(), testRandFreqEnv(), testReverb(), testSAFilter(), testScaledSin(), testSimpleSines(), testSineMixer(), testSndFileBank(), testSndFileInstrument(), testSOSInstrument(), testSoundFileTranspose(), testSplitJoin1(), testSplitJoin2(), testStereoFilePlayer(), testStereoverb(), testString(), testStringChorus(), testSumOfSines1F(), testSumOfSinesCached(), testSumOfSinesNonCached(), testSumOfSinesSteps(), testSweep(), testSwell(), testWaveShaper(), testWaveTableFromFile(), testWavetableInterpolation(), csl::FileIO::threadFunction(), csl::CASoundFile::writeBuffer(), csl::BufferStream::writeBuffer(), CSLMIDIComponent::~CSLMIDIComponent(), and csl::PAIO::~PAIO().
void csl::logMsg | ( | LogLevel | level, |
const char * | format, | ||
... | |||
) |
Definition at line 306 of file CGestalt.cpp.
References vlogMsg().
void csl::logMsgNN | ( | const char * | format, |
... | |||
) |
no-newline versions
Definition at line 299 of file CGestalt.cpp.
References kLogInfo, and vlogMsg().
Referenced by csl::FIR::print_taps().
void csl::logMsgNN | ( | LogLevel | level, |
const char * | format, | ||
... | |||
) |
void csl::logLine | ( | ) |
void csl::logURL | ( | ) |
log file/line as a URL
Definition at line 328 of file CGestalt.cpp.
void csl::vlogMsg | ( | bool | cz, |
LogLevel | level, | ||
const char * | format, | ||
va_list | args | ||
) |
Definition at line 234 of file CGestalt.cpp.
References CSL_LINE_LEN, kLogError, kLogFatal, kLogInfo, kLogWarning, len, and mVerbosity.
Referenced by logMsg(), and logMsgNN().
bool csl::sleepUsec | ( | float | dur | ) |
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 sleep for dur usec, msec or sec
Definition at line 345 of file CGestalt.cpp.
References csl::CGestalt::stopNow(), and TIMER_INTERVAL.
Referenced by createGrains(), PME::manage_sources(), csl::GrainPlayer::nextBuffer(), sleepMsec(), sleepSec(), csl::FileIO::stop(), and csl::FileIO::threadFunction().
bool csl::sleepMsec | ( | float | dur | ) |
Definition at line 372 of file CGestalt.cpp.
References sleepUsec().
Referenced by CSLServerComponent::buttonClicked(), createGrains(), main(), reapGrains(), GThread::run(), LThread::run(), CSLMIDIComponent::startStop(), CSLAbstComponent::startStop(), CSLComponent::startStop(), csl::GrainCloud::startThreads(), testBasicWaves(), testScaledSin(), testSumOfSinesCached(), testWavetableInterpolation(), and csl::GrainCloud::~GrainCloud().
bool csl::sleepSec | ( | float | dur | ) |
Definition at line 379 of file CGestalt.cpp.
References sleepUsec().
Referenced by CSLServerComponent::buttonClicked(), main(), noteLoop(), playSineMixer(), runTest(), csl::MIDIPlayer::start(), test_Ambi_horiz(), test_Binaural_horiz(), test_Binaural_vertAxial(), test_Binaural_vertMedian(), test_convolution(), test_convolution_file(), test_SimpleP(), test_VBAP_horiz(), testDynamicMixer(), testGrainCloud(), testMultiTap(), testReverb(), testSndFileBank(), testSoundFileTranspose(), testStereoverb(), and testStringChorus().
Timestamp csl::timeNow | ( | ) |
high-accuracy system or IO time in ticks
Definition at line 386 of file CGestalt.cpp.
Referenced by csl::MIDIIn::handleIncomingMidiMessage().
float csl::fTimeNow | ( | ) |
system or IO time in seconds
Definition at line 398 of file CGestalt.cpp.
Referenced by csl::MIDIPlayer::start().
float csl::fRandZ | ( | void | ) |
A variety of useful random-number functions.
0 - 1 (name: zero)
Definition at line 414 of file CGestalt.cpp.
Referenced by coin(), fRand1(), fRandM(), fRandR(), fRandV(), csl::RandEnvelope::initSegment(), csl::RandEnvelope::nextSegment(), csl::FancyFMInstrument::playMIDI(), csl::FancyFMInstrument::playOSC(), sosNote(), testComplexEnvelope(), and testStringChorus().
float csl::fRand1 | ( | void | ) |
-1 - 1 (one)
Definition at line 420 of file CGestalt.cpp.
References fRandZ().
Referenced by fRandB(), noteLoop(), sosNote(), csl::MIDIPlayer::start(), testComplexEnvelope(), testFanMix1(), testFanMix2(), testSndFileBank(), and testStereoverb().
float csl::fRandV | ( | float | val | ) |
0 - v (val)
Definition at line 444 of file CGestalt.cpp.
References fRandZ().
Referenced by iRandV(), and csl::SumOfSines::SumOfSines().
float csl::fRandM | ( | float | minV, |
float | maxV | ||
) |
min - max (min/max)
Definition at line 426 of file CGestalt.cpp.
References fRandZ().
Referenced by createRandFreqEnvPatch(), iRandM(), noteLoop(), playSineMixer(), sosNote(), csl::SumOfSines::SumOfSines(), testBigPanMix(), testComplexEnvelope(), testManyRandSOS(), testNDynamicFilters(), testSndFileBank(), testString(), and testStringChorus().
float csl::fRandR | ( | float | base, |
float | range | ||
) |
float csl::fRandB | ( | float | base, |
float | range | ||
) |
b +- r (base)
Definition at line 438 of file CGestalt.cpp.
References fRand1().
Referenced by createGrains(), iRandB(), and testStereoverb().
int csl::iRandV | ( | int | val | ) |
Integer rands.
0 - v (val)
Definition at line 452 of file CGestalt.cpp.
References fRandV().
Referenced by noteLoop(), and testSndFileBank().
int csl::iRandM | ( | int | minV, |
int | maxV | ||
) |
min - max (min/max)
Definition at line 458 of file CGestalt.cpp.
References fRandM().
Referenced by noteLoop(), testSndFileBank(), and testStringChorus().
int csl::iRandB | ( | int | base, |
int | range | ||
) |
bool csl::coin | ( | ) |
Answer true or false.
Definition at line 470 of file CGestalt.cpp.
References fRandZ().
Referenced by testStringChorus().
bool csl::coin | ( | float | bias | ) |
Answer with a bias (1 –> always true)
Definition at line 476 of file CGestalt.cpp.
References fRandZ().
float csl::keyToFreq | ( | unsigned | midiKey | ) |
MIDI Conversions.
keyToFreq – converts from MIDI key numbers (1 - 127) to frequency in Hz.
Definition at line 483 of file CGestalt.cpp.
Referenced by csl::MIDIIn::get_frequency(), csl::CMIDIMessage::getFrequency(), noteLoop(), csl::AdditiveInstrument::playMIDI(), csl::FMInstrument::playMIDI(), csl::FancyFMInstrument::playMIDI(), and testStringChorus().
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
Definition at line 490 of file CGestalt.cpp.
Referenced by csl::KarplusString::trigger(), csl::MIDIOut::write_NoteOff(), and csl::MIDIOut::write_NoteOn().
|
related |
Utility function used in calculating the inverse of a matrix, used in AmbisonicDecoder for the pseudoinverse method.
|
related |
Utility function that calculates fuma encoding weights for a given order, azimuth and elevation.
Referenced by csl::AmbisonicEncoder::nextBuffer().
|
related |
Utility function that calculates fuma encoding weights for a given order, azimuth and elevation.