| 
| template<class TModule, class TModuleWidget>  | 
| plugin::Model *  | rack::createModel (std::string slug) | 
|   | Returns a Model that constructs a Module and ModuleWidget subclass.  
  | 
| template<class TWidget>  | 
| TWidget *  | rack::createWidget (math::Vec pos) | 
|   | Creates a Widget subclass with its top-left at a position.  
  | 
| template<class TWidget>  | 
| TWidget *  | rack::createWidgetCentered (math::Vec pos) | 
|   | Creates a Widget subclass with its center at a position.  
  | 
| template<class TPanel = app::SvgPanel>  | 
| TPanel *  | rack::createPanel (std::string svgPath) | 
|   | Creates an SvgPanel and loads the SVG from the given path.  
  | 
| template<class TPanel = app::ThemedSvgPanel>  | 
| TPanel *  | rack::createPanel (std::string lightSvgPath, std::string darkSvgPath) | 
|   | Creates a ThemedSvgPanel and loads the light/dark SVGs from the given paths.  
  | 
| template<class TParamWidget>  | 
| TParamWidget *  | rack::createParam (math::Vec pos, engine::Module *module, int paramId) | 
| template<class TParamWidget>  | 
| TParamWidget *  | rack::createParamCentered (math::Vec pos, engine::Module *module, int paramId) | 
| template<class TPortWidget>  | 
| TPortWidget *  | rack::createInput (math::Vec pos, engine::Module *module, int inputId) | 
| template<class TPortWidget>  | 
| TPortWidget *  | rack::createInputCentered (math::Vec pos, engine::Module *module, int inputId) | 
| template<class TPortWidget>  | 
| TPortWidget *  | rack::createOutput (math::Vec pos, engine::Module *module, int outputId) | 
| template<class TPortWidget>  | 
| TPortWidget *  | rack::createOutputCentered (math::Vec pos, engine::Module *module, int outputId) | 
| template<class TModuleLightWidget>  | 
| TModuleLightWidget *  | rack::createLight (math::Vec pos, engine::Module *module, int firstLightId) | 
| template<class TModuleLightWidget>  | 
| TModuleLightWidget *  | rack::createLightCentered (math::Vec pos, engine::Module *module, int firstLightId) | 
| template<class TParamWidget>  | 
| TParamWidget *  | rack::createLightParam (math::Vec pos, engine::Module *module, int paramId, int firstLightId) | 
|   | Creates a param with a light and calls setFirstLightId() on it.  
  | 
| template<class TParamWidget>  | 
| TParamWidget *  | rack::createLightParamCentered (math::Vec pos, engine::Module *module, int paramId, int firstLightId) | 
| template<class TMenu = ui::Menu>  | 
| TMenu *  | rack::createMenu () | 
| template<class TMenuLabel = ui::MenuLabel>  | 
| TMenuLabel *  | rack::createMenuLabel (std::string text) | 
| template<class TMenuItem = ui::MenuItem>  | 
| TMenuItem *  | rack::createMenuItem (std::string text, std::string rightText="") | 
| template<class TMenuItem = ui::MenuItem>  | 
| TMenuItem *  | rack::createMenuItem (std::string text, std::string rightText, std::function< void()> action, bool disabled=false, bool alwaysConsume=false) | 
|   | Creates a MenuItem with an action that calls a lambda function.  
  | 
| template<class TMenuItem = ui::MenuItem>  | 
| TMenuItem *  | rack::createCheckMenuItem (std::string text, std::string rightText, std::function< bool()> checked, std::function< void()> action, bool disabled=false, bool alwaysConsume=false) | 
|   | Creates a MenuItem with a check mark set by a lambda function.  
  | 
| template<class TMenuItem = ui::MenuItem>  | 
| TMenuItem *  | rack::createBoolMenuItem (std::string text, std::string rightText, std::function< bool()> getter, std::function< void(bool state)> setter, bool disabled=false, bool alwaysConsume=false) | 
|   | Creates a MenuItem that controls a boolean value with a check mark.  
  | 
| template<typename T>  | 
| ui::MenuItem *  | rack::createBoolPtrMenuItem (std::string text, std::string rightText, T *ptr) | 
|   | Easy wrapper for createBoolMenuItem() to modify a bool pointer.  
  | 
| template<class TMenuItem = ui::MenuItem>  | 
| TMenuItem *  | rack::createSubmenuItem (std::string text, std::string rightText, std::function< void(ui::Menu *menu)> createMenu, bool disabled=false) | 
|   | Creates a MenuItem that opens a submenu.  
  | 
| template<class TMenuItem = ui::MenuItem>  | 
| TMenuItem *  | rack::createIndexSubmenuItem (std::string text, std::vector< std::string > labels, std::function< size_t()> getter, std::function< void(size_t val)> setter, bool disabled=false, bool alwaysConsume=false) | 
|   | Creates a MenuItem that when hovered, opens a submenu with several MenuItems indexed by an integer.  
  | 
| template<typename T>  | 
| ui::MenuItem *  | rack::createIndexPtrSubmenuItem (std::string text, std::vector< std::string > labels, T *ptr) | 
|   | Easy wrapper for createIndexSubmenuItem() that controls an integer index at a pointer address.  
  |