Browse Source

Migrate2 WIP.

pull/44/head
Andrew Belt 4 years ago
parent
commit
bdd8010612
4 changed files with 69 additions and 16 deletions
  1. +14
    -14
      Building.md
  2. +7
    -2
      Issues.md
  3. +3
    -0
      Manifest.md
  4. +45
    -0
      Migrate2.md

+ 14
- 14
Building.md View File

@@ -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. 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. 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 ### 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: Update the package manager itself:
```bash ```bash
pacman -Syu 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 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 ### Linux


On Ubuntu 16.04+: 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.* *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`. 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. 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. Complete the [Setting up your development environment](#setting-up-your-development-environment) section.


Plugins can be built in two ways: 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.) - [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. Download or clone the plugin source code, e.g.


@@ -84,7 +84,7 @@ Clone the git repo's submodules.
cd Fundamental cd Fundamental
git submodule update --init --recursive 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=<Rack SDK dir>`.
If using the Rack SDK, set the `RACK_DIR` environment variable by running `export RACK_DIR=<Rack SDK dir>`.


Build plugin dependencies. (Most plugins don't require this step.) Build plugin dependencies. (Most plugins don't require this step.)


@@ -94,10 +94,10 @@ Build the plugin.


make make


Create a plugin ZIP package.
Create the distributable plugin package.


make dist 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 make install

+ 7
- 2
Issues.md View File

@@ -1,8 +1,12 @@
# Bugs and Features # 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 ## 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/). - 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. - 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. 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/). - 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. - 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.

+ 3
- 0
Manifest.md View File

@@ -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. 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"` 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` ## `.modules[].deprecated`
*Boolean. Optional.* *Boolean. Optional.*




+ 45
- 0
Migrate2.md View File

@@ -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 ```bash
perl -i -pe 's/(\w+)_PARAM\b/PARAM_$1/g' src/* perl -i -pe 's/(\w+)_PARAM\b/PARAM_$1/g' src/*


Loading…
Cancel
Save