▼Nrack | Root namespace for the Rack API |
►Napp | Rack's custom UI widgets that control the Rack state and engine |
CAudioBlockSizeChoice | |
CAudioButton | A virtual audio port graphic that displays an audio menu when clicked |
CAudioDeviceChoice | |
CAudioDeviceMenuChoice | |
CAudioDisplay | Designed for Audio-8 and Audio-16 module |
CAudioDriverChoice | |
CAudioSampleRateChoice | |
CCableWidget | |
CCircularShadow | |
CKnob | Implements vertical dragging behavior for ParamWidgets |
CLedDisplay | |
CLedDisplayChoice | |
CLedDisplaySeparator | |
CLedDisplayTextField | |
CLightWidget | |
CMidiButton | A virtual MIDI port graphic that displays an MIDI menu when clicked |
CMidiChannelChoice | |
CMidiDeviceChoice | |
CMidiDisplay | |
CMidiDriverChoice | |
CModuleLightWidget | A MultiLightWidget that points to a module's Light or a range of lights Will access firstLightId, firstLightId + 1, etc |
CModuleWidget | Manages an engine::Module in the rack |
CMultiLightWidget | Mixes a list of colors based on a list of brightness values |
CPanelBorder | |
CParamWidget | Manages an engine::Param on a ModuleWidget |
CPlugWidget | |
CPortWidget | Manages an engine::Port on a ModuleWidget |
CRackScrollWidget | |
CRackWidget | Container for ModuleWidget and CableWidget |
CRailWidget | |
CScene | |
CSliderKnob | |
CSvgButton | |
CSvgKnob | A knob which rotates an SVG and caches it in a framebuffer |
CSvgPanel | |
CSvgPort | |
CSvgScrew | If you don't add these to your ModuleWidget, they will fall out of the rack.. |
CSvgSlider | Behaves like a knob but linearly moves an widget::SvgWidget between two points |
CSvgSwitch | A ParamWidget with multiple frames corresponding to its value |
CSwitch | A ParamWidget that represents an integer |
CThemedSvgPanel | |
CThemedSvgPort | |
CThemedSvgScrew | |
►Naudio | Abstraction for all audio drivers in Rack |
CDevice | A single audio device of a driver API |
CDriver | Wraps an audio driver API containing any number of audio devices |
CPort | A handle to a Device, typically owned by modules to have shared access to a single Device |
►Ncomponentlibrary | Library of Rack components: knobs, ports, lights, switches, buttons, etc |
CAudioButton_ADAT | |
CAudioButton_USB_B | |
CBefacoBigKnob | |
CBefacoPush | |
CBefacoSlidePot | |
CBefacoSwitch | |
CBefacoTinyKnob | |
CCKD6 | |
CCKSS | |
CCKSSThree | |
CCKSSThreeHorizontal | |
CCL1362Port | |
CDarkPJ301MPort | |
CDavies1900hBlackKnob | |
CDavies1900hKnob | |
CDavies1900hLargeBlackKnob | |
CDavies1900hLargeRedKnob | |
CDavies1900hLargeWhiteKnob | |
CDavies1900hRedKnob | |
CDavies1900hWhiteKnob | |
CLargeLight | Based on the size of 5mm LEDs |
CLargeSimpleLight | Based on the size of 5mm LEDs |
CLEDSliderBlue | |
CLEDSliderGreen | Deprecated |
CLEDSliderRed | |
CLEDSliderWhite | |
CLEDSliderYellow | |
CLightButton | |
CLightSlider | An SvgSlider with an attached light |
CMediumLight | Based on the size of 3mm LEDs |
CMediumSimpleLight | Based on the size of 3mm LEDs |
CMidiButton_MIDI_DIN | |
CMomentarySwitch | |
CNKK | |
CPB61303 | |
CPB61303Light | A light to displayed over PB61303 |
CPJ301MPort | |
CPJ3410Port | |
CRectangleLight | |
CRogan | |
CRogan1PBlue | |
CRogan1PGreen | |
CRogan1PRed | |
CRogan1PSBlue | |
CRogan1PSGreen | |
CRogan1PSRed | |
CRogan1PSWhite | |
CRogan1PWhite | |
CRogan2PBlue | |
CRogan2PGreen | |
CRogan2PRed | |
CRogan2PSBlue | |
CRogan2PSGreen | |
CRogan2PSRed | |
CRogan2PSWhite | |
CRogan2PWhite | |
CRogan2SGray | |
CRogan3PBlue | |
CRogan3PGreen | |
CRogan3PRed | |
CRogan3PSBlue | |
CRogan3PSGreen | |
CRogan3PSRed | |
CRogan3PSWhite | |
CRogan3PWhite | |
CRogan5PSGray | |
CRogan6PSWhite | |
CRoundBigBlackKnob | |
CRoundBlackKnob | |
CRoundBlackSnapKnob | |
CRoundHugeBlackKnob | |
CRoundKnob | |
CRoundLargeBlackKnob | |
CRoundSmallBlackKnob | |
CScrewBlack | |
CScrewSilver | |
CSegmentDisplay | |
CSmallLight | Based on the size of 2mm LEDs |
CSmallSimpleLight | Based on the size of 2mm LEDs |
CSynthTechAlco | |
CTBlueLight | |
CTGrayModuleLightWidget | |
CTGreenLight | |
CTGreenRedLight | Reads two adjacent lightIds, so lightId and lightId + 1 must be defined |
CThemedPJ301MPort | |
CThemedScrew | |
CTinyLight | Based on the size of 1mm LEDs |
CTinySimpleLight | Based on the size of 1mm LEDs |
CTL1105 | |
CTRedGreenBlueLight | |
CTRedLight | |
CTrimpot | |
CTSvgLight | |
CTWhiteLight | |
CTYellowLight | |
CVCVBezel | |
CVCVBezelLatch | |
CVCVBezelLight | A light for displaying on top of VCVBezel |
CVCVButton | |
CVCVLatch | |
CVCVLightBezel | |
CVCVLightBezelLatch | |
CVCVLightLatch | |
CVCVLightSlider | |
CVCVSlider | |
CVCVSliderLight | |
►Ndsp | Digital signal processing routines and classes |
CAppleRingBuffer | A cyclic buffer which maintains a valid linear array of size S by sliding along a larger block of size N |
CBooleanTrigger | Detects when a boolean changes from false to true |
CClockDivider | Counts calls to process(), returning true every division calls |
CComplexFFT | Complex-valued FFT context |
CDecimator | Downsamples by an integer factor |
CDoubleRingBuffer | A cyclic buffer which maintains a valid linear array of size S by keeping a copy of the buffer in adjacent memory |
CFrame | Useful for storing arrays of samples in ring buffers and casting them to float* to be used by interleaved processors, like SampleRateConverter |
CIIRFilter | Digital IIR filter processor |
CMidiGenerator | Converts gates and CV to MIDI messages |
CMidiParser | Converts MIDI note and transport messages to gates, CV, and other states |
CMinBlepGenerator | |
CPulseGenerator | When triggered, holds a high value for a specified time before going low again |
CRealFFT | Real-valued FFT context |
CRealTimeConvolver | |
CRingBuffer | Lock-free queue with fixed size and no allocations |
CSampleRateConverter | Resamples by a fixed rational factor |
CTBiquadFilter | |
CTExponentialFilter | Applies exponential smoothing to a signal with the ODE \( \frac{dy}{dt} = x \lambda \) |
CTExponentialSlewLimiter | Behaves like ExponentialFilter but with different lambas when the RHS of the ODE is positive or negative |
CTPeakFilter | Like ExponentialFilter but jumps immediately to higher values |
CTRCFilter | The simplest possible analog filter using an Euler solver |
CTSchmittTrigger | Turns HIGH when value reaches a threshold (default 0.f), turns LOW when value reaches a threshold (default 1.f) |
CTSchmittTrigger< float > | |
CTSlewLimiter | Limits the derivative of the output by a rise and fall speed, in units/s |
CTTimer | Accumulates a timer when process() is called |
CUpsampler | Upsamples by an integer factor |
CVuMeter | Deprecated |
CVuMeter2 | Models a VU meter with smoothing |
►Nengine | High-performance classes handling modules and voltage signals between them |
CCable | |
CEngine | Manages Modules and Cables and steps them in time |
CInput | |
CLight | |
CLightInfo | |
►CModule | DSP processor instance for your module |
CAddEvent | |
CBypassEvent | |
CBypassRoute | |
CExpander | Represents a message-passing channel for an adjacent module |
CExpanderChangeEvent | |
CPortChangeEvent | |
CProcessArgs | |
CRandomizeEvent | |
CRemoveEvent | |
CResetEvent | |
CSampleRateChangeEvent | |
CSaveEvent | |
CSetMasterEvent | |
CUnBypassEvent | |
CUnsetMasterEvent | |
COutput | |
CParam | |
CParamHandle | A weak handle to a Param |
CParamQuantity | A Quantity that wraps an engine::Param |
CPort | |
CPortInfo | |
CSwitchQuantity | |
►Nhistory | Action history for UI undo/redo |
CAction | An undo action with an inverse redo action |
CCableAdd | |
CCableColorChange | |
CCableRemove | |
CComplexAction | Batches multiple actions into one |
CInverseAction | |
CModuleAction | An action operating on a module |
CModuleAdd | |
CModuleBypass | |
CModuleChange | |
CModuleMove | |
CModuleRemove | |
CParamChange | |
CState | |
►Nlibrary | Synchronizes plugins with the VCV Library and handles VCV accounts with the vcvrack.com API |
CUpdateInfo | |
►Nmath | Extends <cmath> with extra functions and types |
CRect | 2-dimensional rectangle for graphics |
CVec | 2-dimensional vector of floats, representing a point on the plane for graphics |
►Nmidi | Abstraction for all MIDI drivers in Rack |
CDevice | A single MIDI device of a driver API |
CDriver | Wraps a MIDI driver API containing any number of MIDI devices |
CInput | |
CInputDevice | |
CInputQueue | An Input port that stores incoming MIDI messages and releases them when ready according to their frame timestamp |
CMessage | |
COutput | |
COutputDevice | |
CPort | A handle to a Device, typically owned by modules to have shared access to a single Device |
►Nmidiloopback | |
CContext | |
►Npatch | Handles the Rack patch file state |
CManager | Handles the Rack patch file state |
►Nplugin | Loads and manages Rack plugins |
CModel | Type information for a module |
CPlugin | |
►Nrandom | Random number generation |
CXoroshiro128Plus | Xoroshiro128+ |
►Nsettings | Process-scope globals, most of which are persisted across launches |
CModuleInfo | |
CPluginWhitelist | The VCV JSON API returns the data structure {pluginSlug: [moduleSlugs] or true} where "true" represents that the user is subscribed to the plugin (all modules and future modules) |
►Nsimd | Abstraction of aligned types for SIMD computation |
CVector | Generic class for vector types |
CVector< float, 4 > | Wrapper for __m128 representing an aligned vector of 4 single-precision float values |
CVector< int32_t, 4 > | |
►Nstring | Supplemental std::string functions |
CCaseInsensitiveCompare | |
CVersion | Structured version string, for comparison |
►Nui | Common graphical user interface widgets |
CButton | A clickable button with text |
CChoiceButton | Button with a dropdown icon on its right |
CColorDotMenuItem | |
CLabel | |
CList | |
CMenu | |
CMenuEntry | |
CMenuItem | |
CMenuLabel | |
CMenuOverlay | Deletes itself from parent when clicked |
CMenuSeparator | |
COptionButton | Behaves like a RadioButton and appears with a checkmark beside text |
CPasswordField | |
CProgressBar | |
CRadioButton | Toggles a Quantity between 1.0 and 0.0 when clicked |
CScrollbar | Parent must be a ScrollWidget |
CScrollWidget | Handles a container with Scrollbar |
CSequentialLayout | Positions children in a row/column based on their widths/heights |
CSlider | |
CTextField | |
CTooltip | |
CTooltipOverlay | |
►Nwidget | Base UI widget types |
CBaseEvent | Base class for all events |
CEventContext | A per-event state shared and writable by all widgets that recursively handle an event |
CEventState | |
CFramebufferWidget | Caches its children's draw() result to a framebuffer image |
COpaqueWidget | A Widget that stops propagation of all recursive PositionEvents (such as ButtonEvent) but gives a chance for children to consume first |
COpenGlWidget | A FramebufferWidget that can be drawn on with OpenGL commands |
CSvgWidget | Owns and draws a window::Svg |
CTransformWidget | Transforms appearance only, not positions of events |
CTransparentWidget | A Widget that does not respond to events and does not pass events to children |
►CWidget | A node in the 2D scene graph |
CActionEvent | Occurs after a certain action is triggered on a Widget |
CAddEvent | Occurs after a Widget is added to a parent |
CButtonEvent | Occurs each mouse button press or release |
CChangeEvent | Occurs after the value of a Widget changes |
CContextCreateEvent | Occurs after the Window (including OpenGL and NanoVG contexts) are created |
CContextDestroyEvent | Occurs before the Window (including OpenGL and NanoVG contexts) are destroyed |
CDeselectEvent | Occurs when a different Widget is selected |
CDirtyEvent | Occurs when the pixel buffer of this module must be refreshed |
CDoubleClickEvent | Occurs when the left mouse button is pressed a second time on the same Widget within a time duration |
CDragBaseEvent | |
CDragDropEvent | Occurs when the mouse button is released over a Widget while dragging |
CDragEndEvent | Occurs when a Widget stops being dragged by releasing the mouse button |
CDragEnterEvent | Occurs when the mouse enters a Widget while dragging |
CDragHoverEvent | Occurs every frame when the mouse is hovering over a Widget while another Widget (possibly the same one) is being dragged |
CDragLeaveEvent | Occurs when the mouse leaves a Widget while dragging |
CDragMoveEvent | Occurs every frame on the dragged Widget |
CDragStartEvent | Occurs when a Widget begins being dragged |
CDrawArgs | |
CEnterEvent | Occurs when a Widget begins consuming the Hover event |
CHideEvent | Occurs after a Widget is hidden with Widget::hide() |
CHoverEvent | Occurs every frame when the mouse is hovering over a Widget |
CHoverKeyEvent | Occurs when a key is pressed, released, or repeated while the mouse is hovering a Widget |
CHoverScrollEvent | Occurs when the mouse scroll wheel is moved while the mouse is hovering a Widget |
CHoverTextEvent | Occurs when a character is typed while the mouse is hovering a Widget |
CKeyBaseEvent | An event prototype with a GLFW key |
CLeaveEvent | Occurs when a different Widget is entered |
CPathDropEvent | Occurs when a selection of files from the operating system is dropped onto a Widget |
CPositionBaseEvent | An event prototype with a vector position |
CRemoveEvent | Occurs before a Widget is removed from its parent |
CRepositionEvent | Occurs after a Widget's position is set by Widget::setPosition() |
CResizeEvent | Occurs after a Widget's size is set by Widget::setSize() |
CSelectEvent | Occurs when a Widget begins consuming the Button press event for the left mouse button |
CSelectKeyEvent | Occurs when a key is pressed, released, or repeated while a Widget is selected |
CSelectTextEvent | Occurs when text is typed while a Widget is selected |
CShowEvent | Occurs after a Widget is shown with Widget::show() |
CTextBaseEvent | An event prototype with a Unicode character |
CZoomWidget | Resizes the scale of appearance and PositionEvents of children |
►Nwindow | Handles OS windowing, OpenGL, and NanoVG |
CFont | Text font loaded in a particular Window context |
CImage | Bitmap/raster image loaded in a particular Window context |
CSvg | Scalable Vector Graphics document |
CWindow | OS window with OpenGL context |
CContext | Rack instance state |
CDeferWrapper | Defers running code until the scope is destructed |
CException | An exception explicitly thrown by Rack or a Rack plugin |
CQuantity | A controller for manipulating a float value (which subclasses must store somehow) with limits and labels |
CSharedLock | |
CSharedMutex | Allows multiple "reader" threads to obtain a lock simultaneously, but only one "writer" thread |
CWeakBase | Base class for classes that allow WeakPtr s to be used |
CWeakHandle | |
CWeakPtr | A weak pointer to a subclass of WeakBase |