VCV Rack API  v1
rack::plugin::Plugin Struct Reference

#include <Plugin.hpp>

Public Member Functions

 ~Plugin ()
 
void addModel (Model *model)
 
ModelgetModel (std::string slug)
 
void fromJson (json_t *rootJ)
 

Public Attributes

std::vector< Model * > models
 A list of the models available by this plugin, add with addModel() More...
 
std::string path
 The file path to the plugin's directory. More...
 
void * handle = NULL
 OS-dependent library handle. More...
 
std::string slug
 Must be unique. More...
 
std::string version
 Your plugin's latest version, using the guidelines at https://github.com/VCVRack/Rack/issues/266. More...
 
std::string license
 The license type of your plugin. More...
 
std::string name
 Human-readable display name for your plugin. More...
 
std::string brand
 Prefix of each module name in the Module Browser. More...
 
std::string author
 Your name, company, alias, or GitHub username. More...
 
std::string authorEmail
 Your email address for support inquiries. More...
 
std::string authorUrl
 Homepage of the author. More...
 
std::string pluginUrl
 Homepage featuring the plugin itself. More...
 
std::string manualUrl
 The manual of your plugin. More...
 
std::string sourceUrl
 The source code homepage. More...
 
std::string donateUrl
 Link to donation page for users who wish to donate. More...
 
double modifiedTimestamp = -INFINITY
 Last modified timestamp of the plugin directory. More...
 

Constructor & Destructor Documentation

◆ ~Plugin()

rack::plugin::Plugin::~Plugin ( )

Member Function Documentation

◆ addModel()

void rack::plugin::Plugin::addModel ( Model model)

◆ getModel()

Model* rack::plugin::Plugin::getModel ( std::string  slug)

◆ fromJson()

void rack::plugin::Plugin::fromJson ( json_t *  rootJ)

Member Data Documentation

◆ models

std::vector<Model*> rack::plugin::Plugin::models

A list of the models available by this plugin, add with addModel()

◆ path

std::string rack::plugin::Plugin::path

The file path to the plugin's directory.

◆ handle

void* rack::plugin::Plugin::handle = NULL

OS-dependent library handle.

◆ slug

std::string rack::plugin::Plugin::slug

Must be unique.

Used for saving patches. Never change this after releasing your plugin. To guarantee uniqueness, it is a good idea to prefix the slug by your "company name" if available, e.g. "MyCompany-MyPlugin"

◆ version

std::string rack::plugin::Plugin::version

Your plugin's latest version, using the guidelines at https://github.com/VCVRack/Rack/issues/266.

Do not include the "v" prefix.

◆ license

std::string rack::plugin::Plugin::license

The license type of your plugin.

Use "proprietary" if all rights are reserved. If your license is in the SPDX license list, use its abbreviation in the "Identifier" column.

◆ name

std::string rack::plugin::Plugin::name

Human-readable display name for your plugin.

You can change this on a whim, unlike slugs.

◆ brand

std::string rack::plugin::Plugin::brand

Prefix of each module name in the Module Browser.

If blank, name is used.

◆ author

std::string rack::plugin::Plugin::author

Your name, company, alias, or GitHub username.

◆ authorEmail

std::string rack::plugin::Plugin::authorEmail

Your email address for support inquiries.

◆ authorUrl

std::string rack::plugin::Plugin::authorUrl

Homepage of the author.

◆ pluginUrl

std::string rack::plugin::Plugin::pluginUrl

Homepage featuring the plugin itself.

◆ manualUrl

std::string rack::plugin::Plugin::manualUrl

The manual of your plugin.

HTML, PDF, or GitHub readme/wiki are fine.

◆ sourceUrl

std::string rack::plugin::Plugin::sourceUrl

The source code homepage.

E.g. GitHub repo.

◆ donateUrl

std::string rack::plugin::Plugin::donateUrl

Link to donation page for users who wish to donate.

E.g. PayPal URL.

◆ modifiedTimestamp

double rack::plugin::Plugin::modifiedTimestamp = -INFINITY

Last modified timestamp of the plugin directory.


The documentation for this struct was generated from the following file: