VCV Rack API  v1
rack::app Namespace Reference

Rack-specific GUI widgets and functions that control and offer feedback for the rack state. More...


struct  AudioWidget
struct  CableWidget
struct  CircularShadow
struct  Knob
 Implements vertical dragging behavior for ParamWidgets. More...
struct  LedDisplay
struct  LedDisplayChoice
struct  LedDisplaySeparator
struct  LedDisplayTextField
struct  LightWidget
struct  MenuBar
struct  MidiWidget
struct  ModuleLightWidget
 A MultiLightWidget that points to a module's Light or a range of lights Will access firstLightId, firstLightId + 1, etc. More...
struct  ModuleWidget
 Manages an engine::Module in the rack. More...
struct  MultiLightWidget
 Mixes a list of colors based on a list of brightness values. More...
struct  PanelBorder
struct  ParamWidget
 Manages an engine::Param on a ModuleWidget. More...
struct  PortWidget
 Manages an engine::Port on a ModuleWidget. More...
struct  RackRail
struct  RackScrollWidget
struct  RackWidget
 Container for ModuleWidget and CableWidget. More...
struct  Scene
struct  SliderKnob
struct  SvgButton
struct  SvgKnob
 A knob which rotates an SVG and caches it in a framebuffer. More...
struct  SvgPanel
struct  SvgPort
struct  SvgScrew
 If you don't add these to your ModuleWidget, they will fall out of the rack... More...
struct  SvgSlider
 Behaves like a knob but linearly moves an widget::SvgWidget between two points. More...
struct  SvgSwitch
 A ParamWidget with multiple frames corresponding to its value. More...
struct  Switch
 A ParamWidget that represents an integer. More...


float in2px (float in)
 Converts inch measurements to pixels. More...
math::Vec in2px (math::Vec in)
float mm2px (float mm)
 Converts millimeter measurements to pixels. More...
math::Vec mm2px (math::Vec mm)
MenuBarcreateMenuBar ()
widget::WidgetmoduleBrowserCreate ()


DEPRECATED typedef SvgButton SVGButton
DEPRECATED typedef SvgKnob SVGKnob
DEPRECATED typedef SvgPanel SVGPanel
DEPRECATED typedef SvgPort SVGPort
DEPRECATED typedef SvgScrew SVGScrew
DEPRECATED typedef SvgSlider SVGSlider
DEPRECATED typedef SvgSwitch SVGSwitch
const std::string APP_NAME
const std::string APP_VERSION
const std::string APP_ARCH
const std::string ABI_VERSION
const std::string API_URL
const std::string API_VERSION
static const float SVG_DPI = 75.f
static const float MM_PER_IN = 25.4f
static const float RACK_GRID_WIDTH = 15
static const float RACK_GRID_HEIGHT = 380
static const math::Vec RACK_GRID_SIZE = math::Vec(RACK_GRID_WIDTH, RACK_GRID_HEIGHT)
static const math::Vec RACK_OFFSET = RACK_GRID_SIZE.mult(math::Vec(2000, 100))
static const math::Vec BUS_BOARD_GRID_SIZE = math::Vec(RACK_GRID_WIDTH * 20, RACK_GRID_HEIGHT)

Detailed Description

Rack-specific GUI widgets and functions that control and offer feedback for the rack state.

Function Documentation

◆ in2px() [1/2]

float rack::app::in2px ( float  in)

Converts inch measurements to pixels.

◆ in2px() [2/2]

math::Vec rack::app::in2px ( math::Vec  in)

◆ mm2px() [1/2]

float rack::app::mm2px ( float  mm)

Converts millimeter measurements to pixels.

◆ mm2px() [2/2]

math::Vec rack::app::mm2px ( math::Vec  mm)

◆ createMenuBar()

MenuBar* rack::app::createMenuBar ( )

◆ moduleBrowserCreate()

widget::Widget* rack::app::moduleBrowserCreate ( )

Variable Documentation

◆ SVGButton

DEPRECATED typedef SvgButton rack::app::SVGButton

◆ SVGKnob

DEPRECATED typedef SvgKnob rack::app::SVGKnob

◆ SVGPanel

DEPRECATED typedef SvgPanel rack::app::SVGPanel

◆ SVGPort

DEPRECATED typedef SvgPort rack::app::SVGPort

◆ SVGScrew

DEPRECATED typedef SvgScrew rack::app::SVGScrew

◆ SVGSlider

DEPRECATED typedef SvgSlider rack::app::SVGSlider

◆ SVGSwitch

DEPRECATED typedef SvgSwitch rack::app::SVGSwitch


const std::string rack::app::APP_NAME


const std::string rack::app::APP_VERSION


const std::string rack::app::APP_ARCH


const std::string rack::app::ABI_VERSION


const std::string rack::app::API_URL


const std::string rack::app::API_VERSION


const float rack::app::SVG_DPI = 75.f


const float rack::app::MM_PER_IN = 25.4f


const float rack::app::RACK_GRID_WIDTH = 15


const float rack::app::RACK_GRID_HEIGHT = 380


const math::Vec rack::app::RACK_GRID_SIZE = math::Vec(RACK_GRID_WIDTH, RACK_GRID_HEIGHT)


const math::Vec rack::app::RACK_OFFSET = RACK_GRID_SIZE.mult(math::Vec(2000, 100))


const math::Vec rack::app::BUS_BOARD_GRID_SIZE = math::Vec(RACK_GRID_WIDTH * 20, RACK_GRID_HEIGHT)