OpenWareLaboratory
Data Structures
Here are the data structures with brief descriptions:
 CAbstractMatrix
 CAbstractStateVariableFilterState Variable Filter based on Andy Simper's code and analysis: http://www.cytomic.com/files/dsp/SvfLinearTrapOptimised2.pdf This is a so-called Zero Delay Feedback, trapezoidal integration filter and is suited to audio rate modulation of filter coefficients
 CAbstractSynth
 CAdjustableTapTempo
 CAdsrEnvelopeADSR Envelope, either linear or exponential
 CAgnesiOscillatorOscillator that produces an Agnesi curve (Witch of Agnesi) With a=0.5, the output is between near 0 (0.038 for N=5) and 1
 CAntialiasedRampOscillator
 CAntialiasedSquareWaveOscillator
 CAntialiasedTriangleOscillator
 CAntialiasedWavetableOscillator
 CAudioBuffer
 CBiquadFilter
 CBrownNoiseGeneratorGenerator that produces Brownian noise (aka red noise)
 CChirpOscillator
 CCircularBuffer
 CColourScreenPatchAbstract base class for patches that use a colour screen
 CComplexFeedbackQuadratureSineOscillatorAn oscillator similar to QuadratureSineOscillator class that also includes feedback control
 CComplexFloatA structure defining a floating point complex number as two members of type float
 CComplexFloatArray
 CComplexFourierTransform
 CComplexOscillatorA complex oscillator is a MultiSignalGenerator with 2 channels that operates at a given frequency and that can be frequency modulated
 CComplexShortA structure defining a fixed point complex number as two members of type int16_t
 CComplexShortArray
 CComplexSignalGeneratorBase class for stereo signal generators such as Oscillators
 CComplexSignalProcessor
 CCompositeTransformComposite transform can apply a sequence of transformation matrices
 CControl
 CCrossFadingCircularBuffer
 CCrossFadingDelayProcessorDelay line signal processor that crossfades to ensure smooth changes in delay time
 CDcBlockingFilterDC Blocking IIR filter, aka Leaky differentiator
 CDelayProcessorDelay line signal processor implemented with a circular buffer
 CDownSampler
 CDryWetMultiSignalProcessor
 CDryWetSignalProcessor
 CEnvelope
 CEnvelopeFollowerEnvelope follower
 CExponentialDecayEnvelope
 CExponentialMovingAverageExponential Moving Average EMA
 CExponentialValueExponentially scaled value
 CFastFourierTransformThis class performs direct and inverse Fast Fourier Transform
 CFastFractionalDelayProcessorInterpolating delay line signal processor with fractional delay times
 CFeedbackQuadratureSineOscillatorAn oscillator similar to QuadratureSineOscillator class that also includes feedback control
 CFeedbackSignalProcessor
 CFilterStage
 CFirFilter
 CFloatArrayThis class contains useful methods for manipulating arrays of floats
 CFloatMatrixThis class contains useful methods for manipulating NxN dimensioned matrices of floats
 CFourierPitchDetector
 CFractionalCircularBufferCircular buffer that keeps a delta table of differences for faster fractional delay lines
 CFractionalDelayProcessorDelay line signal processor implemented with a circular buffer, allowing fractional delay times
 CGaussianNoiseGenerator
 CIntArray
 CInterpolatedCompositeTransformThis class calculates transformation matrix once per audio block just like the CompositeTemplate
 CInterpolatingCircularFloatBuffer
 CInterpolatingSignalGeneratorSignal Generator that generates an arbitrary number of in-between points, interpolated between two (linear, cosine) or more (cubic, hermite) reference points
 CInterpolatingWavetableOscillator
 CInterpolator
 CInvertedRampOscillatorInverted ramp oscillator generates falling output values from 1 to -1
 CInvertedSquareWaveOscillator
 CKaiserWindow
 CLinearValueLinearly scaled value
 CLogarithmicValueLogarithmically scaled value
 CMidiMessage
 CMidiPolyphonicExpressionProcessorImplementation of MPE (MIDI Polyphonic Expression) message processing
 CMidiProcessorBase class for MIDI processors such as AbstractSynth
 CMonochromeScreenPatchAbstract base class for patches that use a monochrome screen
 CMonophonicProcessor
 CMorphingOscillatorThe MorphingOscillator wraps a fixed number of Oscillators and crossfades between their outputs
 CMultiBiquadFilter
 CMultiSignalGenerator
 CMultiSignalProcessor
 CMultiStateVariableFilter
 CNoiseOscillatorThe NoiseOscillator generates random values in the range [-1, 1] at a given frequency
 COscillatorAn Oscillator is a SignalGenerator that operates at a given frequency and that can be frequency modulated
 COscillatorTemplate
 CPatch
 CPatchParameter
 CPhaseShiftOscillator
 CPingPongFeedbackProcessor
 CPinkNoiseGenerator
 CPolyBlepOscillator
 CPolyphonicProcessorSupports both Polyphonic Key Pressure and Channel Pressure Aftertouch
 CQuadratureSineOscillatorOscillator outputs complex numbers on unit cycle
 CRampOscillatorRamp oscillator generates rising output values from -1 to 1
 CReflection2D
 CResamplerImplements 4x oversampling
 CResource
 CRotation2D
 CSampleOscillator
 CScale2D
 CScreenBuffer
 CShear2D
 CShortArrayThis class contains useful methods for manipulating arrays of int16_ts
 CShortFastFourierTransformThis class performs direct and inverse ShortFast Fourier Transform
 CSignalGeneratorBase class for signal generators such as Oscillators
 CSignalProcessorBase class for signal processors such as Filters
 CSimpleArraySimpleArray holds a pointer to an array and the array size, and is designed to be passed by value
 CSimpleMovingAverageSimple Moving Average SMA
 CSimpleValueBase class for a value that can be set, updated and retrieved (get)
 CSineOscillator
 CSmoothingFilterAC Blocking IIR filter, the Leaky Integrator
 CSmoothValueApplies exponential smoothing to a scalar value
 CSquareWaveOscillator
 CSqueeze2D
 CStateVariableFilter
 CStereoBiquadFilter
 CStereoDcBlockingFilter
 CStereoFeedbackProcessor
 CStereoSmoothingFilter
 CStereoStateVariableFilter
 CStiffValueApplies simple hysteresis to a scalar
 CStretch2D
 CSynth
 CTakeoverValueTakeoverValue allows parameters to implement Takeover logic
 CTapTempo
 CTemplatePatch
 CTransformationMatrixThis template creates classes that can manage a single transformation matrix
 CTranslation2D
 CTriangleOscillator
 CUpSampler
 CVariableShapeOscillatorOscillator with a waveshape that is variable from saw to square, with adjustable pulse width
 CVelocityCurveGeneral MIDI DLS Level 1 Specification: The MIDI Note Velocity value is converted to attenuation in dB by the Concave Transform attenuation = 20*log10(127^2/velocity^2) so gain = velocity^2/127^2 Adjustable for dynamic range
 CVoiceAllocator
 CVoiceAllocatorMultiSignalGenerator
 CVoiceAllocatorMultiSignalProcessor
 CVoiceAllocatorSignalGenerator
 CVoiceAllocatorSignalProcessor
 CVoltsPerOctave
 CVosimOscillatorVOSIM-type oscillator based on Rob Hordijk's Nord Modular patch
 CWavDataChunk
 CWavetableOscillator
 CWavFile
 CWavHeader
 CWhiteNoiseGenerator
 CWindow
 CZeroCrossingPitchDetector