VCV Rack API v2
Loading...
Searching...
No Matches
rack::plugin::Plugin Struct Reference

#include <Plugin.hpp>

Public Member Functions

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

Public Attributes

std::list< Model * > models
 List of models contained in this plugin.
 
std::string path
 The file path to the plugin's directory.
 
void * handle = NULL
 OS-dependent library handle.
 
std::string slug
 Must be unique.
 
std::string version
 Your plugin's latest version.
 
std::string license
 The license type of your plugin.
 
std::string name
 Human-readable display name for your plugin.
 
std::string brand
 Prefix of each module name in the Module Browser.
 
std::string description
 A one-line summary of the plugin's purpose.
 
std::string author
 Your name, company, alias, or GitHub username.
 
std::string authorEmail
 Your email address for support inquiries.
 
std::string authorUrl
 Homepage of the author.
 
std::string pluginUrl
 Homepage featuring the plugin itself.
 
std::string manualUrl
 The manual of your plugin.
 
std::string sourceUrl
 The source code homepage.
 
std::string donateUrl
 Link to donation page for users who wish to donate.
 
std::string changelogUrl
 Link to the changelog of the plugin.
 
double modifiedTimestamp = -INFINITY
 Last modified timestamp of the plugin directory.
 

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 ( const std::string & slug)

◆ fromJson()

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

◆ modulesFromJson()

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

◆ getBrand()

std::string rack::plugin::Plugin::getBrand ( )

Member Data Documentation

◆ models

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

List of models contained in 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.

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.

◆ description

std::string rack::plugin::Plugin::description

A one-line summary of the plugin's purpose.

If your plugin doesn't follow a theme, it’s probably best to omit this.

◆ 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.

◆ changelogUrl

std::string rack::plugin::Plugin::changelogUrl

Link to the changelog of the plugin.

◆ 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: