diff --git a/Building.md b/Building.md index fbfa33f..95e89c5 100644 --- a/Building.md +++ b/Building.md @@ -6,18 +6,11 @@ Before building Rack or Rack plugins, you must install build dependencies provid Rack's own dependencies (GLEW, glfw, etc) do not need to be installed on your system, since specific versions are compiled locally during the build process. However, you need proper tools to build Rack and these dependencies. -### Mac - -Install [Homebrew](https://brew.sh/), and install build dependencies. -```bash -brew install git wget cmake autoconf automake libtool jq python -``` - ### Windows -If you have an anti-virus program running, disable it or it may interfere with the build process. +If you have an anti-virus program running, disable it or it may interfere with the build process or make builds very slow. -Install the x86_64 version of [MSYS2](http://www.msys2.org/) and launch the MinGW 64-bit shell from the Start menu, *not the default MSYS shell*. +Install [MSYS2](http://www.msys2.org/) and launch the MinGW 64-bit shell from the Start menu, *not the default MSYS shell*. Update the package manager itself: ```bash pacman -Syu @@ -27,6 +20,13 @@ Then restart the shell and install packages. pacman -Su git wget make tar unzip zip mingw-w64-x86_64-gcc mingw-w64-x86_64-gdb mingw-w64-x86_64-cmake autoconf automake mingw-w64-x86_64-libtool mingw-w64-x86_64-jq python ``` +### Mac + +Install [Homebrew](https://brew.sh/), and install build dependencies. +```bash +brew install git wget cmake autoconf automake libtool jq python +``` + ### Linux On Ubuntu 16.04+: @@ -43,7 +43,7 @@ pacman -S git wget gcc gdb make cmake tar unzip zip curl jq python *You do not need to build Rack to build plugins if you use the Rack SDK.* -*If the build fails for you, please [report the issue](Issues.html) to help the portability of Rack.* +*If the build fails for you, please [report the issue](Issues) to help the portability of Rack.* Clone this repository with `git clone https://github.com/VCVRack/Rack.git` and `cd Rack`. Make sure there are no spaces in your absolute path, since this breaks the Makefile-based build system. @@ -72,8 +72,8 @@ Run Rack. Complete the [Setting up your development environment](#setting-up-your-development-environment) section. Plugins can be built in two ways: +- Download an [official Rack build](https://vcvrack.com/Rack) and [the latest Rack SDK](https://vcvrack.com/downloads/), and build plugins anywhere you like. (Easiest/fastest.) - [Build Rack from source](#building-rack) and build plugins in the `plugins/` folder. (Recommended for advanced developers.) -- Download an [official Rack build](https://vcvrack.com/Rack.html) and [the latest Rack SDK](https://vcvrack.com/downloads/), and build plugins anywhere you like. (Easiest/fastest.) Download or clone the plugin source code, e.g. @@ -84,7 +84,7 @@ Clone the git repo's submodules. cd Fundamental git submodule update --init --recursive -If using the Rack SDK, set the `RACK_DIR` environment variable by prefixing each of the following commands with `RACK_DIR=`. +If using the Rack SDK, set the `RACK_DIR` environment variable by running `export RACK_DIR=`. Build plugin dependencies. (Most plugins don't require this step.) @@ -94,10 +94,10 @@ Build the plugin. make -Create a plugin ZIP package. +Create the distributable plugin package. make dist -Or you may build, package, and install plugins to your [Rack user folder](FAQ.html#where-is-the-rack-user-folder) in one step. +Or you may build, package, and install plugins to your [Rack user folder](FAQ#where-is-the-rack-user-folder) in one step. make install diff --git a/Issues.md b/Issues.md index 21d7319..ea074a8 100644 --- a/Issues.md +++ b/Issues.md @@ -1,8 +1,12 @@ # Bugs and Features +VCV offers technical support of commercial VCV plugins by emailing contact@vcvrack.com. + +For technical support of VCV Rack, open-source VCV plugins, and third-party plugins, refer to the correct category below. + ## Bug reports for Rack -If you encounter a bug in VCV Rack (not a plugin), such as a UI issue, broken functionality, hang, or crash, follow these steps. +If you encounter a bug in VCV Rack itself (not a plugin), such as a UI issue, broken functionality, hang, or crash, follow these steps. - Log in or register for a free [GitHub account](https://github.com/). - Search [Rack's issue tracker](https://github.com/VCVRack/Rack/issues?q=is%3Aissue+is%3Aopen+sort%3Areactions-%2B1-desc) to check if someone else has posted a similar bug report. @@ -31,5 +35,6 @@ If approved, the feature is implemented, publicly tested with development builds If a bug or feature request involves a particular plugin for Rack rather than Rack itself, follow these steps. - Search for the plugin on the [VCV Library](https://library.vcvrack.com/). -- If the plugin's source code is hosted on GitHub, open an issue. +- If the plugin's source code or website is hosted on GitHub or GitLab, open an issue in the Issues tab. Accounts on these websites are free. - If not, use the provided contact information by clicking on the email icon or author's website. +- For bug reports, include the plugin's version, your operating system and version, and steps to reproduce the bug. diff --git a/Manifest.md b/Manifest.md index 95f2aa9..06dcae4 100644 --- a/Manifest.md +++ b/Manifest.md @@ -316,6 +316,9 @@ If omitted, the plugin's manual is used. If this module has the [Hardware clone](Manifest#hardware-clone) tag, this is the URL to the [ModularGrid](https://www.modulargrid.net/) page for that module. Example: `"https://www.modulargrid.net/e/mutable-instruments-clouds"` +In a partnership with ModularGrid, modules released to the [VCV Library](https://library.vcvrack.com/) will be linked to and from their ModularGrid page. +For example, [Mutable Instruments Clouds on ModularGrid](https://www.modulargrid.net/e/mutable-instruments-clouds) has an "Available for VCV Rack" link to [Audible Instruments Texture Synthesizer on the VCV Library](https://library.vcvrack.com/AudibleInstruments/Clouds). + ## `.modules[].deprecated` *Boolean. Optional.* diff --git a/Migrate2.md b/Migrate2.md index 6b579e4..6cf1fe9 100644 --- a/Migrate2.md +++ b/Migrate2.md @@ -1,3 +1,48 @@ +# Migrating v1 Plugins to v2 + +The API of VCV Rack v2 has been designed to be nearly backward-compatible with v1 plugins, so updating your plugin to v2 likely only involves the following step and a recompile. + +## Update plugin version to v2 + +The major version number (`vMAJOR.MINOR.REVISION`) of your plugin must match the major version of Rack, so change the version number in your plugin's `plugin.json` manifest to `2`. +For example, change +```json +{ + "slug": "Fundamental", + "version": "1.2.3", + ... +``` +to +```json +{ + "slug": "Fundamental", + "version": "2.0.0", + ... +``` +If you wish, you may keep the minor and revision numbers unchanged, e.g. `2.2.3`. + +Download the latest [Rack v2 SDK](https://vcvrack.com/downloads/). +Clean and compile the plugin. +```bash +export RACK_SDK=/path/to/Rack-SDK +make clean +make dist +``` +If your plugin compiles successfully, you are ready to test and release. +Or, you may take advantage of new v2 features below. + + +## Optional v2 API features + +### Port labels + +TOOD + +### Light labels + +TODO + +### TODO ```bash perl -i -pe 's/(\w+)_PARAM\b/PARAM_$1/g' src/*