| NDiff | Binary diff/patch utilities using the bsdiff algorithm |
| CPatch | A compact text patch storing only the differences between two texts |
| CHunk | |
| Njuce | |
| CVarIterator | Iterator for a var |
| CNamedValue | |
| CActionMessageLambda | A utility class that adapts an ActionBroadcaster to use a lambda callback |
| CADSR | Linear ADSR envelope generator optimized for modulation sources |
| CADSRComponent | Interactive visual editor for ADSR envelope parameters |
| CAirWindowsDistortion | Sine-based waveshaping distortion effect based on AirWindows plugins |
| CAnalogADSR | Analog-modeled ADSR envelope generator for smooth, musical envelopes |
| CAnimated | A value that eases to a new target over a Transition and repaints its owner on every step |
| CAnimatedBase | The non-template part of Animated and Crossfade: the owner, the property name, the running transition and the registration with the shared AnimationDriver |
| CAnimatedImageFilter | An image and an ImageFilter version of it, blended by an Animated<float> amount: 0 shows the image, 1 the filtered one, e.g |
| CAnimatedProperties | The animated values of one component that the layout and its States share, so a base value (the layout's "alpha" and "scale" entries) and a state's value (e.g |
| CAnimatedScale | An Animated<float> scale applied to its owner with juce::Component::setTransform, about an origin relative to the owner's bounds (its centre by default), so it zooms from the centre instead of towards the bottom right |
| CAnimationDriver | Ticks all running Animated and Crossfade values on the vertical blank of the window they show in |
| CAsyncDownload | Async Download |
| CAsyncLambdaValueTreeListener | Asynchronous ValueTree listener using lambda functions |
| CAsyncWebsocket | Asynchronous WebSocket client with non-blocking operations |
| CAudioEquationParser | Equation parser with audio-specific functions for DSP processing |
| CAudioFifo | Lock-free audio FIFO buffer for single producer/consumer scenarios |
| CAudioFunctionHost | State management for audio functions in AudioEquationParser |
| CAudioMetadata | Extracts musical metadata from audio files |
| CAudioMidiFifo | Combined audio and MIDI buffer for synchronized processing within a single thread |
| CAudioProcessorPlayer | An AudioIODeviceCallback object which streams audio through an AudioProcessor |
| CNumChannels | |
| CAudioRecorder | |
| CAudioSamplerBufferComponent | Draws an AudioSampleBuffer thumbnail |
| CScopedViewState | |
| CBackInEasing | Back In easing function object |
| CBackInOutEasing | Back InOut easing function object |
| CBackOutEasing | Back Out easing function object |
| CBandLimitedLookupTable | Lookup tables for holding bandlimited waveforms |
| CBandLimitedLookupTables | Generate and hold bandlimited lookup tables for all the common waveforms |
| CBiquad | Single RBJ biquad, per sample |
| CBitCrusher | Anti-aliased bitcrusher with independent bit depth and sample rate reduction |
| CBLLTVoicedStereoOscillator | Band-limited stereo oscillator with multiple voices for unison effects |
| CBMPImageFormat | Support for reading and writing Windows Bitmap files |
| CBounceInEasing | Bounce In easing function object |
| CBounceInOutEasing | Bounce InOut easing function object |
| CBounceOutEasing | Bounce Out easing function object |
| CBoxArea | A group of control boxes |
| CBoxShadow | CSS-style box shadows, painted by the PARENT under its children, because a shadow lies outside the component and would be clipped by it |
| CBP12State | State storage for 12dB/octave bandpass filter in AudioEquationParser |
| CBP24State | State storage for 24dB/octave bandpass filter in AudioEquationParser |
| CCamera3D | A 3D camera that can be positioned and oriented in space |
| CCatenary | Calculates the curve of a hanging cable (catenary) |
| CCircularInEasing | Circular In easing function object |
| CCircularInOutEasing | Circular InOut easing function object |
| CCircularOutEasing | Circular Out easing function object |
| CCoalescedTimer | An efficient timer that shares a single juce::Timer between multiple instances |
| CColourPropertyComponent | Property component for selecting colors with a visual color picker |
| CCommentMetadata | Reads simple text comment metadata from image files |
| CComponentGrid | Animated grid container with drag-and-drop reordering support |
| CDragInfo | |
| CComponentMap | Internal class for mapping component paths to component pointers |
| CComponentViewer | A debugging tool that displays component hierarchy and properties |
| CConstantsStack | |
| CScopedSave | |
| CControlBox | Container for organizing plugin controls on a grid layout with page support |
| CCopperLookAndFeel | Plugin specific addition to GinLookAndFeel Still black and white |
| CCopperLookAndFeelWrapper | Auto sets and clears CopperLookAndFeel as default |
| CCorrelationMeter | Stereo phase correlation and balance meter |
| CCrossfade | A discrete value that can't blend, like a text or an icon: on a change the previous value fades out while the new one fades in, over a Transition found exactly like Animated's (layout "transition" by property name, preset, inline spec) |
| CCubicInEasing | Cubic In easing function object |
| CCubicInOutEasing | Cubic InOut easing function object |
| CCubicOutEasing | Cubic Out easing function object |
| CDCBlocker | Estimates the DC (very low frequency) content of a signal so it can be removed to form a DC blocker |
| CDelayLine | Multi-channel delay line with interpolated tap reading |
| CDither | Dither and noise shaping for bit depth reduction |
| CDownloadManager | Asynchronous HTTP download manager with queue and progress tracking |
| CDownloadResult | Result of a completed or failed download |
| CDynamics | Dynamics processor supporting compression, limiting, expansion, and gating |
| CDynamicsMeter | Draws a comp, gate, limiter, expander graph Draws input > output curve Draws input and output levels |
| CEasedValueSmoother | Smooths a value using an easing function for natural-feeling transitions |
| CElasticInEasing | Elastic In easing function object |
| CElasticInOutEasing | Elastic InOut easing function object |
| CElasticOutEasing | Elastic Out easing function object |
| CElevatedFileCopy | Copies files, creating folders where required requesting admin access only if required |
| CElevatedSession | Keeps one elevated worker process alive so the admin password prompt is only shown once per app run, rather than once per operation |
| CEllipse | Equations to calculate the shape of an ellipse and to calculate points on the edge of the ellipse and to see if points are inside or outside |
| CEnvelopeDetector | Envelope follower for dynamics processing |
| CEQ | Multi-channel, multi-band equalizer with flexible filter types |
| CEquationParser | Mathematical equation parser and evaluator with variable and function support |
| CExciter | Aural exciter - adds harmonics generated from the top of the signal |
| CExifMetadata | Reads EXIF (Exchangeable Image File Format) metadata from JPEG images |
| CExponentialInEasing | Exponential In easing function object |
| CExponentialInOutEasing | Exponential InOut easing function object |
| CExponentialOutEasing | Exponential Out easing function object |
| CFader | Vertical fader with label for controlling a parameter |
| CFaderSlider | A vertical fader slider for controlling a parameter with custom drawing |
| CFastMath | Fast approximations for trigonometric and hyperbolic functions |
| CFilePropertyComponent | Property component for selecting files with a browse button |
| CFileSystemWatcher | Cross-platform file system watcher for monitoring folder changes |
| CListener | Listener interface for receiving file system change notifications |
| CFilter | Multi-channel biquad filter with multiple types and slopes |
| CFuncState | Base class for storing state in audio functions |
| CGainProcessor | Simple gain processor with ramping to avoid discontinuities |
| CGameController | Represents a single connected game controller |
| CGameControllerManager | Cross-platform game controller manager |
| CListener | |
| CPollState | Snapshot of a single controller's state, written by a Backend |
| CBackend | Platform extension point |
| CGateEffect | Rhythmic gate effect with programmable step sequencing |
| CGateEffectComponent | An editor for the gate effect pattern |
| CGinLookAndFeel | Minimalist dark look and feel with black background and white controls |
| CGlideInfo | Configuration for pitch glide (portamento/glissando) between notes |
| CGraphicEQ | Multi-band graphic equalizer with configurable band count and per-channel control |
| CHeaderButton | A header button with title text |
| CHeaderComponent | |
| CHeaderItem | A header with power button, name and mod destinations |
| CHeaderRow | Holds a row of headers |
| CHorizontalFader | Horizontal slider wth text for controlling a param |
| CHP12State | State storage for 12dB/octave highpass filter in AudioEquationParser |
| CHP24State | State storage for 24dB/octave highpass filter in AudioEquationParser |
| CHttp | Simple HTTP client for making GET requests |
| CHttpResult | Result of an HTTP request |
| CImageFilter | A chain of image filters (as CSS filter), applied in order with Gin's applyX functions, parsed from a spec string of names, each followed by its value where it takes one |
| CImageMetadata | Base class for reading metadata from image files (JPEG, PNG, GIF) |
| CImages | Asset manager for common plugin UI images and icons |
| CIModMatrix | Interface for modulation matrix systems |
| CListener | Listener interface for modulation matrix changes |
| CIntegrator | Numerical integration using the trapezoidal rule for discrete data points |
| CInterpolator | How Animated blends and compares values of a type |
| CInterpolator< float > | Floats cover any scalar, a font height or a corner radius alike |
| CInterpolator< juce::Colour > | |
| CInterpolator< juce::ColourGradient > | Resamples both gradients onto the union of their stop positions and blends the colours there, and the end points |
| CInterpolator< juce::Font > | Blends the height; the other attributes are the target's |
| CInterpolator< juce::Rectangle< float > > | Blends the edges, so a rectangle moving and resizing keeps its edges steady |
| CInterpolator< juce::Rectangle< int > > | |
| CInterpolator< ShadowList > | Blends layer by layer; a missing layer blends from or to a clear copy of the other one |
| CIptcMetadata | Reads IPTC (International Press Telecommunications Council) metadata from images |
| CKickSynth | Kick reinforcement - synthesises low end triggered by transients |
| CKnob | Complete parameter control combining rotary slider, value readout, and modulation |
| CKWeightingFilter | The two stage K-weighting filter from ITU-R BS.1770: a high shelf that models the acoustic effect of the head followed by a high pass |
| CCoefficients | |
| CLambdaAsyncUpdater | Async updater that calls a std::function callback instead of requiring virtual override |
| CLambdaMouseListener | Mouse listener that uses std::function callbacks instead of virtual overrides |
| CLambdaTimer | Timer that calls a std::function callback instead of requiring virtual override |
| CLambdaValueTreeListener | Listens to ValueTree changes using lambda functions instead of virtual methods |
| CLayoutSupport | JSON-based layout system for JUCE components |
| CBounds | |
| CJsonFile | |
| CLeastSquaresRegression | Performs least squares regression to fit a quadratic curve to data points |
| CLevelMeter | Draws a simple level meter |
| CLevelTracker | Track audio levels with decay in dB |
| CLFO | Low-Frequency Oscillator with 18 waveform shapes and modulation features |
| CParameters | |
| CLFOComponent | Visual display of LFO waveform with animated phase indicators |
| CLinearEasing | Linear easing function object (no easing) |
| CLinearRegression | Performs linear regression to fit a straight line to data points |
| CLineSegment3D | Represents a line segment in 3D space |
| CLocationManager | |
| CLocation | |
| CListener | |
| CLockFreeQueue | A lock-free FIFO queue for single-producer, single-consumer scenarios |
| CLoudnessMeter | Loudness meter per ITU-R BS.1770-4 / EBU R128 |
| CLP12State | State storage for 12dB/octave lowpass filter in AudioEquationParser |
| CLP24State | State storage for 24dB/octave lowpass filter in AudioEquationParser |
| CLRUCache | A simple LRU (Least Recently Used) cache with a fixed maximum size |
| CMainContentComponent | |
| CMapViewer | Interactive map viewer component using OpenStreetMap tiles |
| CMat4 | A 4x4 matrix class for 3D transformations |
| CMaximizer | Zero crossing maximizer |
| CMessagePack | Converts between MessagePack binary format and juce::var |
| CMidiFifo | Simple MIDI buffer for time-shifting MIDI events within a single thread |
| CMidiFileComponent | Displays the contents of a MidiFilePlayer as a piano roll view |
| CMidiFilePlayer | Plays back MIDI files with configurable tempo |
| CMidiLearn | MIDI Learn system for mapping MIDI CC messages to plugin parameters |
| CMidiLearnOverlay | Overlay component that draws a pulsing ring around the parameter being learned |
| CMipMap | An image with its halved levels down to 16 px, each halving a rounded 2x2 box average, so drawing it smaller picks the nearest larger level and stays sharp without aliasing |
| CMipMapEnhance | Post-processing of a MipMap's reduced levels, off by default |
| CModCurveButton | A button that displays mod curve |
| CModDstId | Identifier for a modulation destination in the ModMatrix system |
| CModMatrix | Modulation matrix system for routing multiple modulation sources to parameters |
| CModMatrixBox | A list box of all assigned modulations |
| CModOverlay | Overlay component that draws a catenary cable from the active modulation source to the mouse pointer during modulation learn mode |
| CModSrcId | Identifier for a modulation source in the ModMatrix system |
| CModSrcListBox | A list box of all mod sources |
| CModulation | Modulated delay effect for chorus, flanger, and phaser effects |
| CModulationDepthSlider | A slider for adjusting modulation depth |
| CModulationOverview | A button and text readout that shows the current modulation source |
| CModulationSourceButton | A button for enabling modulation learn |
| CModVoice | Make your synth voice inherit from this if it supports modulation |
| CMSEG | Multi-Segment Envelope Generator (MSEG) for complex modulation curves |
| CParameters | |
| CPoint | |
| CData | |
| CMSEGComponent | Draws an MSEG LFO curve and shows a little dot moving long |
| CMultiParamComponent | A base component for controlling multiple parameters at once |
| CNewsChecker | Checks Wordpress feed for plugin news |
| CNoiseState | State storage for noise generator in AudioEquationParser |
| CNotch12State | State storage for 12dB/octave notch filter in AudioEquationParser |
| CNotch24State | State storage for 24dB/octave notch filter in AudioEquationParser |
| CNoteDuration | Musical note duration for tempo-synchronized timing |
| CObject3D | A 3D object that contains a collection of points and line segments with a transform |
| COpenStreetMaps | Fetches map files from OSM servers |
| CListener | |
| COscState | State storage for oscillator functions in AudioEquationParser |
| CPagedControlBox | Advanced container with sliding page transitions for organizing controls |
| CParamArea | A box for graphs without a header |
| CParamBox | A box for knobs with a header |
| CParamComponent | Base class for a control showing a parameter with label |
| CParameter | Advanced parameter class with modulation, real-time callbacks, and host automation |
| CParameterListener | |
| CParamState | |
| CParamHeader | A header with title text |
| CParser | |
| CPatchBrowser | Preset/patch browser component with filtering by author and tags |
| CAuthorsModel | |
| CTagsModel | |
| CPresetsModel | |
| CPCXImageFormat | Support for reading and writing ZSoft PCX files |
| CPerlinNoise | Generates Perlin noise - a type of gradient noise with natural-looking characteristics |
| CPinkNoise | Pink noise generator using the Voss-McCartney algorithm |
| CPlateReverb | Plate reverb from Dattorro's paper |
| CPluginAlertWindow | An alert window that doesn't add itself to the desktop |
| CPluginButton | Button for toggling a parameter |
| CPluginComboBox | A control for selecting param values from a dropbox |
| CPluginLookAndFeel | Plugin specific addition to GinLookAndFeel Still black and white |
| CPluginLookAndFeelWrapper | Auto sets and clears PluginLookAndFeel as default |
| CPluginSlider | A slider for controlling a parameter |
| CPoint | A lightweight 2D point class for projects that don't use juce_graphics |
| CPoint3D | Represents a point in 3D space |
| CPolygon | A simple polygon defined by a series of points |
| CPowerButton | Button for toggling a parameter, drawn as a power button |
| CProcessor | Advanced audio processor base class with parameter management and preset system |
| CProcessorEditor | Main plugin editor component for Gin-based audio plugins |
| CProcessorEditorBase | Base for plugin editor |
| CProcessorOptions | Plugin metadata and configuration options for Processor |
| CProgram | Plugin preset/program with file-based storage and parameter management |
| CProperty | Simple key-value pair structure for representing a property |
| CPropertyComponentBase | Base class for property components that use juce::Value for data binding |
| CQuadraticInEasing | Quadratic In easing function object |
| CQuadraticInOutEasing | Quadratic InOut easing function object |
| CQuadraticOutEasing | Quadratic Out easing function object |
| CQuarticInEasing | Quartic In easing function object |
| CQuarticInOutEasing | Quartic InOut easing function object |
| CQuarticOutEasing | Quartic Out easing function object |
| CQuinticInEasing | Quintic In easing function object |
| CQuinticInOutEasing | Quintic InOut easing function object |
| CQuinticOutEasing | Quintic Out easing function object |
| CReadout | A control for displaying a parameter |
| CRealtimeAsyncUpdater | An asynchronous update dispatcher that bypasses the message queue |
| CRealtimeEvent | A realtime-safe event synchronization primitive for cross-thread signaling |
| CRemoteServer | A small TCP server that lets an external process drive a JUCE UI |
| COptions | |
| CCommandResult | The outcome of a command |
| CContext | Passed to async commands so they can hop onto the message thread and pause between steps |
| CRenderer3D | Renders a 3D scene to a juce::Graphics context as wireframes |
| CResamplingFifo | High-quality sample rate conversion FIFO using libsamplerate |
| CRetrospectiveBufferComponent | |
| CRIFFParser | Parses RIFF (Resource Interchange File Format) files |
| CRMSMeter | Sliding window RMS meter, one reading per channel |
| CRollingAverage | Maintains a rolling average of a series of numbers |
| CSample | Audio sample container for loading and playing back sample data |
| CSampleFileComponent | |
| CSampleOscillator | Sample-based oscillator with pitch tracking and looping capabilities |
| CSamplePlayer | |
| CScaledPluginEditor | If you want your plugin editor to scale, just wrap it in this |
| CScene3D | A scene containing multiple 3D objects and a camera |
| CScratchBuffer | Temporary audio buffer allocated from a shared pool to avoid allocations |
| CSecureStreamingSocket | Streaming socket with optional TLS/SSL encryption support |
| CSelect | Control for picking param value with label |
| CShadowSpec | One layer of a CSS-style box shadow: an offset, a blur radius, a spread and a colour (its alpha the shadow's opacity) |
| CSharedMemory | Creates a block of shared memory |
| CSideBarComponent | |
| CSimpleVerb | Simple stereo reverb effect with room size and damping controls |
| CSineInEasing | Sine In easing function object |
| CSineInOutEasing | Sine InOut easing function object |
| CSineOutEasing | Sine Out easing function object |
| CSmoothedParameter | A silky smooth parameter |
| CSmoothingType | Parameter smoothing configuration for audio-rate interpolation |
| CSoftClipper | Soft clipper with an adjustable knee, worked out in the dB domain |
| CSpectrumAnalyzer | |
| CSpline | Cubic spline interpolation for smooth curves through discrete data points |
| CElement | |
| CStandaloneAudioProcessorPlayer | |
| CStandaloneFilterApp | |
| CStandaloneFilterWindow | A class that can be used to run a simple standalone application containing your filter |
| CStandalonePlayhead | A concrete implementation of AudioPlayHead for standalone plugin use |
| CStandalonePluginHolder | An object that creates and plays a standalone instance of an AudioProcessor |
| CPluginInOuts | Structure used for the number of inputs and outputs |
| CStates | Declarative states, like CSS pseudo-classes: values a component takes while the mouse is over it or presses it, eased there and back with its transitions |
| CStepLFO | Step sequencer-style LFO with programmable values per step |
| CStepLFOComponent | Draws a step LFO curve and shows a little dot moving long |
| CStereoDelay | Stereo delay effect with feedback, cross-feedback, and wet/dry mix |
| CStereoEnhancer | Stereo Enhancer |
| CStereoOscillator | Virtual analog stereo oscillator with band-limited waveforms |
| CParams | |
| CStereoProcessor | Stereo Processor |
| CSVGButton | Button that displays an SVG graphic instead of or alongside text |
| CSVGPluginButton | Button for toggling a parameter |
| CSwitch | Control for toggling param with label |
| CSynthesiser | Advanced MPE-capable synthesizer with mono/poly modes, glide, and voice management |
| CSynthesiserUsage | Control for synth usage |
| CSynthesiserVoice | Extended synthesizer voice with glide support and fast-kill capability |
| CSystemClipboard | Utilities for reading and writing images to the system clipboard |
| CSystemSemaphore | A system-wide semaphore for inter-process synchronization |
| CTextHistory | Undo/redo history management for text editing with efficient diff-based storage |
| CTextRenderer | Render audio to ascii waveforms |
| CTGAImageFormat | Support for reading and writing Truevision TGA files |
| CTimeProfiler | A simple RAII-based time profiler for measuring execution duration |
| CTitleBar | |
| CTransientShaper | Transient shaper - independent control over attack and sustain |
| CTransition | Duration and easing of an animated change, CSS transition style |
| CTriggeredScope | Triggered Scope that it can be set to start on a rising or falling signal |
| CTruePeakMeter | True peak meter per ITU-R BS.1770 Annex 2: the signal is oversampled (4x below 96 kHz, 2x below 192 kHz) so peaks that fall between samples are measured |
| CUpdateChecker | Checks for plugin updates |
| CValueSmoother | Linearly smooths parameter changes over time at a constant rate |
| CValueTreeObject | Maintains an object hierarchy that mirrors a ValueTree structure |
| CVec3 | A 3D vector class for representing points and directions in 3D space |
| CVoicedOscillatorParams | Parameters for VoicedStereoOscillator configuration |
| CVoicedStereoOscillator | Stereo oscillator with multiple voices for unison/detuning effects |
| CVoicedStereoOscillatorParams | Extended parameters for band-limited voiced stereo oscillator |
| CWaveformComponent | Visual component for displaying audio waveforms with zoom and scroll |
| CWavetable | Wrapper around juce::OwnedArray<BandLimitedLookupTable> for managing multiple wavetables |
| CWavetableComponent | Draws a wavetable |
| CWEBPImageFormat | Support for reading and writing Webp |
| CWebSocket | Synchronous WebSocket client implementation |
| CWetDryMix | Mix between wet and dry with a nice curve |
| CWhiteNoise | White noise generator using a normal distribution |
| CWSHeaderType | WebSocket frame header structure |
| CWTOscillator | Wavetable oscillator with interpolation and shaping options |
| CParams | |
| CWTVoicedStereoOscillator | Stereo wavetable oscillator with multiple voices for unison/detuning effects |
| CWTVoicedStereoOscillatorParams | Extended parameters for wavetable voiced stereo oscillator |
| CXmpMetadata | Reads XMP (Extensible Metadata Platform) metadata from JPEG and PNG images |
| CXYScope | Draws an XY Scope with history-based fading |